【问题标题】:OpenCL: Thread-block algebra for intel HD graphicsOpenCL:英特尔高清显卡的线程块代数
【发布时间】:2014-08-30 00:25:01
【问题描述】:

我有一些关于 NVIDIA 的背景,因此要学习适用于 Intel 的 OpenCL,我想进行关联。

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

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

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

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

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

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

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

我想知道英特尔高清显卡的这些值。

如果有人可以向我指出一些链接,我可能会在这些链接上进行自我教育,我将不胜感激。

我在哪里可以获得有关英特尔高清显卡的此类信息?具体来说,我有英特尔 NUC 和赛扬 N2820 SoC

【问题讨论】:

    标签: opencl intel


    【解决方案1】:

    我喜欢使用 CLInfo 转储有关硬件的详细信息。尝试查找预编译的二进制文件,或查找源代码。

    这个链接看起来很有希望:http://graphics.stanford.edu/~yoel/notes/clInfo.c

    【讨论】:

      【解决方案2】:

      英特尔在OpenCL capabilities of Intel Iris Graphics 上发布了幻灯片,这些幻灯片在2014 年4 月的英特尔开发者论坛上展示。还有The Compute Architecture of Intel® Processor Graphics Gen7.5,其中包含大量信息。在这两者之间,您的大多数问题都有答案。但是,由于英特尔将 OpenCL 映射到其架构的方式不同,因此有时无法直接模拟 NVIDIA 概念。

      英特尔根据每个图形 SKU 中使用的执行单元 (EU) 的数量来描述其不同的图形 SKU。幻灯片中引用的 Intel Iris Graphics 有 40 个 EU。对于您的情况,Developer’s Guide for Intel® Processor Graphics For 4th Generation Intel® Core™ Processors 表明 Intel HD Graphics 有 20 个 EU。您询问多处理器——英特尔等价物是一个“子片”,它是一组 10 个 EU。所以您使用的 Intel HD Graphics 有 2 个子片。

      从这一切中,我们可以得出一些您正在寻找的答案......

      1- 变形尺寸:不清楚英特尔高清显卡如何模拟此概念。这个SO thread on querying preferred SIMD width 可能会有所帮助。

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

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

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

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

      6- 工作组仅在单个多处理器/子片上运行:在某些条件下,英特尔核芯显卡可以实现更多功能。来自Compute Architecture reference

      适用于不依赖于硬件障碍或不依赖于硬件屏障的计算工作负载 在共享本地内存上,线程调度全局可以选择 将工作负载分配到所有可用切片上...对于计算 确实依赖于硬件屏障或共享本地的工作负载 内存,线程调度全局将分配工作组(又名 线程组)大小的工作负载部分到特定的子切片。

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-03
        • 1970-01-01
        相关资源
        最近更新 更多