2011-07-06 182 views
0

我想使用mpdboot命令來啓動4個處理器來運行我的MPI程序。我創建了一個包含4個節點(75,77,79和80)的mpd.hosts文件。他們每個人都運行python 2.3.4。我還修改了bashrc和cshrc文件,以確保變量包含編譯器庫目錄的路徑。我還設置了mpd.conf文件並檢查它是否具有rw(600)權限。Mpdboot:棄用警告

我抄輸出屏幕下方,當我運行mpdboot

[N @心臟] $ mpdboot -n 4 -r SSH

:38:棄用警告:popen2模塊已被棄用。使用子流程模塊。

Ñ@ 75的密碼:XXX

Ñ@ 77的密碼:XXX

Ñ@ 79的密碼:XXX

Ñ@ 80的密碼:XXX

mpdboot_heart.int(err_exit 526 ):mpd無法在heart.int上正確啓動

原因:0:來自mpd /opt/intel/mpi/2.0/bin/mpd.py:85的無效端口:DeprecationWarning:md5模塊爲depreca泰德;使用hashlib代替


第2部分:

我也登錄到一個節點,並試圖運行mpdboot。這裏是通過執行輸出

[N @ 79〜] $ mpdboot -n 4 -r SSH

Ñ@ 75的密碼:XXX

Ñ@ 77的密碼:XXX

Ñ @ 79的密碼:XXX

ñ@ 80的密碼:XXX

mpdboot_79_0(mpdboot 499):已在1 75 MPD(引導)啓動過程中檢測到的問題;輸出:

權限被拒絕,請重試。

N - [75密碼:權限被拒絕,請重試。

Ñ@ 77的密碼:mpdboot_79_0(mpdboot 515):已經在2 77 MPD(引導)啓動過程中檢測到的問題;輸出:

權限被拒絕,請重試。

權限被拒絕(公鑰,GSSAPI與 - 麥克風,密碼)。

N - [77密碼:權限被拒絕,請重試。

權限被拒絕(公鑰,GSSAPI與 - 麥克風,密碼)。


我該怎麼處理這件事?

回答

1

的幾點:

  1. 你真的don't want to use MPD了。該流程管理器已被棄用,並被hydra process manager取代。
  2. 您必須使用舊版本的MPD(舊版MPICH2),因爲AFAIK所有這些棄用警告在1.1版本中都是固定的。我懷疑你實際上是在運行Python 2.3.4,因爲我認爲這些警告是在2.6版本中添加到Python中的。
  3. 對於「第2部分」,您的ssh配置很差。您需要確保無密碼ssh(使用ssh密鑰)在所有主機之間正常工作。即使您切換到hydra進程管理器,這也是必要的,但在這種情況下您可能會收到更好的錯誤消息。
+0

謝謝戴夫。當我這樣做時,ssh python -V,它確實給了我2.3.4。另外,就上述問題而言,如何將我的iccvars.sh,bashrc或cshrc文件鏈接起來可能會造成問題?我可以發佈這些內容和路徑,如果這可能有助於闡明一些光明。 – Ashmohan

+1

嘗試更新MPICH2(1.4)的[當前版本](http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads)並使用hydra。這將完全避免python和MPD問題(不再需要mpdboot步驟)。儘管如此,您仍然需要解決無密碼的ssh問題。 –

+0

太棒了!謝謝!所以,一旦我有這個......下一步是什麼?我有一個MPI應用程序可以運行。我已經用4個處理器在單個節點上測試過它。我使用mpirun命令來提交我的工作。這整個努力是我試圖使用更多的節點......因此,一旦安裝了MPICH(1.4),在我提交工作之前需要注意的事項是什麼? – Ashmohan

0

是mpdboot兼容這樣的版本的python?這是古老的,我甚至不知道還有什麼發行版仍然發貨2.3。你用2.7試過了嗎?

+0

如何檢查兼容性?我正在使用「Intel MPI Library for Linux * OS入門指南」,它說我必須驗證已安裝的Python版本是2.2或更高版本。我目前安裝的是2.3.4 – Ashmohan

+1

@Ashmohan:這似乎表明它被支持。在這一點上,你應該看看你的代碼並檢查那裏的錯誤。棄用警告(大多數情況下)是無害的 - 它們只是表示您要調用的函數可能會在未來的版本中被刪除。 – Daenyth