4

POCL(Portable Computing Language)とOpenCLの違いとPOCLのメリットは? http://pocl.sourceforge.net/

POCL には、OpenCL とは異なる C ライクな言語、別のコンパイラ (Clang> = 3.2)、別のバックエンド (llvm)、より優れた移植性、または何か他のものがありますか?

また、(ハードリンク) OCL を使用する必要があるとき、および ICD を使用する必要があるときは? http://streamcomputing.eu/blog/2013-07-08/installing-and-using-pocl/

4

2 に答える 2

3

Pocl は、他の opencl プラットフォームと同様です。x86/arm およびその他の多くのシステムで opencl cpu デバイスを提供します。cl_gl共有などの機能がないことを除いて、opencl 1.2標準にほぼ準拠しています。clang/llvmを使用して、すべてのCPUコアとCPU内のベクトルユニットを利用します。

opencl は仕様であり、pocl はこの仕様を実装して、CPU デバイスを備えたプラットフォームを提供します。

ICD に来て、複数の opencl プラットフォームがインストールされている場合、ICD に対してリンクします。khronos http://www.khronos.org/registry/cl/specs/opencl-icd-1.2.11.0.tgzからこの icd コードをコンパイルすると、任意の opencl プラットフォームをロードできる icd ローダーが得られます。libpocl.so などのプラットフォーム「.so」へのハードリンクは可能ですが、インストールされている他のプラットフォームは clGetPlatformIDs 呼び出しでは表示されません。だからICDの方がいい

于 2013-09-10T10:11:35.743 に答える
3

OpenCL は、Khronos によって維持されている仕様です。AMD、NVIDIA、Intel、Apple などのベンダーからの多くの実装があります。OpenCL の実装であると自称するには、ベンダーは適合性テストに合格し、Khronos のメンバーになる必要があります。

POCL (Portable Computing Language、以前の Portable OpenCL) は、OpenCL に非常によく似たもののオープンソース実装ですが、進行中の作業であり、適合テストに合格していないため、実際にはまだ OpenCL の実装ではありません。将来一つになることを目指し、幸運を祈る彼らを集めました。

したがって、違いがあります。1つは仕様であり、もう1つはその仕様の実装を目指しています。

OpenCL との互換性を目指すのであれば、POCL はカーネルに同じ C99 ベースの言語を使用していると思います。

POCL の詳細: http://pocl.sourceforge.net/

于 2013-08-23T00:15:44.983 に答える