當您有多個GPU並且您希望作業請求GPU但Grid Engine調度程序應該處理並選擇一個免費 GPU時,您可以配置一個RSMAP(資源映射)複合體(而不是INT)。這使您可以指定主機配置中特定主機上的GPU數量和名稱。你也可以將它設置爲HOST消費品,這樣就可以獨立於你的請求插槽,使用-l cuda = 2請求的GPU設備數量是針對每個主機2的(即使並行作業也是如此,即不同主機上有8個插槽)。
qconf -mc
#name shortcut type relop requestable consumable default urgency
#----------------------------------------------------------------------------------------------
gpu gpu RSMAP <= YES HOST 0 0
在執行主機配置,你可以使用IDS /名稱(這裏簡單GPU1和GPU2)初始化你的資源。
qconf -me yourhost
hostname yourhost
load_scaling NONE
complex_values gpu=2(GPU1 GPU2)
然後,當請求-l gpu = 1時,如果GPU1已被其他作業使用,則Univa Grid Engine調度程序將選擇GPU2。您可以在qstat -j輸出中看到實際的選擇。作業通過讀取$ SGE_HGR_gpu環境變量來獲取選定的GPU,其中包含本例中選定的ID /名稱「GPU2」。這可以用於訪問正確的GPU而不會發生衝突。
如果您有多插槽主機,您甚至可以將GPU直接連接到GPU附近的某些CPU核心(靠近PCIe總線),以便加速GPU和CPU之間的通信。這可以通過在執行主機配置中附加拓撲掩碼來實現。
qconf -me yourhost
hostname yourhost
load_scaling NONE
complex_values gpu=2(GPU1:SCCCCScccc GPU2:SccccSCCCC)
現在,當UGE調度器選擇GPU2它自動綁定作業到第二插座(S)的所有4個核(C),使得該作業是不允許第一插座上運行。這甚至不需要綁定qsub參數。
更多可在www.gridengine.eu上找到的配置示例。
請注意,所有這些功能僅適用於Univa Grid Engine(8.1.0/8.1.3及更高版本),而不適用於SGE 6.2u5和其他Grid Engine版本(如OGE,Grid Engine的Sun等)。 )。您可以通過從univa.com下載48核有限免費版本來試用它。