Intel OpenCL SDK を使用しています。先月、システムに存在する CPU で opencl コードを実行しようとしたとき、clGetDeviceIDs(platform, CL_DEVICE_TYPE_CPU , 0, NULL, &num_devices) によって動作しました..そして、検出されたプラットフォームの総数は 2です.1つは Intel GPU ですマクロCL_DEVICE_TYPE_CPUを変更するだけで、Intel GPUとCPUの両方でコードを実行できました。しかし、同じシステムでプラットフォームとデバイスを検出しようとすると、CPU が検出されません。利用可能なプラットフォームをIntel GPUの 1 として表示します。そのため、clGetDeviceIDs(platform, CL_DEVICE_TYPE_CPU, 0, NULL,&num_devices); 呼び出されると -1 (CL_DEVICE_NOT_FOUND) が返され、プログラムは終了します。
Intel CPU を使用できるのに、同じシステムで CPU が検出されないのはなぜですか。しかし、GPU はマクロ CL_DEVICE_TYPE_GPU で正しく検出されています。ありがとう。