プラットフォームは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