私は宿題プロジェクトに取り組んでおり、CPUとGPUでの高速フーリエ変換のパフォーマンスを比較しています。CPU部分は終わりましたが、GPUでは問題があります。
問題は、カーネルランタイムがゼロであり、入力が出力イメージと同じであるということです。私はAMDAPPSDKを使用してwin7でVS2010を使用しています。これがホストコード、カーネル、画像を処理するための追加ヘッダー です。これらはOpenCLプログラミングブック(土山亮二…)にあります。
私の推測では、エラーは画像のピクセルからcl_float2 *xm
(ホストコードの169〜174行目)に値を渡すフェーズにあります。ベクトルコンポーネントにアクセスしてチェックすることができません。コンパイラが受け入れない.sX
か.xy
、エラーをスローします。他の部分–カーネル、ヘッダー…–私には問題ないようです。
for (i=0; i < n; i++) {
for (j=0; j < n; j++) {
((float*)xm)[(2*n*j)+2*i+0] = (float)ipgm.buf[n*j+i]; //real
((float*)xm)[(2*n*j)+2*i+1] = (float)0; //imag
}
}
だから皆さんが私を助けてくれることを願っています。任意のアイデアをいただければ幸いです。