单个主机上有多个OpenCL CPU设备?

时间:2011-10-02 21:08:58

标签: opencl

主机是否会拥有多个CPU类型的设备?多核CPU将作为单个设备出现,但双插槽主板呢? OpenCL中是否有两个独立的设备用于每个处理器?

我正在尝试提前计划我正在开发的应用程序。

3 个答案:

答案 0 :(得分:4)

根据我的经验,在双插槽主板上你仍然有一个CPU设备。操作系统通常会向用户隐藏核心是位于同一物理CPU上还是位于不同的物理CPU上,即使在NUMA台机器上(当然you can get detailed infobut it's not all that straightforward)。我认为这种行为是合乎逻辑的,至少在SMP机器上,因为核心物理位置没有太大区别(在GPU的情况下,访问其他设备内存非常麻烦;在CPU上固定所有线程相同的物理CPU很少值得担心),因此将两个物理CPU融合到一个OpenCL设备中几乎没有任何缺点,并且它具有简化其使用的优点。

但是我没有在OpenCL specification中看到过这一点,所以它都是特定于实现的,并且不能保证始终保持为真。

答案 1 :(得分:2)

即使在多核CPU上,在多CPU环境中也可能存在多个设备。以IBM的单元为例,OpenCL驱动程序将9核CPU视为2个不同的设备。一个是PPU的设备,另一个是SPU,并且有一个CL_DEVICE_TYPE_ACCELERATOR配置文件。)

http://oscarbg.blogspot.com/2009/11/about-imd-open.html

答案 2 :(得分:1)

计算群集(具有独立内存的多个物理机)可能在单个“主”节点上被抽象为多个OpenCL设备,但我不知道是否有任何实现实际上这样做。