十分に単純である必要があります。私は文字通り、C関数がここにあるSourceModuleカーネル宣言にintを送信したいと思います
__global__......(int value,.....)
値が宣言されて呼び出されます...
value = 256
...
...
func(value,...)
しかし、間違ったタイプを使用しているというpycudaからさまざまなエラーが発生します。
標準のPyCUDA関数インターフェイスでは、内部で内部的にCタイプへのマッピングを行うため、引数にnumpydtypesが必要です。したがって、値によって渡されるスカラー引数の場合、最初に適切なnumpydtypeに「キャスト」する必要があります。何かのようなもの
value = 256
va = numpy.int32(value)
func(va)
動作するはずです。単精度浮動小数点値または配列を渡す場合は、np.float32のdtypeを明示的に使用してください。これは、numpyがデフォルトで倍精度を使用し、同様のエラーが発生するためです。