CST中如何使用分布式計(jì)算進(jìn)行參數(shù)掃描
作者 | Wang Yuanteng
我們知道,分布式計(jì)算非常適合進(jìn)行參數(shù)掃描、優(yōu)化這種互相獨(dú)立的任務(wù)。之前我們介紹了,F(xiàn)AQ117:如何安裝和設(shè)置分布式計(jì)算?
但不少用戶對(duì)參數(shù)掃描的設(shè)置仍有疑惑,下面我們將詳細(xì)介紹設(shè)置方法。
1:參掃選項(xiàng)。以時(shí)域求解器設(shè)置界面為例,在solver->Acceleration->DC,勾選Parameter sweep,輸入同時(shí)掃描的參數(shù)數(shù)量,該值直接影響下方token所需數(shù)量。
DC properties設(shè)置:
這里可以選擇use global setting,也就是所用solver server跟main controller中所設(shè)一致,main controller可以修改(Change global settings…),指向不同的main controller機(jī)器。
這兩個(gè)界面都有Loacl host information供參考。
或者我們可以點(diǎn)擊Use specified DC solver server去指定要使用的solver server。
2. 了解基本設(shè)置后,我們來(lái)說(shuō)明下所需token數(shù)量。DC參數(shù)數(shù)量(N)指在多個(gè)solver server上同時(shí)進(jìn)行計(jì)算的job數(shù)量,一般來(lái)說(shuō),應(yīng)設(shè)為小于等于總的server數(shù)量,那么所消耗的token數(shù)為N個(gè)節(jié)點(diǎn)CPU和GPU所需token的總和,在設(shè)置界面下方token
usage給出顯示。
當(dāng)所設(shè)參數(shù)數(shù)量大于實(shí)際solver數(shù)量時(shí),界面上所顯示的token數(shù)由參數(shù)數(shù)量N計(jì)算得到,但實(shí)際同時(shí)計(jì)算的參數(shù)和對(duì)應(yīng)消耗的token由solver server數(shù)量決定,所以這么做不利于直接看所需token數(shù)量。
驗(yàn)證一下:
條件所限,這里將兩臺(tái)電腦分成多個(gè)節(jié)點(diǎn)進(jìn)行計(jì)算,PC1有6個(gè)節(jié)點(diǎn),PC2有2個(gè)節(jié)點(diǎn),共8個(gè)節(jié)點(diǎn),設(shè)成8個(gè)參數(shù)。
從progress可以看到,任務(wù)被分配到2臺(tái)電腦的8個(gè)節(jié)點(diǎn)上進(jìn)行計(jì)算。
從Main control可以看到全部節(jié)點(diǎn)都在running job。
如前面求解器界面顯示,使用了 2個(gè)S2T。
雖然這種情況下,兩臺(tái)電腦實(shí)際只有2顆CPU,但在8個(gè)server同時(shí)跑了8個(gè)job,每個(gè)server設(shè)為1個(gè)CPU,那么總共使用了8個(gè)CPU,按此計(jì)算得到token數(shù)量。有點(diǎn)用S2T換S2P的意思。
3. 最后一個(gè)問(wèn)題,假如有80個(gè)參數(shù),但只有8個(gè)server,DC參數(shù)設(shè)為8,那會(huì)怎么樣呢?Main
Controller會(huì)分批處理這80個(gè)job,如下在progess看到waiting和pending狀態(tài)。