我需要在我的計算機上執行一些矩陣操作。這些矩陣大1000000x1000000以上,有些操作需要TB內存。顯然這些不能直接加載到內存中並進行計算。我可以用什麼方法在我的電腦上解決這些矩陣?假設使用矩陣優化不能進一步減少矩陣,並且已經以緊湊形式存儲。我正在考慮使用一些內存映射方案,但需要一些想法。有限存儲器上大矩陣上的矩陣操作
4
A
回答
2
兩個建議:
使用mmap2系統調用包含輸入和輸出數據的文件映射。這允許您映射最多2^44個字節的文件,並將它們視爲已經存在內存中。即您只需使用標準指針語法來訪問數據,而操作系統可以在不需要擔心的情況下從磁盤讀取數據或將數據寫入磁盤。不僅如此,而且mmap比手動文件I/O快很多倍 - See this SO post。
閱讀Ulrich Drepper的「What every programmer should know about memory」。他處理的一個示例問題是高度優化矩陣運算。
+0
這是一個比我更好的參考答案。 +1給你先生 – wheaties 2010-09-20 12:20:47
+1
我會給mmap2一個嘗試。謝謝! – user236215 2010-09-21 00:27:08
相關問題
- 1. 矩陣操作?
- 2. 在矩陣中存儲矩陣R
- 3. 矩陣上的Matlab邏輯操作
- 4. Android:ImageView上的矩陣操作,動畫?
- 5. 矩陣操作SciLab
- 6. 如何在Matlab上做矩陣操作?
- 7. 操作存儲在單元陣列中的矩陣 - Matlab
- 8. 大型稀疏矩陣上的快速非負矩陣分解
- 9. 矩陣大小限制
- 10. MATLAB中的矩陣操作
- 11. 矩陣的Python exp操作
- 12. CUDA中的矩陣操作
- 13. MatLab中的矩陣操作
- 14. MySQL的矩陣操作
- 15. 上的操作巨大稠密矩陣在numpy的
- 16. 矩陣中矩陣最大的方塊
- 17. 操作上沒有循環矩陣的所有行,倍頻
- 18. 五維矩陣操作
- 19. Android imageview矩陣操作
- 20. 加速矩陣rowMeans操作
- 21. CUDA基本矩陣加 - 大型矩陣
- 22. 分配存儲到矩陣
- 23. 陣列/矩陣操作出錯
- 24. 做多矩陣的矩陣乘法在一個操作
- 25. Matlab大矩陣
- 26. 在矩陣中存儲矩陣的可視化基礎6
- 27. 我的矩陣有多大?
- 28. iPhone上的GPU大矩陣相乘
- 29. python矩陣的矩陣
- 30. 製作矩陣更大
您是否嘗試過使用64位操作系統並讓虛擬機子系統完成繁重工作? – 2010-09-20 12:14:27
你將這些磁盤存儲在哪些磁盤上? – sbi 2010-09-20 12:18:14
你正在運行什麼操作系統? Win,Linux或符合POSIX標準的基於Unix的系統(如MacOSX)?無論你運行什麼,它應該是保羅指出的相關64位版本。 – 2010-09-20 16:16:41