2

多くのopenclカーネルを呼び出すライブラリを構築しました。すべてのカーネルは次を渡します。

-oclLoadProgSource
-clCreateProgramWithSource
-clBuildProgram
-clCreateKernel

問題は、これらのカーネルの 1 つを を使用して起動するとclEnqueueNDRangeKernel、次のエラーが発生することです。CL_INVALID_PROGRAM_EXECUTABLE

そんなこと知ってる:

  • 他の 5 つのカーネルが以前に正常に起動されました。
  • ソース コードを (ライブラリ経由ではなく) 直接使用すると、このような問題はまったく発生せず、すべて正常に動作します。
4

1 に答える 1

2

clBuildProgramによって返されるステータスをテストする必要があります。失敗した場合は、 clGetProgramBuildInfo(...,CL_PROGRAM_BUILD_LOG,...) でコンパイラの診断を取得します。

于 2013-08-05T19:47:35.973 に答える