openCL C++ APIがありますが、カーネルのコンパイルに問題があります。カーネルはC言語で記述する必要がありますか?そして、C++で書かれたホストコードだけです。あるいは、私が見つけられないC++でカーネルを書くための方法がありますか?具体的には、pyopenclを使って自分のカーネルをコンパイルしようとしていますが、Cコードとしてコンパイルしているので失敗しているようです。C言語ではなくOpenCLカーネルを書くことはできますか?
答えて
OpenCL C
はC99
のサブセットです。
もOpenCL C++
(OpenCLの2.1とOpenCLの2.2仕様)C++14
のサブセットであるが、それはまだベンダーによって実装いない(部分的にインテルによって実装のOpenCL 2.1なく、C++カーネル)があります。
ホストコードを使用すると、wikipedia上のOpenCLについて読むことができ要するに等のC、C++、パイソン、中
を書き込むことができます。各OpenCLバージョンについての説明があります。 pyopencl
では、OpenCL1.2を使用することができます(私が知っている限り、OpenCL2.0のサポートはまだありません)。 OpenCLについての詳細は、Khronosのウェブサイトをご覧ください。
AMDの実装では、2012年から[拡張](http://developer.amd.com/community/blog/2012/05/21/opencl-1-2-and-c- static-kernel-language-now-available /)を参照してください。 –
@doqtor、現在の状況であなたの答えを更新できますか? – einpoklum
参考として、Boost.Computeもあります。それはpyopenclでは役に立ちませんが、pyopenclが行う多くの問題に対処し、OpenCLカーネルをC++で書くことを容易にするメタプログラミングの魔法をいくつか持っています。
This SO question(Boost.Compute FAQを参照してください)には、OpenCLが開発者にもたらす関連する設計制約の素敵な議論も含まれています。
- 1. カーネル側でネストループを書く方法OpenCL
- 2. OpenCL用のユーティリティツールキットはありますか?シンプルなOpenCLのカーネルを書く
- 3. AWKで言語パーサーを書くことは可能ですか?
- 4. C++ではなくC言語のオブジェクトファクトリ
- 5. C言語でpcreに適切なパターンを書くには
- 6. CでiPhoneのプログラムを書くことはできますか?
- 7. イーサネットベースのネットワークプログラムをC++で書くことはできますか?
- 8. PyOpenClを使ってPythonでOpenClカーネルを書く
- 9. HTML言語でマークダウン言語を書くには? MDファイルに
- 10. C言語の文をVHDLに書く
- 11. 基本的なtracerouteスクリプトをC言語で書く
- 12. 非常に簡単なインタプリタをC言語で書く#
- 13. OpenCLカーネルのベクトルベクタの宣言と定義
- 14. gcc CコンパイラはC言語で書かれていますか?
- 15. は、任意のプログラミング言語で論理ORに分配されますか? (a == b || a == c)をa ==(b || c)と書くことができます
- 16. メリット、デメリット、そして難しい言語を書くために言語を書くこと。
- 17. 何もしないでメモリを占有していないC言語でプログラムを書くことはできますか?
- 18. JVMの言語を書く
- 19. OpenCLカーネルの__のポイントは何ですか?
- 20. ruby on railsは複数の言語で投稿を一度に書くことができます
- 21. このクエリをActiveRecordに書くことはできますか?
- 22. Cでゼロコスト例外処理を書くことはできますか?
- 23. Facebookのようなプログラミング言語のソーシャルネットワークやフォーラムを書くことができますか?
- 24. ユニオンをC言語で自己参照することはできますか?
- 25. GrailsでSpringを書くことはできますか?
- 26. Pythonでスクリーンキャプチャを書くことはできますか?
- 27. 自分のパイプ機能をC言語で書く
- 28. 私自身のシェルをC言語で書く
- 29. C言語でhdfsにファイルを書く(libhdfs)
- 30. Linuxカーネルのパスを書くときに何が起こるのですか
OpenCL CはC99のサブセットです。 C++ 14のサブセットであるOpenCL C++もありますが、まだどのベンダーでも実装されていません。ホストコードはC、C++、Pythonなどで記述できます。コードはどこにありますか? – doqtor
私は答えとしてそれを受け入れるだろう。 OpenCL C++が指定されましたが、まだどのプラットフォームでも実装されていませんか?そして、私はOpenCL Cで自分のカーネルを書かなければなりませんか? –
はい。今のところCです。 – mfa