1. 研究Scoop的使用方式

  2. 檢查錯誤

參考資料:

http://scoop.readthedocs.io/en/latest/usage.html

啟動Scoop

為了讓自己製作的函式庫能進行分工運算,想要用一些工具讓SLVS Library能夠支援平行運算功能。

用pip安裝scoop。

pip install scoop

Scoop的需求:

1
2
3
4
Distribute >= 0.6.2 or setuptools >= 0.7
Greenlet >= 0.3.4
pyzmq >= 13.1.0 and libzmq >= 3.2.0
ssh for remote execution

上述的套件Anaconda都有安裝了,不過在連線方面還不知道如何設定。

python -m scoop啟動後會顯示[WinError 10022],上網找資料發現是沒有指定特定目標。

Scoop的Help指令。

Scoop函式

啟動後,在python程式中導入scoop。

from scoop import futures, shared

def myParallelFunc(inValue):
    myValue = shared.getConst('myValue')
    return inValue + myValue

if __name__ == '__main__':
    shared.setConst(myValue=5)
    print(list(futures.map(myParallelFunc, range(10))))

或是使用指令執行單一檔案也可以。

python -m scoop --hostfile hosts -vv -n 6 your_program.py [your arguments]

Scoop可以分享函式給其他電腦,並在同時間回饋相同訊息。

而每台電腦可以平均分配需要運算的項目,達成多工的目的。


今天花太多時間檢查ZeroMQ (libzmq)的安裝狀態,因為不同語言的需求好像都不一樣,Python已經包含在pyzmq中(Windows版本應該是如此,但是Linux要另外裝和設定lib位置);而C語言是安裝後從安裝位置include。

而ZeroMQ也能導入Python中,不過Scoop給的指令更方便。

關於Scoop的說明和介紹資料好像滿少的,而網路方面不知道如何架設。


Comments

comments powered by Disqus