locked
如何快速的安裝cluster節點的軟體與mpi程式的執行 RRS feed

  • 問題

  • 小弟最近利用hyper-v建置了一個hpc(感謝站上前輩的幫忙),目前打算在上面運MPI.NET,依照手冊上的說明,要執行 clusrun msiexec.exe /quiet /i\\Installers\MPI.NET .Runtime.msi指令進行安裝,但我在下了這道指令後卻沒有任何反應(已經建立了一個名叫"Installers"的共用資料夾了,並且裡面也有放MPI.NET Runtime.msi),所以最後我就只好手動自已安裝了。安裝完之後要執行clusrun copy \\mpi.net\PingPong.exe C:\PingPong\ 指令將測試程式進行複製,這時後又沒有任何反應了....,之後我又自已手動複製了。最後要執行job submit /stdout:\\mpi.net\out.txt /stderr:\\mpi.net\err.txt /numprocessors:1mpiexec C:\PingPong\PingPong.exe 指令執行測試程式.....最後居然直接送了一個錯誤給我,錯誤的內容是"找不到路徑"...Orz 。
    因此小弟想請教站上的前輩,若要在cluster 上執行mpi的程式,究竟有什麼地方需要設定呢?
    2009年4月7日 下午 02:26

解答

所有回覆

  • 在執行上面的指令的時候,有以系統管理員權限去執行cmd嗎?

    2009年4月8日 上午 07:34
  • 有的,我本身就是以系統管理員的身份登入,也有試著"以系統管理員的身份執行",但仍然毫無反應。另外,想請教一下,指令上面的資料夾\\Installers\是指共享資料夾嗎@@?為何可以不需指定路徑咧?....這是我疑惑的地方。
    2009年4月8日 上午 07:57
  • 我找到一份文件是跟安裝MPI.NET有關的,不知道跟你看得一不一樣
    http://www.osl.iu.edu/research/mpi.net/documentation/MPI.NET%20Tutorial%20Python.doc

    以第一個指令來說,他的描述是這樣


    For now we’ll assume(假設) the folder the installer is in is shared as \\Installers\. From a command line, run the following command:

    clusrun msiexec.exe /quiet /i “\\Installers\MPI.NET Runtime.msi”



    所以那些UNC路徑都是要在你的電腦上有Share出來的才可以
    • 已標示為解答 shanon 2009年4月9日 上午 06:51
    2009年4月8日 上午 08:11
  • 沒錯,我就是依照這一份來執行的。依照微軟的手冊上寫的http://technet.microsoft.com/en-us/library/cc972822.aspx其中的第六點
    "Specify the Working directory for your task. In general, a working directory should be indicated with a Universal Naming Convention (UNC) path, not a relative or a local path"
    也有提到這點,剛剛才看到。因此依照我的環境,我的電腦是DL360,分享的資料夾是Installers,所以我的指令應該是clusrun msiexec.exe /quiet /i "\\DL360\Installers .Runtime.msi"  試了之後,居然出現系統找不到指定的路徑>"<。
    2009年4月8日 上午 08:50
  • clusrun msiexec.exe /quiet /i "\\DL360\Installers .Runtime.msi ?

    檔案名稱不是 MPI.NET Runtime.msi嗎? 怎麼變成 Installers .Runtime.msi?
    2009年4月8日 上午 08:58
  • 阿,抱歉,一時手誤。正確的指令是clusrun msiexec.exe /quiet /i "\\DL360\Installers\ MPI.NET Runtime.msi" 。仍然會出現系統找不到指定的路徑。
    附帶一提,剛剛我測試了另一行複制指令clusrun copy \\DL360\Installers\PingPong.exe C:\PingPong\ ,就可以正確的執行,節點上的電腦也確時出現了pingpong這個執行檔。
    2009年4月8日 上午 09:02
  • 可能在檢查一下路徑有沒有問題吧
    clusrun msiexec.exe /quiet /i "\\DL360\Installers\ MPI.NET Runtime.msi" <- MPI前面有空格?也是手誤嗎??

    2009年4月8日 上午 09:08
  • 是的.....又是手誤,真是不好意思....。目前除了安裝之外,剛剛又測試了job submit /stdout:\\DL360\Installers\out.txt /stderr:\\\DL360\Installers\err.txt /numprocessors:8 mpiexec C:\PingPong\PingPong.exe 之後,可以正常的執行了。且執行的結果如下
    Rank 0 is alive and running on DL360.hpc.edu
    Pinging process with rank 1... Pong!
      Rank 1 is alive and running on DL360.hpc.edu
    Pinging process with rank 2... Pong!
      Rank 2 is alive and running on DL360.hpc.edu
    Pinging process with rank 3... Pong!
      Rank 3 is alive and running on DL360.hpc.edu
    Pinging process with rank 4... Pong!
      Rank 4 is alive and running on DL360.hpc.edu
    Pinging process with rank 5... Pong!
      Rank 5 is alive and running on DL360.hpc.edu
    Pinging process with rank 6... Pong!
      Rank 6 is alive and running on DL360.hpc.edu
    Pinging process with rank 7... Pong!
      Rank 7 is alive and running on DL360.hpc.edu

    恩....跟我直接執行 mpiexec.exe -n 8 ipy.exe PingPong.exe 的結果沒啥兩樣....照理說,應該會出現其他node 的名稱才對不是嗎?

    2009年4月8日 上午 09:30
  • 這串指令如果我沒理解錯的話應該是用任一個node的8顆CPU去執行那個程式吧(/numprocessors 的關係)
    應該是不會出現其他node的名稱
    如果你是要在某一個node上執行pingpong.exe的話,可能要加上參數 /askednodes

    參考資料
    job submit的參數
    http://technet.microsoft.com/en-us/library/cc972834.aspx

    Fun and interesting ways to run MPI jobs on CCS
    http://blogs.technet.com/windowshpc/archive/2006/10/03/fun-and-interesting-ways-to-run-mpi-jobs-on-ccs.aspx
    • 已標示為解答 shanon 2009年4月9日 上午 06:51
    2009年4月8日 上午 09:50
  • 原來如此,還有這麼多的操作指令呀!!! 剛剛稍微小試一下,還需要了解處理器的匹配數之類的,滿有趣的。
    先前一直希望可以無視指令化的操作,但看來我現在是逃不掉了...

    可以找到一起商量的前輩真是太好了,感謝Vincent Lin前輩的協助。
    2009年4月9日 上午 06:50