我想创建一个内核,将两个5x5 2d数组的列的均值添加到第三个1d数组中。
逻辑:
for(int j=0; j<N; j++)
{
float suma = 0;
for(int i=0; i<N; i++)
suma += a[i][j] + b[i][j];
c[j] = suma / N;
cout<<c[j]<<endl;
}
答案 0 :(得分:1)
计算(1,)=平均值((:,))+平均值((:,))的Cuda内核:
__global__ void meanKernel(float *c,float *a, float *b)
{
int col = blockIdx.x* blockDim.x + threadIdx.x;
float sum = 0;
if (col<N)
{
for (int i=0; i<N; i++){
sum += a[i*5+col] + b[i*5+col];
c[col] = sum/5;
}
}
}