JCuda - カーネルの記述

ホーム 目次に戻る

JCuda のカーネルは C ソースコードとして記述します。
従って、JCuda は Java と C のハイブリッドシステムとして記述されることになります。

JCudaSimple では各 X 軸について、Y 軸方向に単純に加算しています。

extern "C" __global__
void simpleKernel(float **input, int xsize, int ysize, float *output) {
  const unsigned int x = blockDim.x * blockIdx.x + threadIdx.x;

  if (x &kt; xsize) {
    for (int y = 0; y < ysize; ++y) {
      output[y] += input[x][y];
    }
  }
  __syncthreads();
}
カーネルを呼び出した側で、カーネルの実行を待機するには cuCtxSyncronize() を呼び出します。
Copyright (c) 2017-2019 by TeqStock.tokyo