2012-01-05 141 views
2

我有一個二維表(矩陣) 我需要在這個矩陣中獨立處理每一行。 每條生產線的過程都非常耗時。 我想在我們的大學使用並行計算資源(加拿大網格)並行計算

我可以有一些建議如何開始?我以前從未使用過並行計算。

謝謝:)

+3

也許跟你的講師/ TA /教授.... – 2012-01-05 01:15:56

+3

對於要看看'multiprocessing'庫Python或'如果所有繁重的工作在C代碼threading'就足夠了。這裏的任何人都可以幫助您與大學的計算資源進行交流,除非您偶然發現其他人來自您的大學! – wim 2012-01-05 01:20:19

+0

FYI ...澄清維姆的穿線注:「......如果所有的繁重的工作在C ......」他(?她)說,由於蟒蛇的全局解釋鎖不允許多個線程同時運行。他們單步。通過在C中完成工作(在代碼轉移到C時釋放解釋器鎖)或使用他提到的多處理模塊解決此問題,因爲每個線程都在單獨的進程中運行。但是,這兩者都有很大的開銷,所以如果您真的想要性能,請查看C或Java線程下的posix線程。 – Jim 2012-01-05 01:36:42

回答

0

就像評論員說過的,找個人在你的大學裏交談。您的問題的答案將特定於網格上安裝的軟件。如果你有權訪問網格,很可能你也有機會接觸到一個人,他的工作是回答你的問題(他們很樂意幫助你) - 找到這個人!

4

我是名爲scoop的新圖書館的開發者之一。

它始建正是爲了這個目的(網格或超級計算,科學計算)。我建議你試試看。

在你的情況,你必須做的是這樣一個電話:

futures.map(YourFunc, matrixLine) 

它然後將您的網格或任何環境下你選擇分配。

+0

我沒有看到任何地方可以在您的網頁上爲Scoop添加反饋,所以這裏只需簡單介紹一下。 Scoop的Windows 7安裝過程可能會引起注意。我無法讓它工作。隨時與我聯繫瞭解更多詳情。 – 2013-07-01 13:45:15

+0

請隨時在[scoop郵件列表](https://groups.google.com/forum/#!forum/scoop-users)上報告任何問題,以便更快得到答案。請注意,獨家新聞仍處於測試階段,但我們歡迎任何反饋意見,這將有助於改善它。我們很快會研究這個問題。 – Olivier 2013-07-15 15:10:47

+0

哇,看到SCOOP的誕生令人驚歎:p我喜歡它! – Labo 2018-02-21 18:03:54

0

從你所描述的,我會說:首先看看numpy。 Numpy提供了以近似C速度以矢量化方式計算列和行的方法。根據你的問題,這可能比純粹的CPython並行計算更快。

你可以使用並行計算與numpy陣列來獲得真正的大加速。 可能的方法是在羣集上使用multiprocessingIpython