OpenCL:英特尔高清图形的线程块代数

OpenCL:英特尔高清图形的线程块代数,opencl,intel,Opencl,Intel,我有一些NVIDIA的背景知识,所以为了学习英特尔的OpenCL,我想联系一下 对于Nvidia,我们有以下规则: 1-扭曲尺寸:32(或在某些情况下为64) 2-每个多处理器的最大驻留块数:8 3-可驻留在多处理器上的最大线程数:768(在旧卡中) 4-每个工作组可用的共享内存量:64 KB(48+16 KB) 5-每个工作组的线程数:512(在最新的卡上为1024) 6-工作组只能在单个多处理器上运行,即一半在MP#1上,另一半在MP#2上,这是不可能的 我想知道英特尔高清图形的这些值 如果

我有一些NVIDIA的背景知识,所以为了学习英特尔的OpenCL,我想联系一下

对于Nvidia,我们有以下规则:

1-扭曲尺寸:32(或在某些情况下为64)

2-每个多处理器的最大驻留块数:8

3-可驻留在多处理器上的最大线程数:768(在旧卡中)

4-每个工作组可用的共享内存量:64 KB(48+16 KB)

5-每个工作组的线程数:512(在最新的卡上为1024)

6-工作组只能在单个多处理器上运行,即一半在MP#1上,另一半在MP#2上,这是不可能的

我想知道英特尔高清图形的这些值

如果有人能给我指一些链接,我会非常感激,在这些链接中,我可能会对自己进行这方面的教育


我从哪里可以获得有关英特尔高清图形的此类信息?具体来说,我有带Celeron N2820 SoC的Intel NUC,我喜欢使用CLInfo来转储有关硬件的详细信息。尝试查找预编译的二进制文件,或查找源代码


此链接看起来很有希望:

英特尔已发布了2014年4月在英特尔开发者论坛上展示的幻灯片。还有一个网站有很多信息。在这两者之间,你的大部分问题都有答案。然而,由于英特尔地图OpenCL到它们的体系结构不同,英伟达概念有时也没有直接的类似。 Intel根据每个图形SKU中使用的执行单元(EU)数量来描述其不同的图形SKU。幻灯片中引用的“英特尔虹膜”图形有40个EUs。对于您的情况,显示Intel HD Graphics有20个EUs。你会问到多处理器——英特尔的等价物是一个“子片”,它是一组10个EU。因此,您正在使用的Intel HD Graphics有2个子片

从所有这些我们可以得出一些你想要的答案

1-扭曲大小:不清楚Intel HD graphics是如何为这一概念建模的。这可能会有帮助

2-每个多处理器/子片的最大驻留块数:Intel仅声明这受每个子片使用16个屏障寄存器的限制。可能是70

3-可驻留在多处理器/子片上的最大线程数:70

4-每个工作组可用的共享内存量:每个工作组没有答案,但每个子片有64KB的共享本地内存+128KB的L3缓存

5-每个工作组的线程数:未说明。下一个问题的答案意味着这个数字可能高达2个子片上可运行的最大线程数:140

6-工作组仅在单个多处理器/子片上运行:在某些情况下,“英特尔高清图形”上可能会运行更多。从:

对于不依赖于硬件屏障的计算工作负载 在共享本地内存时,线程调度全局可以选择 将工作负载分布到所有可用的片上。。。用于计算 依赖于硬件屏障或共享本地资源的工作负载 内存,线程调度全局将分配工作组(aka 线程组)将工作负载的一部分调整到特定的子块