OpenCL创建子设备CL\u设备分区失败

OpenCL创建子设备CL\u设备分区失败,opencl,Opencl,我一直在让clCreateSubDevices工作,其中总是返回CL\u DEVICE\u PARTITION\u FAILED,我没有解决这个问题的线索。我正在尝试创建一个只有一个核心的子设备。这是代码,你看到有什么问题吗?谢谢 以下是函数签名: , CL\u设备分区失败表示设备无法进一步分区。你在什么设备上工作?Mac OS Intel Iris。是图形卡导致了这个问题吗?现在只有cpu可以裂变。gpu无法使用。也许将来。。。。。。。。。很高兴知道。。。。谢谢。。。。。。。。。。。。。 cl

我一直在让
clCreateSubDevices
工作,其中总是返回
CL\u DEVICE\u PARTITION\u FAILED
,我没有解决这个问题的线索。我正在尝试创建一个只有一个核心的子设备。这是代码,你看到有什么问题吗?谢谢

以下是函数签名: ,


CL\u设备分区失败
表示设备无法进一步分区。你在什么设备上工作?Mac OS Intel Iris。是图形卡导致了这个问题吗?现在只有cpu可以裂变。gpu无法使用。也许将来。。。。。。。。。很高兴知道。。。。谢谢。。。。。。。。。。。。。
cl_platform_id platform_id = NULL;
cl_device_id device_id = NULL;
cl_uint ret_num_devices;
cl_uint ret_num_platforms;
cl_int ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms);
ret = clGetDeviceIDs( platform_id, CL_DEVICE_TYPE_GPU, 1,
                     &device_id, &ret_num_devices);

if (device_id == NULL) {
    fprintf(stderr, "failed to get device id!");
    return 1;
}

const cl_device_partition_property properties[3] = {
    CL_DEVICE_PARTITION_BY_COUNTS,
    1, // Use only one compute unit
    CL_DEVICE_PARTITION_BY_COUNTS_LIST_END
};

cl_device_id subdevice_id;
cl_int error = clCreateSubDevices(device_id, properties, 1, &subdevice_id, NULL);
if (error != CL_SUCCESS) {
    fprintf(stderr, "failed to create sub device %d!\n", error);
    return 1;
}