AMD的ACML是一個免費下載,但它是二進制的,而不是開源的,本地代碼,而不是.NET。
性能一般優於Netlib.org代碼,並且通常與英特爾的MKL大致相同 - 這不是免費的IIRC。
下載包含一個演示如何將其綁定到C#的示例。與從C#中調用任何其他C或C++庫沒什麼不同。
庫實現BLAS,LAPACK,FFT和RNG。
http://developer.amd.com/cpu/Libraries/acml/downloads/pages/default.aspx
編輯迴應評論:
在Intel CPU,AMD的ACML將執行大約以及英特爾的MKL,但它依賴於算法,矩陣大小,核心數量,內存拓撲和速度等等等等。您的里程可能會有所不同。唯一可以肯定的方法是運行自己的基準。在某些情況下,即使在Itel硬件上,ACML也比MKL更快。
對於大矩陣,其中任何一個都將顯着快於任何「天真」實現。兩者都被設計爲在多核處理器上使用多線程,並且具有手動調整的彙編語言內核以及大量針對各種機器上的緩存行爲的調整。
對於小的矩陣,性能通常是不在乎的,因爲任何現代cpu都可以在幾毫秒內解決一個小的matix,即使使用最簡單的代碼。在這種情況下,您只使用庫來避免編寫和調試已經寫入數百次的代碼。
所以,如果我的目標是英特爾CPU,AMDS ACML的性能不如英特爾MLK,但仍然比天真的C#實現更好? – 2009-09-18 11:10:07
嗯,你的編輯很矛盾的答案[這裏](http://stackoverflow.com/questions/1644905/intel-mkl-vs-amd-math-core-library)。他們也提到很好[來源](http://www.advancedclustering.com/company-blog/high-performance-linpack-on-xeon-5500-v-opteron-2400.html)...不確定這編輯是正確的答案......但你是對的,至少ACML是免費的... – 2013-02-28 08:16:05