表D.1 表:ランタイムエラー一覧
コード | OpenCLエラーフラグ | 関数 | 詳細 |
0 | CL_SUCCESS | 成功した場合の戻り値 | |
-1 | CL_DEVICE_ NOT_FOUND | clGetDeviceIDs | device_typeにマッチ したOpenCLデバイスが 見つからない場合。 |
-2 | CL_DEVICE_ NOT_AVAILABLE | clCreateContext | devices内のデバイス が、clGetDeviceIDsで 返されたデバイスであ るものの現在利用可能で ない場合。 |
-3 | CL_COMPILER_ NOT_AVAILABLE | clBuildProgram | programがclCreate ProgramWithSourceで 生成され、コンパイラが 使用できない場合。(CL_ DEVICE_COMPILER_ AVAILABLEがCL_FALSEに 設定されている場合) |
-4 | CL_MEM_OBJECT _ALLOCATION_FAILURE | バッファオブジェク トのメモリを割り当てる のに失敗した場合。 | |
-5 | CL_OUT_ OF_RESOURCES | デバイス上のOpenCL 実装が必要とするリソース 確保に失敗した場合。 | |
-6 | CL_OUT_OF_ HOST_MEMORY | ホスト上のOpenCL 実装が必要とする リソース確保に失敗 したとき。 | |
-7 | CL_PROFILING_ INFO_NOT_AVAILABLE | clGetEventProfilingInfo | command-queueに CL_QUEUE_PROFILING_ ENABLEが設定されて ない場合。 イベントに識別されるコマ ンドの実行ステータスが CL_COMPLETEでない場合。 イベントがユーザイベント オブジェクトの場合。 |
-8 | CL_MEM_ COPY_OVERLAP | clEnqueueCopyBuffer, clEnqueueCopyBufferRect, clEnqueueCopyImage | src_bufferとdst_buffer が同じバッファオブジェクト またはサブバッファオブ ジェクトで、かつ複製元と 複製先の領域が重なって いる場合。 src_bufferとdst_buffer が同じ関連付けされた バッファオブジェクトの 異なるサブバッファで、 領域が重なる場合。 src_offset <= dst_offset <= src_offset + size – 1 で、領域が重なる場合。 dst_offset <= src_offset <= dst_offset + size – 1 で、領域が重なる場合。 |
-9 | CL_IMAGE_ FORMAT_MISMATCH | clEnqueueCopyImage | src_imageとdst_image が同じイメージ型式でない場合。 |
-10 | CL_IMAGE_FORMAT_ NOT_SUPPORTED | clCreateImage | image_formatが サポートされてない場合。 |
-11 | CL_BUILD_ PROGRAM_FAILURE | clBuildProgram | 実行可能プログラムの ビルドに失敗した場合。 |
-12 | CL_MAP_FAILURE | clEnqueueMapBuffer, clEnqueueMapImage | 指定された領域のホスト アドレス空間へのマップに 失敗した場合。このエラー は、CL_MEM_USE_HOST_PTR またはCL_MEM_ALLOC_ HOST_PTRを指定して生成し たバッファオブジェクトで は発生しない。 |
-13 | CL_MISALIGNED_ SUB_BUFFER_OFFSET | bufferがサブバッ ファオブジェクトで、 このサブバッファオブ ジェクトを生成する際 に指定したオフセットが command_queueと関連 付けられたデバイスの CL_DEVICE_MEM_BASE_ ADDR_ALIGNにアライン されていない場合。 | |
-14 | CL_EXEC_STATUS_ ERROR_FOR_EVENTS_ IN_WAIT_LIST | マップ操作がブロッ キングで、event_wait_ list内のイベントのい ずれかの実行状況が負の 整数値の場合。 | |
-15 | CL_COMPILE_ PROGRAM_FAILURE | clCompileProgram | プログラムソースのコン パイルに失敗した場合。 |
-16 | CL_LINKER_ NOT_AVAILABLE | clLinkProgram | リンカーが利用可能で ない場合。CL_DEVICE_ LINKER_AVAILABLEが CL_FALSE。 |
-17 | CL_LINK_ PROGRAM_FAILURE | clLinkProgram | コンパイル済みバイナ リないしはライブラリを リンクするのに失敗し た場合。 |
-18 | CL_DEVICE_ PARTITION_FAILED | clCreateSubDevices | パーティション名は 実装がサポートするが、 in_deviceがこれ以上 分割できない場合。 |
-19 | CL_KERNEL_ ARG_INFO_ NOT_AVAILABLE | clGetKernelArgInfo | 引数情報がカーネル で利用可能でない場合。 |
表D.2 表:コンパイルタイムエラー一覧
コード | OpenCL エラーフラグ | 関数 | 詳細 |
-30 | CL_INVALID_ VALUE | clGetDeviceIDs, clCreateContext | 関数に依存しますが、 2つ以上の一対の(結合 した)パラメーターに エラーがあります。 |
-31 | CL_INVALID_ DEVICE_TYPE | clGetDeviceIDs | device_typeが 無効な場合。 |
-32 | CL_INVALID_ PLATFORM | clGetDeviceIDs | プラットフォームが 無効な場合。 |
-33 | CL_INVALID_ DEVICE | clCreateContext, clBuildProgram | デバイスが無効なデ バイスを含む場合。 デバイスが有効なプラッ トフォームを関連付け られてない場合。 |
-34 | CL_INVALID_ CONTEXT | コンテキストが 無効な場合。 | |
-35 | CL_INVALID_ QUEUE_PROPERTIES | clCreateCommandQueue | command-queue- propertiesは有効だが、 デバイスでサポートし ていない場合。 |
-36 | CL_INVALID_ COMMAND_QUEUE | command_queue が無効な場合。 | |
-37 | CL_INVALID_ HOST_PTR | clCreateImage, clCreateBuffer | host_ptrとCL_MEM_ COPY_HOST_PTR、 CL_MEM_USE_HOST_ PTRの組み合わせが無 効な場合。 |
-38 | CL_INVALID_ MEM_OBJECT | memobjが無効な場合。 | |
-39 | CL_INVALID_ IMAGE_FORMAT_ DESCRIPTOR | OpenGL/DirectX の内部テキスチャ型式 がOpenCLがサポートす るイメージ型式にマップ できない場合。 | |
-40 | CL_INVALID_ IMAGE_SIZE | イメージオブジェ クトが引数として指定 されたが、イメージの 次元がコマンドキュー と関連付けられたデバ イスでサポートされて いない場合。 | |
-41 | CL_INVALID_ SAMPLER | clGetSamplerInfo, clReleaseSampler, clRetainSampler, clSetKernelArg | 有効なサンプラー でない場合。 |
-42 | CL_INVALID_ BINARY | clCreateProgram WithBinary, clBuildProgram | バイナリが選択された デバイスに適しない場合。 プログラムがclCreate ProgramWithBinaryで 生成され、デバイスリス ト内のデバイスが有効な バイナリをロードしてい ない場合。 |
-43 | CL_INVALID_ BUILD_OPTIONS | clBuildProgram | 指定されたビルドオプ ションが不正な場合。 |
-44 | CL_INVALID_ PROGRAM | 有効なプログラムオ ブジェクトでない場合。 | |
-45 | CL_INVALID_ PROGRAM_EXECUTABLE | コマンドキューに関 連付けられたデバイスに 対して利用可能なビルド 済みの実行可能プログラ ムがない場合。 | |
-46 | CL_INVALID_ KERNEL_NAME | clCreateKernel | kernel_nameがプロ グラム内で見つからな い場合。 |
-47 | CL_INVALID_ KERNEL_DEFINITION | clCreateKernel | カーネル関数の定義(引 数の個数や、データ型)が 全デバイスで同じでない 場合。 |
-48 | CL_INVALID_ KERNEL | 無効なカーネルオブ ジェクトの場合。 | |
-49 | CL_INVALID_ ARG_INDEX | clSetKernelArg, clGetKernelArgInfo | arg_indexが有効な 引数インデックスで ない場合。 |
-50 | CL_INVALID_ ARG_VALUE | clSetKernelArg, clGetKernelArgInfo | arg_valueが有効 値でない場合。 |
-51 | CL_INVALID_ ARG_SIZE | clSetKernelArg | arg_sizeがデータ 型のサイズと合わな い場合。 引数がメモリオブジェ クトで `arg_size!=sizeof(cl_mem)` の場合。 arg_sizeが0で、 引数が__local修飾子 で宣言されている場合。 引数がサンプラで `arg_size!=sizeof(cl_sampler)` の場合。 |
-52 | CL_INVALID_ KERNEL_ARGS | カーネル引数の 値が指定されない場合。 | |
-53 | CL_INVALID_ WORK_DIMENSION | work_dimが無 効な値の場合。 | |
-54 | CL_INVALID_ WORK_GROUP_SIZE | local_work_sizeを 指定していて、 global_work_sizeで 指定したワークアイテム 数がlocal_work_size で指定したワークグルー プサイズの値で整除で きない場合。 プログラムソース内で __attribute__((reqd_work_ group_size(X, Y, Z))) 修飾子を利用して指定したワ ークグループサイズと local_work_sizeで指定し た値が一致しない場合。 local_work_sizeを指定 し、local_work_size[0] * ... * local_work_size [work_dim - 1]で求められ るワークグループ内のワークア イテムの総数がCL_DEVICE_ MAX_WORK_GROUP_SIZEの値 をこえている場合。 local_work_sizeがNULLで、 プログラムソース内で ((reqd_work_group_ size(X, Y, Z))) 修飾子を 利用してワークグループサイ ズを宣言している場合。 | |
-55 | CL_INVALID_ WORK_ITEM_SIZE | local_work_size[0], ... local_work_size [work_dim – 1]で求めら れるワークアイテムの総数 が、対応するCL_DEVICE_ MAX_WORK_ITEM_SIZES[0], .... CL_DEVICE_MAX_ WORK_ITEM_SIZES[work_ dim – 1]で指定した値が 大きい場合。 | |
-56 | CL_INVALID_ GLOBAL_OFFSET | いずれかの次元での ( global_work_size で指定した値 + 対応する global_work_offset の値) がカーネルを実行す るデバイス上での sizeof(size_t)をこえ ている場合。 | |
-57 | CL_INVALID_ EVENT_WAIT_LIST | event_wait_listが NULLでnum_events_ in_wait_listが0より 大きい場合。 event_wait_listが NULLでなくnum_events_ in_wait_listが0の場合。 event_wait_list内の イベントオブジェクト が有効なものでない場合。 | |
-58 | CL_INVALID_ EVENT | eventが有効なイベン トオブジェクトでない場合。 | |
-59 | CL_INVALID_ OPERATION | CL_CONTEXT_ ADAPTER_D3D9_KHR、 CL_CONTEXT_ ADAPTER_D3D9EX_KHR またはCL_CONTEXT_ ADAPTER_DXVA_KHRの いずれかに非NULL値に 設定されてにも関わらず、 他のグラフィックAPIと の互換性が指定された場合。 | |
-60 | CL_INVALID_ GL_OBJECT | テキスチャがtexture_ targetに適合するGLテキス チャオブジェクトでない場合。 指定されたテキスチャの miplevelの値が定義され てない場合。 miplevelの幅または高 さが0の場合。 | |
-61 | CL_INVALID_ BUFFER_SIZE | clCreateBuffer, clCreateSubBuffer | 指定されあsizeが0の場合 指定されたsizeが CL_DEVICE_MAX_MEM_ ALLOC_SIZEより大き い場合。 |
-62 | CL_INVALID_ MIP_LEVEL | OpenGL関数 | miplevelが0より大き く、OpenGL実装が非ゼロ のmipmapレベルをサポ ートしない場合。 |
-63 | CL_INVALID_ GLOBAL_WORK_SIZE | global_work_sizeが NULLの場合。 global_work_size[0], ... global_work_size [work_dim - 1`で指定し た値のいずれかが0の場合。 カーネルを実行するデバ イス上での sizeof(size_t)で与えら れる範囲をこえている場合。 | |
-64 | CL_INVALID_ PROPERTY | clCreateContext | 曖昧なエラー。各関数 の資料を参照ください。 |
-65 | CL_INVALID_ IMAGE_DESCRIPTOR | clCreateImage | image_descの値が 有効でない場合。 image_descの値が NULL値の場合。 |
-66 | CL_INVALID_ COMPILER_OPTIONS | clCompileProgram | コンパイラオプショ ンが無効な場合。 |
-67 | CL_INVALID_ LINKER_OPTIONS | clLinkProgram | リンカーオプション が無効な場合。 |
-68 | CL_INVALID_ DEVICE_PARTITION_ COUNT | clCreateSubDevices | プロパティで指定した パーティション名が CL_DEVICE_ PARTITION_BY_COUNTSで、 サブデバイスの個数が CL_DEVICE_PARTITION_ MAX_SUB_DEVICESを超 える場合。 |
Copyright 2018-2019, by Masaki Komatsu