実現したいこと
OpenCLで並列処理のカーネルをプログラムしています。
コンピューターに見つかった並列処理デバイスはIntel HD Graphics 4000 と、 Core(TM) i7-3540M CPU の2種類です。
グラボは使用していません。
プログラムのコンパイルは、動作ターゲットがi7CPUの場合は問題無く成功しますが、同じプログラムコードなのにターゲットをIntel HD Graphicsにするとエラーが出ます。
↓コンパイルエラーのメッセージ
fcl build 1 succeeded.
fcl build 2 succeeded.
Error: internal error.
これでは、どの行にエラーの原因があるか分かりません。
カーネルのソースコードは135行、文字数で約4,000文字あります。
ソースコードを半分に減らしてテストするとコンパイルが通ることから、ソースコードの容量がエラーに関係していると思われます。
但し、この程度の容量では、現在設計しているプロジェクトが実現できません。(ソースコードに盛り込みたいことは、この8倍は必要です。)
OpenCL バージョンは1.2です。
教えていただきたいことは、
(1)このエラーの原因
(2)動作ターゲットがIntel HD Graphicsの場合の、ソースコードの限界容量や、処理の複雑さの限界はどのように定められているのか知りたいです。
よろしく御回答をお願いします。
なお、解決に向けてネットで検索しましたが、有用な情報は見つかりませんでした。
発生している問題・分からないこと
記載済みです。
ーーーーーーーーーーーーーーーーー
エラーメッセージ
error
1記載済みです。 2ーーーーーーーーーーーーーーーーー
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
記載済みです。
ーーーーーーーーーーーーーーーーー
補足
特になし
回答2件
あなたの回答
tips
プレビュー