我正在爲我的數學博士在C++中編寫一個科學應用程序,它基於一些重線性代數,主要是BLAS 3級例程。所用矩陣的大小差異很大,理想情況下我希望能夠處理10000或更高的非常大的矩陣。到目前爲止,我已經使用了多線程的英特爾MKL,可以很好地擴展到8個內核。我的算法產生了正確的結果,但是在雙精度算術中,由於採用高功率導致的累積誤差,它非常不穩定。此外,由於我可以訪問大型超級計算機羣集,而且我的算法可以輕鬆擴展到多個節點,所以我希望使用MPI將應用程序擴展到數百個節點。BLAS + Multiple Precision + MPI
我的目標是找一個模板BLAS庫:
支持多種精度運算, 支持多線程, 支持MPI
我發現至今: MTL4 - 矩陣模板庫4似乎要做到以上所有的事情,但是開源版本只能運行在一個核心上,而超級計算版本相當昂貴。
Eigen - 似乎不支持多核?如果與MKL關聯,它是否支持多核和MPI?
犰狳 - 做以上所有?
我將不勝感激任何見解和建議
親切的問候,
瑪麗亞
如果您確定MTL4能夠完美滿足您的需求,我會建議直接聯繫MTL4銷售人員,並要求提供一份免費教育許可證。 –