首页 文章

在没有OpenCL的情况下编程Intel IGP(例如Iris Pro 5200)硬件

提问于
浏览
5

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

据我所知,除了OpenCL / OpenGL之外,程序员大多忽略了英特尔IGP . 我很想知道如何在没有OpenCL的情况下为计算机(例如SGEMM)编程英特尔高清显卡硬件?

Added comment: 他们不支持Linux上的高清显卡和OpenCL . 我发现beignet是开源尝试,至少为Ivy Bridge HD图形添加对Linux的支持 . 我没试过 . 可能是开发Beignet的人知道如何在没有OpenCL的情况下对HD图形硬件进行编程 .

3 回答

  • 4

    请记住,将数据复制到视频卡并返回时会出现性能损失,因此必须将其考虑在内 . AMD即将推出在同一芯片上为CPU和GPU统一内存的APU芯片,这将大大有助于缓解这一问题 .

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

    AMD正在推动APU / OpenCL模式,因此更多程序应该通过OpenCL利用GPU - 如果性能权衡则存在 . 目前,GPU计算是一个利基市场,已经转向高性能计算或数字处理,这是网页浏览和文字处理所不需要的 .

  • 4

    供应商让你使用低级ISA进行编程没有任何意义 .

    • It 's very hard and most programmers won' t使用它 .

    • 它使他们在将来的版本中不会调整ISA .

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

    这样做的一个例子:AMD从VLIW向量机转换为标量机,现有内核仍在运行(大多数运行得更快) . 如果您直接编写ISA,则无法执行此操作 .

  • 1

    像没有opencl的虹膜一样对协处理器进行编程就像驾驶没有方向盘的汽车一样 .

    OpenCL旨在揭示虹膜所需的并行性,以实现其理论性能 . 你不能只在它上面生成100个线程或进程并期望性能 . 让线程块做同样的事情,同时,在类似的内存地址上,是问题的关键 .

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

相关问题