整數類型是否存在等價於dgemm(來自BLAS)? 我只知道雙精度/單精度矩陣的dgemm,sgemm,但希望將它用於整型(如int(或short int ...))的矩陣。使用BLAS的積分類型的矩陣乘法
注:我不是在尋找一種解決方案,涉及轉換爲浮點/雙精度,並且正在尋找一個快速的庫實現。
此外,dgemms的相同問題(使用strassen算法)。
整數類型是否存在等價於dgemm(來自BLAS)? 我只知道雙精度/單精度矩陣的dgemm,sgemm,但希望將它用於整型(如int(或short int ...))的矩陣。使用BLAS的積分類型的矩陣乘法
注:我不是在尋找一種解決方案,涉及轉換爲浮點/雙精度,並且正在尋找一個快速的庫實現。
此外,dgemms的相同問題(使用strassen算法)。
BLAS算法本身不支持整數類型。
您沒有指定編程語言。在C++中,您可以與矩陣庫進行交互,如Eigen(免責聲明:我與此項目相關聯)。 Eigen使用矢量化,所以它應該是相當快 - 確保你enable vectorization - 但我沒有做任何實驗,所以我不知道。有一些複雜的alignment issues可能是你的問題,但我不熟悉它們。
This SO question討論了各種C++矩陣庫,主要是在計算機圖形學的上下文中。
這就是我所懷疑的,但是有沒有其他的庫可以做到這一點?即使在沒有溢出檢查的情況下對unisgned chars的簡單實現比雙倍使用dgemm慢10倍。我希望有一種方法可以1)避免涉及轉換爲中間浮點類型的內存+時間瓶頸。 – spirov 2009-12-02 02:53:10
http://portal.acm.org/citation.cfm?id=1073899&dl=GUIDE&coll=GUIDE&CFID=64924169&CFTOKEN=87018353 這是acm發表的關於blas的精確線性代數的一些研究的鏈接。您可能會詢問作者如何獲取他們開發的庫。 – Paul 2009-12-03 18:43:14