gpt4 book ai didi

c++ - 在 cuda-kernel 中使用 cuDoubleComplex 进行操作

转载 作者:行者123 更新时间:2023-11-30 02:56:41 25 4
gpt4 key购买 nike

我对 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com