Intel HD Graphics 4000 GPU で Intel SDK for OpenCL を使用して、OpenCL プログラムを正常に実行しています。Nvidia ライブラリもインストールされているので、Intel OpenCL ライブラリにリンクするようにしました。
ただし、カーネルに呼び出しを入れるprintf()
と、OpenCL コンパイラ エラーが発生します。
エラー: 関数 'printf' の暗黙的な宣言は、OpenCL では許可されていません
また、Visual Studio 2012 プラグインで OpenCL カーネル デバッグを有効にし、次のオプションを clBuildProgram に渡しました。
"-g -s C:\\Path\\to\\my\\program.cl"
ただし、カーネル ブレークポイントはスキップされます。ブレークポイントにカーソルを合わせると、次のメッセージが表示されます。
ブレークポイントは現在ヒットしません。このドキュメントのシンボルは読み込まれていません。
私のカーネルは別の .cl ファイルにあり、C/C++ コードの場合と同じ方法でブレークポイントを設定しています。これは、Intel SDK for OpenCL デバッガーを使用してブレークポイントを設定する正しい方法ですか?
printf()
呼び出しとブレークポイントが Intel SDK for OpenCL で機能しないのはなぜですか?