ラップトップ CPU (i5-3427U) で完全に動作するカーネルがあります。現在、組み込みの GPU (HD 4000) で実行できるようにしようとしています。
完全なエラーはここにありますが、私はそれの多くを作ることができません. (私の目には)興味深い部分は、次のビルドに失敗することです。
unsigned int dist_histogram[n_bins];
for (i = 0; i < n_bins; i++) {
dist_histogram[i] = 0;
}
for (i = 0; i < n_bins; i++) {
atomic_add(&g_r[i], dist_histogram[i]);
}
しかし、これはビルドして実行します:
unsigned int dist_histogram[n_bins];
for (i = 0; i < n_bins; i++) {
dist_histogram[i] = 0;
atomic_add(&g_r[i], dist_histogram[i]);
}
何が起きてる?
完全なカーネルがここに貼り付けられます。OSは64ビットOS X 10.9.2です。他の方法で下の 3 つのループをいじってみましたが、うまくいきませんでした。この問題は、何かにアクセスしdistances
たり、値を調整したりすることに関係しているようですdist_histogram
が、最初に投稿した例がビルドに失敗する理由がわかりません。