2009-12-02 38 views
4

整數類型是否存在等價於dgemm(來自BLAS)? 我只知道雙精度/單精度矩陣的dgemm,sgemm,但希望將它用於整型(如int(或short int ...))的矩陣。使用BLAS的積分類型的矩陣乘法

注:我不是在尋找一種解決方案,涉及轉換爲浮點/雙精度,並且正在尋找一個快速的庫實現。

此外,dgemms的相同問題(使用strassen算法)。

回答

2

BLAS算法本身不支持整數類型。

+0

這就是我所懷疑的,但是有沒有其他的庫可以做到這一點?即使在沒有溢出檢查的情況下對unisgned chars的簡單實現比雙倍使用dgemm慢10倍。我希望有一種方法可以1)避免涉及轉換爲中間浮點類型的內存+時間瓶頸。 – spirov 2009-12-02 02:53:10

+1

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

3

您沒有指定編程語言。在C++中,您可以與矩陣庫進行交互,如Eigen(免責聲明:我與此項目相關聯)。 Eigen使用矢量化,所以它應該是相當快 - 確保你enable vectorization - 但我沒有做任何實驗,所以我不知道。有一些複雜的alignment issues可能是你的問題,但我不熟悉它們。

This SO question討論了各種C++矩陣庫,主要是在計算機圖形學的上下文中。