日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux python2.7 scipy_scipy.sparse.linalg.sp为Linux系统上的大型稀疏矩阵解决了令人惊讶的行为...

發布時間:2025/3/11 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux python2.7 scipy_scipy.sparse.linalg.sp为Linux系统上的大型稀疏矩阵解决了令人惊讶的行为... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在計算一個線性系統Ax = b的解決方案,其中A具有一個大的(通常200,000行和相關的密集矩陣的列)稀疏矩陣和ba稀疏矩陣,大約100列。

當我在Windows系統上運行代碼(Python2.7,scipy0.14.0)時,以下命令

fromscipy.sparse.linalgimportspsolve...Temp=spsolve(A.tocsc(),b.tocsc())

運行平穩,需要大約7 GB的內存。

在Linux系統上以完全相同的矩陣(完全相同的CPU,相同的RAM內存:64 GB,Linux Mint17.3,python2.7,scipy0.13.3)運行完全相同的代碼需要超過20 GB的內存,并且崩潰以下錯誤消息:

failed with UMFPACK_ERROR_out_of_memory(參見1)

因為此錯誤是依賴于操作系統的,我排除了關于矩陣的任何問題,一個和b(與所提到的一些解決方案,在這個崗位),以及我試圖找到一個解決具體到Linux ...但我不知道從哪里開始...有人會對發生的事情有任何想法嗎?以及為什么這樣的問題特定于Linux系統?

請在下面找到完整的錯誤消息:

Exception in Tkinter callback

Traceback (most recent call last):

File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1489, in __call__

return self.func(*args)

File "...", line 1533, in mmvConstruction

...

File "...", line 1555, in modes_cb

Temp = spsolve(k[inter][:,inter].tocsc(),k[inter][:,exter].tocsc())

File "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/dsolve/linsolve.py", line 151, in spsolve

Afactsolve = factorized(A)

File "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/dsolve/linsolve.py", line 352, in factorized

umf.numeric(A)

File "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/dsolve/umfpack/umfpack.py", line 450, in numeric

umfStatus[status]))

RuntimeError: failed with UMFPACK_ERROR_out_of_memory

更新:仍在嘗試尋找解決方案...看來Linux Mint上BLAS的最新版本相當老:1.8.2。在Windows上,我使用BLAS 1.9.1。使用test_numpy.py此處提供的文件時:https://gist.github.com/osdf/3842524#file-test_numpy-py我注意到Linux和Windows之間存在非常顯著的差異:Linux:版本1.8.2,maxint 9223372036854775807,點:0.76 s -視窗:版本1.9.1,MAXINT 2147483647,點:0037秒。我正在研究Linux上的OPENBLAS是否可以解決此問題...

更新2:我意識到問題可能與硬件有關。確實,一臺舊的PC在相同的Linux Mint發行版(Rosa 17.3)上具有完全相同的庫,可以提供令人滿意的結果。第一次更新中提到的基準在此舊PC上提供了:Linux:版本1.8.2,maxint 9223372036854775807,點:0,054 s。

解決方案

好了,經過深入的研究,我現在確信我遇到的問題與以下事實有關:Linux Mint(Rosa 17.3)可能未針對最新處理器進行優化。

我在帖子更新中提到的比較結果強調該軟件安裝正確。然后,我在PC上安裝了Fedora 23,并按順序安裝:

libblas

蟒蛇

python-scipy

然后,我使用完全相同的矩陣運行了完全相同的代碼,并且沒有任何問題:RAM消耗限制為大約7 GB,這與Windows系統上觀察到的情況類似。

總結

以上是生活随笔為你收集整理的linux python2.7 scipy_scipy.sparse.linalg.sp为Linux系统上的大型稀疏矩阵解决了令人惊讶的行为...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。