5

Desktop i7-4770k @ 4GHz 的内核峰值 GFLOPS 为 4GHz * 8 (AVX) * (4 FMA) * 4 cores = 512 GFLOPS。但最新的英特尔 IGP(Iris Pro 5100/5200)峰值超过800 GFLOPS。因此,一些算法将在 IGP 上运行得更快。将内核与 IGP 结合在一起会更好。此外,IGP 不断消耗更多的硅。Iris Pro 5100 现在占据了 30% 以上的硅片。英特尔台式机处理器的发展方向似乎很清楚。

然而,据我所见,英特尔 IGP 大多被程序员忽略,但 OpenCL/OpenGL 除外。我很想知道如何在没有 OpenCL 的情况下对 Intel HD Graphics 硬件进行编程以进行计算(例如 SGEMM)?

添加了评论: 它们不支持英特尔在 Linux 上的高清显卡和 OpenCL。我发现beignet是开源的,它至少为 Ivy Bridge HD 图形添加了对 Linux 的支持。我还没有尝试过。那时可能开发 Beignet 的人知道如何在没有 OpenCL 的情况下对高清图形硬件进行编程。

4

3 回答 3

4

请记住,将数据复制到视频卡并返回会影响性能,因此必须考虑到这一点。AMD 即将发布在同一芯片上为 CPU 和 GPU 提供统一内存的 APU 芯片,这将大大有助于缓解这个问题。

在 CUDA 和 OpenCL 之前使用 GPU 的方式是将要操作的内存表示为使用 DirectX 或 OpenGL 的纹理。谢天谢地,我们不必再这样做了!

AMD 确实在推动 APU / OpenCL 模型,所以更多的程序应该通过 OpenCL 来利用 GPU——如果存在性能折衷的话。目前,GPU 计算是一个小众市场,它被归入高性能计算或数字运算领域,而网页浏览和文字处理并不需要它。

于 2013-08-20T17:07:36.667 回答
4

供应商让您使用低级 ISA 进行编程已经没有任何意义。

  1. 这很难,大多数程序员不会使用它。
  2. 它使他们无法在未来的修订中调整 ISA。

因此,程序员使用一种语言(如 OpenCL 中的 C99),运行时在用户机器上执行特定于 ISA 的优化。

一个这样的例子:AMD 从 VLIW 向量机切换到标量机,现有内核仍然运行(大多数运行得更快)。如果您直接编写 ISA,您将无法做到这一点。

于 2013-08-23T00:40:26.607 回答
1

像没有 opencl 的 iris 这样的协处理器编程就像在没有方向盘的情况下驾驶汽车。

OpenCL 旨在公开 iris 实现其理论性能所需的必要并行性。您不能只在其上生成 100 个线程或进程并期望性能。让线程块同时在相似的内存地址上做同样的事情是问题的关键。

也许你可以想出一个比 opencl 更好的范式来实现这个目标;但在你这样做之前,我建议你尝试学习一些opencl。如果你喜欢python;pyopencl 是一个很好的起点。

于 2013-12-21T23:42:51.013 回答