2011-10-02 35 views
2

主機是否會有多個CPU類型的設備?多核心CPU將作爲單一設備出現,但雙插座主板的情況如何?每個處理器在OpenCL中是否會有兩個獨立的設備?單個主機上有多個OpenCL CPU設備?

我正試圖提前計劃一個正在處理的應用程序。

回答

3

根據我的經驗,在雙插座主板上,您仍然有一個CPU設備。操作系統通常隱藏用戶是否核心位於相同的物理CPU或不同的核心,即使在NUMA機器上(當然還有you canget detailed info,but it's not all that straightforward)。我認爲這種行爲是合乎邏輯的,至少在SMP機器上,因爲核心在物理上的位置沒有太大區別(在GPU的情況下,訪問其他設備內存非常麻煩;在CPU上,將所有線程固定到相同的物理CPU很少值得擔心),因此將兩個物理CPU合併成一個OpenCL設備幾乎沒有任何缺點,並且它具有簡化其使用的優點。

但是我在OpenCL specification中沒有看到這個,所以它都是特定於實現的,並且不保證總是成立。

+1

@ T3hD0gg是的,如果你安裝了兩個或多個平臺(英特爾和AMD的,或者AMD的兩個版本),你必須每一個平臺的CPU設備。 OpenCL平臺完全獨立於其他平臺。 – aland

1

計算集羣(具有獨立內存的多臺物理機)可能在單個「主」節點上被抽象爲多個OpenCL設備,但我不知道是否有任何實現實際執行此操作。

+0

有[MOSIX VCL](http://gpgpu.org/2010/09/13/mosix-virtual-opencl-vcl),它承諾會按照你所說的去做,但是我沒有聽說過它是怎麼回事執行實際應用程序。 – aland

2

即使在多核CPU上,在多CPU環境中也有可能存在多個設備。以IBM的單元爲例,OpenCL驅動程序將9核心CPU視爲2個不同的設備。一個是PPU的設備,另一個代表SPU並具有CL_DEVICE_TYPE_ACCELERATOR配置文件)。

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