2009-12-16 34 views
1

我正在尋找一種高效的eigensolver(語言不重要,雖然我會用C#編程),它利用現代CPU中的多核特性。能夠直接與pardiso solver一起工作是一大優點。我的矩陣大多數爲sparse matrix,所以理想的求解器應該能夠利用這個事實並大大提高內存使用率和性能。EigenSolver高效執行

到目前爲止,我只發現LAPACKARPACK。 LAPACK,as implemented in Intel MKL是一個很好的候選者,因爲它提供了多核優化。但似乎LAPACK中的drivers不直接與pardiso求解器一起工作,而且,似乎他們沒有利用稀疏矩陣(但我不確定這一點)。

另一方面,ARPACK似乎很難在Windows環境中設置,並行版本爲PARPACK,doesn't work so well。獎勵點是它可以與pardiso solver一起使用。

最好的方式是英特爾MKL + ARPACK多核加速。不知道是否有任何現有的實現已經做我想做的事情?

回答

0

我已經在C#中實現了它。

這個想法是必須將CSR格式的矩陣格式轉換。然後,可以使用MKL來計算線性方程求解算法(使用pardiso求解器),矩陣向量處理。

1

我正在處理一個需求非常類似於您所述的問題。我正在考慮FEAST: http://www.ecs.umass.edu/~polizzi/feast/index.htm 我試圖使它現在工作,但它似乎是完美的。如果你使用它,我有興趣聽聽你的經驗。 歡呼聲 Ned