CUDA float2合并

时间:2010-12-08 18:47:11

标签: cuda

在CUDA中使用float2数据类型时,我无法合并读取。

我试图在视觉分析器中运行一个简单的例子,但它总是返回非合并的读取。如果有人能对此有所了解,我将非常感激,谢谢。

#include <stdio.h>
#include <cuda_runtime_api.h>

__global__ void kernel(float2 *in, float2 *out) {
        int idx=blockIdx.x*blockDim.x+threadIdx.x;
        float2 d=in[idx];
        d.x = 100.f;

        out[idx] = d;
}

int main() {
  const int dataSize=32;
  float2 *in;
  cudaMalloc((void**)&in,dataSize*sizeof(float2));

  float2 *out;
  cudaMalloc((void**)&out,dataSize*sizeof(float2));
  kernel<<<1,32>>>(in,out);
  return 0;
}

1 个答案:

答案 0 :(得分:1)

我在NVIDIA论坛上问过这个问题。结果显示加载向量未在调试模式下优化。 Forums