3

私は Cuda プログラミングが初めてで、Cell Code の Particle で運試しをしています。しかし、最初の問題は、パーティクル ムーバーを作成することです。しかし、このコードをコンパイルしようとすると、次のようなエラー メッセージが表示されます。

エラー: 式には整数型または列挙型が必要です / 警告: 式は効果がありません。

私のコード:

__global__ void kernel(int* x, int* x_1, int* E_x, int* t, int* m)
{
    int idx = 0;
    if (idx < N)
        // move particles
        x_1[idx] = (E_x[idx] / m[1]) * t[1] * t[1] + x[idx];
}

kernel<<1,1>>( dev_x , dev_x_1, dev_E_x , dev_t, dev_m );

整数は次のように定義されます。

int x[N], x_1[N], v_x[N], v_y[N], v_z[N], E_x[N], m[1], t[1];
int *dev_x, *dev_v_x, *dev_x_1, *dev_v_y, *dev_v_z, *dev_E_x, *dev_m, *dev_t;
4

1 に答える 1

4

問題の 1 つは、カーネル起動パラメーターで適切な三重シェブロン構文ではなく、二重シェブロン構文を使用していることです。これの代わりに:

kernel<<1,1>>( dev_x , dev_x_1, dev_E_x , dev_t, dev_m );

これを行う:

kernel<<<1,1>>>( dev_x , dev_x_1, dev_E_x , dev_t, dev_m );
于 2012-12-26T22:53:45.517 に答える