私は最近、Linux(ubuntu 10.4、atiCatalyst 10.4、ati sdk v2.1)でいくつかのOpenCLコードを書いており、Linuxでうまく機能しています。
Windows でコードを実行したいときに、プログラム ビルド エラーが発生しました。
「この宣言にはストレージ クラスまたは型指定子がありません」
そして、「グローバル変数はaddrSapce定数で宣言する必要があります」
無効なカーネルを使用しても機能しません。コードにコメントを付けても、同じエラーが発生しました 笑!
サンプル r が正常に動作するのは十分に奇妙です。コードをサンプル プロジェクトにコピーすると、同じエラーが発生しました。
私はWindows 7 32ビット、ati stream sdk v2.1およびv10.6ドライバーを使用しています(Windows用の10.4がどこにも見つからなかったので、10.6はOpenCLをサポートする保証がないので悲しいです。 amdに行きます笑!)
私はすべてのカーネルを切り取り、これだけを残しましたが、それでも同じエラーが発生しました。
__kernel void set_float( __global float* buff ,
float v) {
buff[get_global_id(0)]=v;
}