例如,cublas<t>geam()
會做:輸入矩陣也可以用來存儲輸出矩陣與CUBLAS?
但是,如果我想將結果存儲在A
反正什麼?我可以用指針*C = *A
,這樣稱呼它:
而不必擔心我可能會寫輸出仍然被讀取作爲輸入矩陣?
如果是這樣,保證我們可以安全地完成所有其他CUBLAS矩陣操作?
例如,cublas<t>geam()
會做:輸入矩陣也可以用來存儲輸出矩陣與CUBLAS?
但是,如果我想將結果存儲在A
反正什麼?我可以用指針*C = *A
,這樣稱呼它:
而不必擔心我可能會寫輸出仍然被讀取作爲輸入矩陣?
如果是這樣,保證我們可以安全地完成所有其他CUBLAS矩陣操作?
答案在cublas文檔中是正常的,因爲您發佈了它 - cublasgeam() - If C overlaps A or B, then behaviour is undefined
。 如果使用C == A
,Nvidia不保證這可以正常工作。
對於這個特定的操作,如果兩個OP都是N(即,你沒有執行轉置),我認爲它是可以的。但是,如樞紐說,文件說,行爲將是未定義的。因此,最好在安全方面犯錯,並使用額外的空間。 – 2013-05-02 04:47:54