c - 将与输入 vector 相同的输出传递给 GEMV 以实现破坏性矩阵应用是否安全?

标签 c cuda fortran blas

如果 A 是一个 n x n 矩阵并且 x 是一个 n< 维度的 vector/em>,是否可以将 x 传递给 GEMV 作为 xy 的参数参数,beta=0,实现操作xAx ?

我对具有 C 接口(interface)的 Cublas 实现特别感兴趣。

最佳答案

没有。对于 Fortran,它与实现无关 - 在 Fortran 中,它打破了语言标准,为任何子程序设置了别名实际参数,因为它打破了语言标准除非这些参数是意图(In)。因此,如果接口(interface)具有 Intent(Out)、Intent(InOut) 或没有 Intent 的伪参数,则在调用子程序时应始终为相应的实际参数使用单独的变量。

关于c - 将与输入 vector 相同的输出传递给 GEMV 以实现破坏性矩阵应用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9924948/

相关文章:

c++ - 具有共享内存的 CUDA 矩阵转置

parallel-processing - SM(流式多处理器)、事件 block 和事件扭曲在 GPU 中如何表现?

fortran - Fortran 能否在逻辑运算中强制遵守参数顺序?

c - 如何编码内存图?

c - 双指针字符

CUDA - 启动超时并被终止 - Ubuntu 且无显示

Cmake : file is not copying

c++ - 结构初始化不匹配的变量

c - C中的库函数错误

matrix - 求解受约束的线性方程组