0x9*_*x90 7 c performance processor intel opencl
我正在学习OpenCL编程,并注意到一些奇怪的东西.
也就是说,当我在我的机器上列出所有支持OpenCL的设备(Macbook Pro)时,我得到以下列表:
第一个是我的CPU,第二个是英特尔的板载图形解决方案,第三个是我的专用显卡.
研究表明,英特尔已将其硬件OpenCL兼容,以便我可以利用板载图形单元的强大功能.那将是Iris Pro.
考虑到这一点,CPU与OpenCL兼容的目的是什么?仅仅为了方便,内核可以在CPU上运行,因为备份不应该找到其他卡,或者当运行代码作为OpenCL内核而不是常规(C,良好线程)程序时,是否存在任何速度优势中央处理器?
小智 9
基本上,英特尔OpenCL编译器为某些类型的内核执行水平自动向量化.这意味着使用SSE4,您可以在单个核心中并行运行8个线程,类似于Nvidia GPU在单个32宽simd单元中运行32个线程.
这种方法有两个主要好处:如果在2年内它们将SSE矢量宽度增加到16,会发生什么?然后,当您在该CPU上运行时,您将立即获得16个线程的自动向量化.无需重新编译代码.第二个好处是,与在ASM或C中编写并使编译器生成高效代码相比,编写一个易于自动向量化的OpenCL内核要容易得多.
归档时间: |
|
查看次数: |
1167 次 |
最近记录: |