clGetDeviceIDs/1.0

提供: Tommy6
移動: 案内検索
OpenCL > OpenCLマニュアル > OpenCLランタイム > OpenCLデバイス > clGetDeviceIDs/1.0
OpenCL > OpenCL 1.0 > OpenCLマニュアル/1.0 > OpenCLランタイム/1.0 > OpenCLデバイス/1.0 > clGetDeviceIDs/1.0

cl_int clGetDeviceIDs[1] (cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices)

指定したOpenCLプラットフォーム上の有効なOpenCLデバイスのリストを取得します。

パラメータ

platform
clGetPlatformIDs で取得したプラットフォームIDを指定します。NULL を指定することもできます。platform が NULL のときの振る舞いは実装に依存します。
device_type
取得するOpenCLデバイスのタイプを指定するビットフィールドです。device_type は、特定のOpenCLデバイスを取得するのにも、全ての有効なOpenCLデバイスを取得するのにも用いることができます。有効な値は以下のとおりです。
cl_device_type 解説
CL_DEVICE_TYPE_CPU ホストプロセッサとなっているOpenCLデバイスです。ホストプロセッサはOpenCL実装を動かすもので、シングルあるいはマルチコアのCPUです。
CL_DEVICE_TYPE_GPU GPUです。これは、OpenGLDirectX といった 3D API をアクセラレートするのにも、このデバイスを用いることができることを意味します。
CL_DEVICE_TYPE_ACCELERATOR CELLなどのようなアクセラレータです。こういったデバイスは、PCIe のような接続手段を用いてホストプロセッサをやり取りを行います。
CL_DEVICE_TYPE_DEFAULT システムの既定のOpenCLデバイスです。
CL_DEVICE_TYPE_ALL システム上の有効なOpneCLデバイス全てです。
num_entries
devices に追加可能な cl_device_id エントリの数を指定します。devices が NULL でないのなら、num_entries は0より大きな値でなければなりません。
devices
OpenCLデバイスのリストを返します。devices 内に返された cl_device_id の値は、特定のOpenCLデバイスを指定するのに用いることができます。devices が NULL のとき、この引数は無視されます。返されるOpenCLデバイスの数は、「num_entries で指定した値」と 「device_type と一致するOpenCLデバイスの数」のうち値が小さなほうになります。
num_devices
device_type とマッチする有効なOpenCLデバイスの数を返します。num_devices が NULL のとき、この引数は無視されます。

エラー

platform が有効なOpenCLプラットフォームでないとき、clGetDeviceIDs は CL_INVALID_PLATFORM を返します。device_type が有効な値でないとき、CL_INVALID_DEVICE_TYPE を返します。num_entries が0でかつ platforms が NULL でないとき、あるいは num_platformsplatforms の両方が NULL のとき、CL_INVALID_VALUE を返します。device_type とマッチするOpenCLデバイスがひとつもないとき、CL_DEVICE_NOT_FOUND を返します。実行が成功した場合は CL_SUCCESS を返します。

変更記録

脚注

  1. clGetDeviceIDs は、指定したプラットフォーム内にあり、かつ device_type にマッチする実際の物理デバイスの全てもしくは一部を返します。


―――― Version 1.0, The OpenCL Specification より翻訳