如何解决使用 OpenCL 3.0 的 nvcc 无法对 GPU 进行分区
我正在尝试为较小的单元(受 CUDA 12 支持)对 GPU 进行分区,但我需要使用 OpenCL 进行分区。此处提供的代码失败并显示 nozero 错误代码(-30 和 -1)。这是在 V100 上。
cl_uint ret_num_part=0;
cl_uint num_part = 2;
cl_device_partition_property props[3] = {CL_DEVICE_PARTITION_EQUALLY,num_part,0};
cl_device_id *sublist=(cl_device_id*)malloc(sizeof(cl_device_id)*num_part);
// this fails
//clStatus = clCreateSubDevices(device_list[0],props,sublist,&ret_num_part);
// this also fails
clStatus = clCreateSubDevices(device_list[0],NULL,&ret_num_part);
if(clStatus !=CL_SUCCESS)
{
printf("num parts = %u %d %d\n",ret_num_part,clStatus,CL_SUCCESS);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。