1
CUDAでfloat2データ型を使用しているときに読み込みを合併できません。CUDA float2 coalescing
私はビジュアルプロファイラで実行する簡単な例を作成しようとしましたが、常に非一貫性のある読み込みを返します。もし誰かがこれにいくつかの光を当てることができれば、本当に感謝します、ありがとう。
#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;
}
どのカード、smアーキテクチャ? – fabrizioM
8800 GTXおよびCompute 1.0 – Ljdawson