Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个计算单元的OpenCl max扭曲和工作组_Opencl_Workgroup_Warp - Fatal编程技术网

每个计算单元的OpenCl max扭曲和工作组

每个计算单元的OpenCl max扭曲和工作组,opencl,workgroup,warp,Opencl,Workgroup,Warp,我可以通过clGetDeviceInfo之类的函数在一个计算单元上获得最大扭曲/工作组数吗。 从我发现的数字只取决于计算能力。那么有什么函数可以检测到它吗 thx 我想你在找的是日轮 具体而言,CL_内核工作组大小和CL_内核首选工作组大小倍数将帮助您调整工作组大小。谢谢您的回答,但我还需要做其他事情:我需要为一些测试设置所需的占用率。因此,我需要知道可以在我的硬件上运行的最大扭曲度,并计算所需占用率附近的nRange维度分布。所以我需要计算单元上允许硬件的最大可能活动线程数。我能从上面的链接中

我可以通过clGetDeviceInfo之类的函数在一个计算单元上获得最大扭曲/工作组数吗。 从我发现的数字只取决于计算能力。那么有什么函数可以检测到它吗

thx
我想你在找的是日轮


具体而言,CL_内核工作组大小和CL_内核首选工作组大小倍数将帮助您调整工作组大小。

谢谢您的回答,但我还需要做其他事情:我需要为一些测试设置所需的占用率。因此,我需要知道可以在我的硬件上运行的最大扭曲度,并计算所需占用率附近的nRange维度分布。所以我需要计算单元上允许硬件的最大可能活动线程数。我能从上面的链接中找到这个吗?“CL_KERNEL_WORK_GROUP_SIZE SIZE_t——这为应用程序提供了一种机制,用于查询最大工作组大小,该最大工作组大小可用于在设备给定的特定设备上执行内核。OpenCL实现使用内核的资源需求(寄存器使用等)“是的,我理解这一点。例子。我有NVidia Qadro 3000米,因此我可以有最多48个扭曲和每个计算单元8个工作组。如果一个内核有63个寄存器,那么CL_内核_工作_组_大小返回512。如果我执行NDRange(1,1,1)(1,32,16),将在一个计算单元中总共16个活动扭曲。占用率将为16/48=0.33(33%),但如果我使用NDRange(2,1,1)(1,24,16),则在一个计算单元中只有12个活动扭曲。入住率为12/48=0.25(25%)。对于此计算,我需要知道计算单元上的最大活动扭曲