プラットフォームはOpenCLではヘテロジニアスなシステム環境を記述します。プラットフォームは、一つ以上のOpenCLデバイス、各デバイスベンダーが実装したOpenCLフレームワークからなります。
システム上に複数のOpenCL実装ライブラリがある場合や、複数のプロセッサが混在することを考えてください。各デバイスへアクセスするには、利用可能なOpenCLフレームワークを検知しなくてはいけません。プラットフォームは異種のライブラリやデバイスを識別するためのインターフェースであり、まずこのPlatform APIを呼び出してシステム環境の管理をします。
clGetPlatformIDs関数は現在利用可能なOpenCLのプラットフォームの情報を取得します。
詳しくは「表:clGetPlatformIDs」(表B.9「表:clGetPlatformIDs」)を参照ください。
int org.jocl.CL.clGetPlatformIDs(
int num_entries, //(1)
cl_platform_id[] platforms, //(2)
int[] num_platforms) //(3)clGetPlatformInfo関数はOpenCLプラットフォームについてユーザーが指定した情報を取得します。
詳しくは「表:clGetPlatformInfo」(表B.10「表:clGetPlatformInfo」)と「表:cl_platform_info」(表B.11「表:cl_platform_info」)を参照ください。
int org.jocl.CL.clGetPlatformInfo(
cl_platform_id platform, //(1)
int param_name, //(2)
long param_value_size, //(3)
Pointer param_value, //(4)
long[] param_value_size_ret) //(5)詳しくは「表:cl_platform_info」(表B.11「表:cl_platform_info」)を参照ください。
Copyright 2018-2019, by Masaki Komatsu