用户
 找回密码
 立即注册
wyckk1987101 该用户已被删除
发表于 2013-4-18 17:56:16
49530
我定义了一个float型的二维数据和float型的二维滤波器,利用CUDA5.0自带的simpleCUFFT代码进行32次的卷积,循环32次
     float a[32][50];(已经初始化)
     float b[32][11];(已经初始化)
将CUDA5.0自带的simpleCUFFT中的代码改动如下:
加了一个32次的循环,将数组中的float型数据赋给信号和滤波器
for (unsigned int pp=0;pp<32;pp++)
{
       Complex *h_signal = (Complex *)malloc(sizeof(Complex) * SIGNAL_SIZE);
       for (unsigned int s=0;s<SIGNAL_SIZE; ++s)
         {
                  h_signal.x =a[pp];
                  h_signal.y =0;
          }
  
        Complex *h_filter_kernel = (Complex*)malloc(sizeof(Complex) * FILTER_KERNEL_SIZE);
  
        for (unsigned int ss=0;ss<FILTER_KERNEL_SIZE; ++ss)
            {
                  h_filter_kernel[ss].x = b[pp][ss];
                  h_filter_kernel[ss].y = 0;
            }
     ...........................
    ............................
后面代码完全一样;
但是出现了如下类型错误:错误都是出现在PadData函数和Conlove函数处;
error:argument of type "Complex *" is incompatible with parameter of type "const float *"
error:argument of type "Complex **" is incompatible with parameter of type "float **"
error:...................
...................


使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录 | 立即注册