2016-08-31 26 views
0

我試圖實現像cublas<>gemmBatched scipy.sparse.bsr_matrix操作的東西。不幸的是我不能用cusparse來做這件事,因爲我的BSR矩陣不是方形的。cublas <> gemmBabched與別名Carray參數

我是新來的CUBLAS,我不知道它是否OK(正確明智和性能明智)使用別名指針(如pointer aliasing)陣列float * Carray[]

例如

/* given float * out as the real output array */ 
float * Carray[] = { 
    out + 1*stride, out + 2*stride, out + 3*stride, 
    out + 1*stride, out + 2*stride, out + 3*stride, 
    /* and repeat */ 
}; 

而且,雖然我敢肯定,這將是正確的,如果我使用別名AarrayBarray,沒有任何性能影響?

謝謝!

回答

1

一般來說,CUBLAS中的這種混疊是沒有問題的。實際上,這是處理子矩陣的正常方法,大多數LAPACK類型的求解器使用指針索引或別名來廣泛地在矩陣上執行子塊操作。

我不認爲這樣工作會造成性能損失,至少對於批處理解算器來說,儘管唯一可以確定的方法是通過基準測試,這對於測試自己來說可能是微不足道的。

相關問題