jcudaで共有メモリを使用して、非常に単純なことをしようとしています。私のカーネル:
__shared__ int testMe;
extern "C"
__global__ void test() {
testMe = 5;
}
共有メモリをグローバルにすると、デバイス関数で使用できるようになりますが、残念ながら、共有メモリをグローバルに宣言することさえできません。カーネルが起動できないという問題で Cuda がクラッシュするだけです。私もやってみました:
extern __shared__ int test
ただし、nvcc コンパイラは、共有メモリを外部リンクできないというエラーを返します。カーネルの記述を容易にするためにこれを機能させたいのですが、方法がわかりません。