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

单个主机上有多个OpenCL CPU设备?,opencl,Opencl,主机是否会有多个CPU类型的设备?多核CPU将作为单个设备出现,但双插座主板呢?每个处理器在OpenCL中会有两个独立的设备吗 我正试图提前计划我正在开发的应用程序。根据我的经验,在双插槽主板上,您仍然有一个CPU设备。操作系统通常会向用户隐藏内核是位于同一物理CPU上还是位于不同的物理CPU上,甚至是在机器上(当然)。我认为这种行为是非常合乎逻辑的,至少在机器上是这样,因为内核在物理上的位置没有太大区别(在GPU的情况下,访问其他设备内存是非常麻烦的;在CPU上,将所有线程固定到同一个物理CP

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


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

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


但是,我没有在中看到这一点,因此它都是特定于实现的,并且不能保证总是正确的。

一个计算集群(多个物理机器和单独的内存)可能被抽象为单个“主”节点上的多个OpenCL设备,尽管我不知道是否有任何实现确实做到了这一点。

在多CPU环境中,甚至在多核CPU上,也可能有多个设备。以IBM的cell为例,OpenCL驱动程序将9核CPU视为两个不同的设备。一个是PPU的设备,另一个代表SPU,具有CL_设备类型(加速器配置文件)


有,它承诺完全按照你说的做,但我没有听说它在现实应用程序上的表现。@T3hD0gg是的,如果你安装了两个或两个以上的平台(英特尔和AMD,或两个AMD版本),那么每个平台都有一个CPU设备。OpenCL平台是绝对独立的。