例如,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