9
我正在做一些計算,並對不同的BLAS實現的力量和弱點做了一些分析。但是我遇到了一個問題。如何使用blas以最佳方式轉置矩陣?
我正在測試cuBlas,在GPU上做linAlg看起來是個不錯的主意,但有一個問題。
cuBlas實現使用列專業格式,因爲這不是我最終需要的,我很好奇,如果有一種方法可以使BLAS做矩陣轉置?
我正在做一些計算,並對不同的BLAS實現的力量和弱點做了一些分析。但是我遇到了一個問題。如何使用blas以最佳方式轉置矩陣?
我正在測試cuBlas,在GPU上做linAlg看起來是個不錯的主意,但有一個問題。
cuBlas實現使用列專業格式,因爲這不是我最終需要的,我很好奇,如果有一種方法可以使BLAS做矩陣轉置?
BLAS沒有內置矩陣轉置例程.CUDA SDK包含一個矩陣轉置例子和一篇論文,其中討論了執行轉置的最佳策略。你最好的策略是使用調用的轉置輸入版本對CUBLAS使用行主輸入,然後在主專欄中執行中間計算,然後使用SDK轉置內核最後執行轉置操作。
編輯以添加CUBLAS加入CUBLAS 5版,geam
轉置程序,它可以在GPU內存進行矩陣轉置,並應被視爲最適合任何建築所使用。
「....因爲這不是最終.....」。缺少幾個字? – talonmies
從CUDA 5.0開始,cuBLAS有'cublas geam'這是一個非常有效的例程來執行矩陣轉置。有關實現此解決方案的完整代碼,並將性能與使用Thrust的矩陣轉置進行比較,請參見[在CUDA中轉置矩陣的最有效方法是什麼?](http://stackoverflow.com/questions/15458552/what-is-的最高效的單向到轉置-一個矩陣中-CUDA/21803459#21803459)。 –
JackOLantern