作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 cuda 内核的实现有疑问。
我生成了一个 cude 内核,我想在其中添加 cuDoubleComplex 变量的元素。稍后我还想对元素进行一些乘法运算。
我尝试了几种方法,但找不到解决方案。
我的职能是:
__global__ void process(double *fieldRange, double *fieldAzimut, double **recPosition, double **transPosition, double *TimeAxisPulse, double timeStep, cuDoubleComplex *rawData, int nmbrPulses, int nmbrSamples, double carrierFrequency, cuDoubleComplex *result)
我尝试做类似的事情
result[tid]=result[tid]+newValue
其中 newValue 也是一个 cuDoubleComplex。我尝试使用 cublasZaxpy 函数,但我被告知不允许从全局函数调用主机函数
我该怎么做才能使用 cuDoubleComplex 变量在内核中进行简单的加法?
最佳答案
您可以调用函数 cuCadd
,例如:
result[tid]=cuCadd(result[tid],newValue);
还要确保你有 #include "cuComplex.h"
或 #include <cuComplex.h>
以您的路径设置为准。
关于c++ - 在 cuda-kernel 中使用 cuDoubleComplex 进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15270449/
我对 cuda 内核的实现有疑问。 我生成了一个 cude 内核,我想在其中添加 cuDoubleComplex 变量的元素。稍后我还想对元素进行一些乘法运算。 我尝试了几种方法,但找不到解决方案。
我是一名优秀的程序员,十分优秀!