Ядро Cuda для вычисления среднего значения столбца 2d массива - PullRequest
0 голосов
/ 21 января 2019

Я хочу создать ядро, которое добавляет средства столбцов двух 2x5-массивов 5x5 в третий 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;
}

1 Ответ

0 голосов
/ 26 января 2019

Ядро Cuda, которое вычисляет ? (1, ?) = среднее (? (:, ?)) + среднее (? (:, ?)):

 __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;
       }
      }

 }
...