输入矩阵也可以用于存储输出矩阵和CUBLAS吗?

输入矩阵也可以用于存储输出矩阵和CUBLAS吗?,c,cuda,gpgpu,cublas,C,Cuda,Gpgpu,Cublas,例如,您可以: 但是如果我想将结果存储在A中怎么办?我可以用指针*C=*A来调用它吗 不用担心,我可能正在将输出写入一个矩阵,而该矩阵仍然作为输入读取 如果是这样的话,我们可以保证安全地对所有其他CUBLAS矩阵操作执行此操作吗?答案在CUBLAS文档中是正确的,正如您所发布的---如果C与A或B重叠,则行为是未定义的。 Nvidia不会保证这会起作用,如果C==A答案在cublas文档中是正确的,正如您发布的---如果C与A或B重叠,那么行为是未定义的。 Nvidia不保证这将起作用,如果

例如,您可以:

但是如果我想将结果存储在
A
中怎么办?我可以用指针
*C=*A
来调用它吗

不用担心,我可能正在将输出写入一个矩阵,而该矩阵仍然作为输入读取


如果是这样的话,我们可以保证安全地对所有其他CUBLAS矩阵操作执行此操作吗?

答案在CUBLAS文档中是正确的,正如您所发布的---
如果C与A或B重叠,则行为是未定义的。

Nvidia不会保证这会起作用,如果
C==A
答案在cublas文档中是正确的,正如您发布的---
如果C与A或B重叠,那么行为是未定义的。

Nvidia不保证这将起作用,如果
C==A

对于这一特定操作,我认为如果两个操作都为N(即,您没有执行转置),这是可以的。但是正如hubs所说,文档中说行为将是未定义的。因此,最好是在安全方面出错,并使用额外的空间。对于这个特定的操作,我认为如果两个操作都为N(即,您没有执行转置),则可以。但是正如hubs所说,文档中说行为将是未定义的。因此,最好是出于安全考虑,使用额外的空间。其他CUBLAS例程也不能保证在适当的位置工作。@talonmies感谢您的添加。我从答案中删除了错误的部分。啊,谢谢。我实际上使用的是cublasgemm()的3级版本,只是碰巧使用了扩展版本作为示例,所以我错过了那句话-噢!其他CUBLAS例程也不能保证正常工作。@Talonmes感谢您的添加。我从答案中删除了错误的部分。啊,谢谢。我实际上使用的是cublasgemm()的3级版本,只是碰巧使用了扩展版本作为示例,所以我错过了那句话-噢!