ããã¯ãUbuntu OnlineãFedora OnlineãWindows ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒããŸã㯠MAC OS ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãªã©ã®è€æ°ã®ç¡æãªã³ã©ã€ã³ ã¯ãŒã¯ã¹ããŒã·ã§ã³ã® XNUMX ã€ã䜿çšããŠãOnWorks ç¡æãã¹ãã£ã³ã° ãããã€ããŒã§å®è¡ã§ããã³ãã³ã orterun ã§ãã
ããã°ã©ã ïŒ
NAME
orterunãmpirunãmpiexec - Open MPI ã§ã·ãªã¢ã« ãžã§ãããã³ãã©ã¬ã« ãžã§ããå®è¡ããŸãã ãªã·ã¥ã«ã³ãã·ã¥ã¡ã ã«ã³
- Open SHMEM ã§ã·ãªã¢ã« ãžã§ããšãã©ã¬ã« ãžã§ããå®è¡ããŸãã
ã泚æ: ã ãã«ã³, mpiexec, ãªã«ãã«ã³ ã¯ãã¹ãŠãäºãã®å矩èªã§ããã ãã§ãªãã ãªã·ã¥ã©ã³,
ã·ã¥ã¡ã ã«ã³ Open SHMEM ãã€ã³ã¹ããŒã«ãããŠããå Žåã ã©ã®ååã䜿çšããŠãåãçµæãåŸãããŸã
è¡åã
SYNOPSIS
åäžããã»ã¹è€æ°ããŒã¿ (SPMD) ã¢ãã«:
ã ãã«ã³ [ãªãã·ã§ã³] [ ]
è€æ°åœä»€è€æ°ããŒã¿ (MIMD) ã¢ãã«:
ã ãã«ã³ [ ã°ããŒãã«ãªãã·ã§ã³ ]
[ããŒã«ã«ãªãã·ã§ã³1] [ ]:
[ããŒã«ã«ãªãã·ã§ã³2] [ ]:
··· ïŒ
[ local_optionsN ] [ ã
ã©ã¡ãã®ã¢ãã«ã§ãã ã ãã«ã³ 絶察ãã¹åçµç±ã¯æ¬¡ãšåçã§ã
ã®æå® --prefix ãªãã·ã§ã³ä»ã ãã£ã¬ã¯ããªã«çžåœããå€ã ã ãã«ã³
æåŸã®ãµããã£ã¬ã¯ããªãé€ããå Žæã«ååšããŸãã äŸãã°ïŒ
% /usr/local/bin/mpirun ...
ã«çžåœããŸã
% mpirun --prefix / usr / local
QUICK æŠèŠ
MPI ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããæ¹æ³ãåã«æ¢ããŠããå Žåã¯ãããããã
次ã®åœ¢åŒã®ã³ãã³ãã©ã€ã³:
% mpirun [ -np X ] [ --hostfile ã
ããã«ãããX åã®ã³ããŒãå®è¡ãããŸã çŸåšã®ã©ã³ã¿ã€ã ç°å¢ (以äžã§å®è¡ããŠããå Žå)
ãµããŒããããŠãããªãœãŒã¹ ãããŒãžã£ãŒãOpen MPI ã ãã«ã³ éåžžã¯èªåçã«äœ¿çšãããŸã
ããšãã°ã察å¿ãããªãœãŒã¹ ãããŒãžã£ãŒ ããã»ã¹ ã¹ã¿ãŒã¿ãŒã§ã¯ãªãã rsh or ssh,
ãã¹ããã¡ã€ã«ã䜿çšããå¿ èŠãããããããã©ã«ãã§ãã¹ãŠã® X ã³ããŒãå®è¡ããŸãã
localhost)ãCPU ã¹ãããããšã«ã©ãŠã³ãããã³æ¹åŒã§ (ããã©ã«ãã§) ã¹ã±ãžã¥ãŒãªã³ã°ããŸãã æ®ãã®éšåãèŠã
詳现ã«ã€ããŠã¯ããã®ããŒãžãã芧ãã ããã
v1.8 ã·ãªãŒãºã®éå§æç¹ã§ã¯ãmpirun ã¯ããã»ã¹ãèªåçã«ãã€ã³ãããããšã«æ³šæããŠãã ããã
ãã以äžã®ãã£ã¬ã¯ãã£ãããªãå Žåã¯ãXNUMX ã€ã®ãã€ã³ãã£ã³ã° ãã¿ãŒã³ã䜿çšãããŸãã
ãã€ã³ã ããž è¯ïŒ ããã»ã¹æ°ã 2 以äžã®å Žå
ãã€ã³ã ããž ãœã±ããïŒ ããã»ã¹æ°ã 2 ãè¶ ããå Žå
ã¢ããªã±ãŒã·ã§ã³ãã¹ã¬ããã䜿çšããå Žåã¯ãã¹ã¬ããã䜿çšãããŠããªãããšã確èªããå¿ èŠãããã§ãããã
ãŸã£ãããã€ã³ããããŠããªã (--bind-to none ãæå®ããããšã«ãã)ããŸãã¯
ã¢ããªã±ãŒã·ã§ã³ããšã®é©åãªãã€ã³ãã£ã³ã° ã¬ãã«ãŸãã¯ç¹å®ã®æ°ã®åŠçèŠçŽ
ããã»ã¹ã
OPTIONS
ã ãã«ã³ ããŒã«ã«ããŒãäžã§åŒã³åºããããã£ã¬ã¯ããªã®ååãåããŒãã«éä¿¡ããŸãã
ãªã¢ãŒã ããŒãã®ãã£ã¬ã¯ããªã«ç§»åããŠããã®ãã£ã¬ã¯ããªãžã®å€æŽãè©Šã¿ãŸãã ãçŸåšã®åäœããåç §ããŠãã ããã
詳现ã«ã€ããŠã¯ã以äžã®ããã£ã¬ã¯ããªãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ããã°ã©ã ã®å®è¡å¯èœãã¡ã€ã«ã ããã¯æåã®èªèãããªãåŒæ°ãšããŠèå¥ãããŸã
ã ãã«ã³ãžã
ãããã®å®è¡æåŒæ°ããã¹ãŠã®æ°ããããã»ã¹ã«æž¡ããŸãã ãããã¯åžžã«
æåŸã®åŒæ° ã ãã«ã³ã ã¢ããªã³ã³ããã¹ããã¡ã€ã«ã䜿çšããå Žåã ãªããŸã
ç¡èŠãããŸãã
-h, - å©ããŠ
ãã®ã³ãã³ãã®ãã«ãã衚瀺ãã
-q, - éããª
ã¢ããªã±ãŒã·ã§ã³ã®å®è¡äžã« orterun ããã®æ å ±ã¡ãã»ãŒãžãæå¶ããŸãã
-v, -詳现
åé·ã«ãã
-V, - ããŒãžã§ã³
ããŒãžã§ã³çªå·ãåºåããŸãã ä»ã®åŒæ°ãæå®ãããŠããªãå Žåãã
orterun ãæŒããŠçµäºããŸãã
-衚瀺ããã, --ãã£ã¹ãã¬ã€ããã
èµ·ååã«ãåããã»ã¹ã®ããããããå Žæã瀺ãããŒãã«ã衚瀺ããŸãã
-衚瀺éçºããã, --display-devel-map
äºåã«åããã»ã¹ã®ãããã³ã°ãããäœçœ®ã瀺ããã詳现ãªããŒãã«ã衚瀺ããŸãã
èµ·åããŸã (éåžžã¯éçºè ã«ãšã£ãŠèå³æ·±ããã®ã§ã)ã
-ãã£ã¹ãã¬ã€ã®å²ãåœãŠ, -- 衚瀺å²ãåœãŠ
æ€åºããããªãœãŒã¹å²ãåœãŠã衚瀺ããŸãã
次ã®ãªãã·ã§ã³ã®ããããã䜿çšããŠãã¯ã©ã¹ã¿ãŒã®ã©ã®ãã¹ã (ããŒã) ãå®è¡ããããæå®ããŸãã
v1.8 ãªãªãŒã¹ã®éå§æç¹ã§ã¯ãmpirun ã¯åãã¹ãäžã§ããŒã¢ã³ãèµ·åããããšã«æ³šæããŠãã ããã
ã®æåã®å²ãåœãŠ (次ã®ãªãã·ã§ã³ã§å€æŽ) å
ã¢ããªã±ãŒã·ã§ã³ããã»ã¹ãæçµçã«ãããããããã©ããã«é¢ä¿ãªããå®è¡ãããŸãã
ããã§å®è¡ããŸãã ããã¯ãããŒããŠã§ã¢ ããããžæ å ±ã
ããã«ãããæ¢ç¥ã®ããããžã«å¯ŸããŠããã»ã¹ããããã³ã°ã§ããããã«ãªããŸãã ãã ããããã¯
ãããã³ã°åŸã«ã®ã¿ããŒã¢ã³ãèµ·åãããŠãã以åã®ãªãªãŒã¹ã®åäœããã®å€æŽ
å®äºããŠãããããã¢ããªã±ãŒã·ã§ã³ ããã»ã¹ãå®éã«å®è¡ãããããŒãäžã§ã®ã¿çºçããŸããã
å®è¡ããŠããããšã
-H, -ãã¹ã, - ãã¹ã
ããã»ã¹ãåŒã³åºããã¹ãã®ãªã¹ãã
-ãã¹ããã¡ã€ã«, --hostfile
䜿çšãããã¹ããã¡ã€ã«ãæå®ããŸãã
-ãã·ã³ãã¡ã€ã«, --ãã·ã³ãã¡ã€ã«
ã®åçŸ©èª -ãã¹ããã¡ã€ã«.
-CPU ã»ãã, --cpu ã»ãã
èµ·åãããããã»ã¹ãåããŒãäžã®æå®ãããè«ç CPU ã«å¶éããŸãã ãäºæ¿ãã ãã
ãã€ã³ãã£ã³ã° ãªãã·ã§ã³ã¯æå®ããããšã³ãããŒãå ã«åŒãç¶ãé©çšãããŸããããšãã°ã次ã®ããã«ããããšãã§ããŸãã
åããã»ã¹ããæå®ããã CPU ã»ããå ã® XNUMX ã€ã® CPU ã®ã¿ã«ãã€ã³ãããããšãéžæããŸãã
次ã®ãªãã·ã§ã³ã¯ãèµ·åããããã»ã¹ã®æ°ãæå®ããŸãã ããããååšããªãããšã«æ³šæããŠãã ããã
ãªãã·ã§ã³ã¯ç¹å®ã®ãã€ã³ãã£ã³ã° ããªã·ãŒãæé»çã«ç€ºããŸããããšãã°ããœã±ããããšã« N åã®ããã»ã¹ãèŠæ±ããŸãã
ããã»ã¹ããœã±ããã«ãã€ã³ããããããšãæå³ãããã®ã§ã¯ãããŸããã
-c, -n, --n, -np <#>
æå®ãããããŒãäžã§ãã®æ°ã®ããã°ã©ã ã®ã³ããŒãå®è¡ããŸãã ãã®ãªãã·ã§ã³ã¯æ¬¡ã®ããšã瀺ããŸã
æå®ããããã¡ã€ã«ã¯å®è¡å¯èœããã°ã©ã ã§ãããã¢ããªã±ãŒã·ã§ã³ ã³ã³ããã¹ãã§ã¯ãããŸããã ãããã®å Žå
å€ã¯ãå®è¡ããã³ããŒã®æ°ãšããŠæäŸãããŸã (ã€ãŸããã-npãã
ãã®å矩èªã¯ã³ãã³ãã©ã€ã³ã§æäŸãããŸã)ãOpen MPI ã¯èªåçã«å®è¡ãããŸã
åããã»ã¹ ã¹ãããäžã®ããã°ã©ã ã®ã³ã㌠(ãããã»ã¹ãã®èª¬æã«ã€ããŠã¯ã以äžãåç §ããŠãã ãã)
ã¹ããã")ããã ãããã®æ©èœã¯ SPMD ã¢ãã«ã§ã®ã¿äœ¿çšã§ããè¿ãããŸãã
ãã以å€ã®å Žåã¯ããšã©ãŒ (ã¢ããªã±ãŒã·ã§ã³ã®å®è¡ã¯éå§ãããŸãã)ã
âãããã〠ppr:N:
åããŒãã§æå®ãããã¿ã€ãã®ãªããžã§ã¯ãã®æ°ã N åããŠèµ·åããŸãã
-npersocket, --npersocket <#ããŒãœã±ãã>
åããŒãã§ããã®æ°ã®ããã»ã¹ã«ããã»ããµ ãœã±ããã®æ°ãä¹ããæ°ãèµ·åããŸãã
ããŒãã ã® -npersocket ãªãã·ã§ã³ããªã³ã«ãªããŸã -ãœã±ãããžã®ãã€ã³ã ãªãã·ã§ã³ãéžæããŸãã
(éæšå¥šãšãªãã--map-by ppr:n:socket ã䜿çšãããŸã)
-npernode, --npernode <#pernode>
åããŒãã§ãããã ãã®æ°ã®ããã»ã¹ãèµ·åããŸãã (--map-by ãæšå¥šããããéæšå¥šã«ãªããŸãã)
ppr:n:ããŒã)
-pernode, --pernode
åããŒã㧠XNUMX ã€ã®ããã»ã¹ãèµ·åããŸã -- 以äžã«çžåœããŸã -npernode 1. (ã§éæšå¥šã«ãªããŸãã)
--map-by ppr:1:node ãåªå ããŸã)
ããã»ã¹ããããã³ã°ããã«ã¯:
--map-by
æå®ããããªããžã§ã¯ãã«ãããããŸããããã©ã«ã㯠ãœã±ããã ãµããŒããããŠãããªãã·ã§ã³ã«ã¯ãã¹ãããã
hwthreadãã³ã¢ãL1ãã£ãã·ã¥ãL2ãã£ãã·ã¥ãL3ãã£ãã·ã¥ããœã±ããã沌ãããŒããããŒããã·ãŒã±ã³ã·ã£ã«ã
è·é¢ãšpprã ã©ã®ãªããžã§ã¯ãã«ã : ãšä»»æã®ä¿®é£Ÿåãè¿œå ããããšã§ä¿®é£Ÿåãå«ããããšãã§ããŸãã
PE=n (åããã·ãŒãžã£ã« n åã®åŠçèŠçŽ ããã€ã³ã)ãSPAN (è² è·åæ£) ã®çµã¿åãã
å²ãåœãŠå šäœã®ããã»ã¹)ãOVERSUBSCRIBE (ããŒãäžã§ããå€ãã®ããã»ã¹ãèš±å¯)
åŠçèŠçŽ ãã)ãããã³ NOOVERSUBSCRIBEã ããã«ã¯ PPR ãå«ãŸããŸãã
pattern ã¯ã修食åããåºåãããã«å¥ã®ã³ãã³ã§çµäºããŸãã
-ãã€ã³ã¢, --ãã€ã³ã¢
ã³ã¢ããšã«ããã»ã¹ããããããŸã (--map-by core ãæšå¥šããããéæšå¥šã«ãªããŸãã)
-ãã€ãœã±ãã, --ãã€ãœã±ãã
ãœã±ããããšã«ããã»ã¹ããããããŸã (--map-byãœã±ãããåªå ããŠéæšå¥šã«ãªããŸãã)
-nolocal, --nolocal
èµ·åããã¢ããªã±ãŒã·ã§ã³ã®ã³ããŒã orterun ãšåãããŒãã§å®è¡ããªãã§ãã ããã
ã©ã³ãã³ã°ã ãã®ãªãã·ã§ã³ã¯ãããŒã«ã«ãã¹ãã®ãªã¹ããäžæžãããŸãã - ãã¹ã ãŸãã¯ãã®ä»ã®
ãã¹ãæå®ã¡ã«ããºã ã
-nooversubscribe, --nooversubscribe
ã©ã®ããŒãããªãŒããŒãµãã¹ã¯ã©ã€ãããªãã§ãã ããã (ããã»ã¹ãéå§ããã«) ãšã©ãŒãçºçããå Žåã
èŠæ±ãããããã»ã¹æ°ã«ãããªãŒããŒãµãã¹ã¯ãªãã·ã§ã³ãçºçããå¯èœæ§ããããŸãã ãã®ãªãã·ã§ã³ã¯æé»çã«
ãmax_slotsããåããŒãã®ãslotsãå€ã«çããèšå®ããŸãã
-bynode, --bynode
ããã»ã¹ã¯ããŒãããšã« XNUMX ã€ãã€èµ·åãããã©ãŠã³ãããã³æ¹åŒã§ããŒãããšã«åŸªç°ãããŸãã ãã
ããã»ã¹ãããŒãéã§åçã«åæ£ããã©ãŠã³ã㧠MPI_COMM_WORLD ã©ã³ã¯ãå²ãåœãŠãŸãã
ããã³ããããŒãããšãã®æ¹æ³ã
MPI_COMM_WORLD ã§ããã»ã¹ã®ã©ã³ã¯ãé åºä»ãããã«ã¯:
--ã©ã³ã¯ãã€
æå®ããããªããžã§ã¯ãã«åŸã£ãŠã©ãŠã³ãããã³æ¹åŒã§ã©ã³ã¯ä»ããããŸããããã©ã«ãã¯æ¬¡ã®ãšããã§ãã ã¹ããã.
ãµããŒããããŠãããªãã·ã§ã³ã«ã¯ãã¹ããããããŒããŠã§ã¢ã¹ã¬ãããã³ã¢ãL1ãã£ãã·ã¥ãL2ãã£ãã·ã¥ãL3ãã£ãã·ã¥ããœã±ããã
沌ãããŒããããŒãã
ããã»ã¹ãã€ã³ãã£ã³ã°ã®å Žå:
--ãã€ã³ãå
ããã»ã¹ãæå®ããããªããžã§ã¯ãã«ãã€ã³ãããŸããããã©ã«ã㯠ã ãµããŒããããŠãããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ã
ã¹ããããããŒããŠã§ã¢ã¹ã¬ãããã³ã¢ãl1cacheãl2cacheãl3cacheããœã±ããã沌ãããŒããããã³ãªãã
-cpus-per-proc, --cpus-per-proc <#perproc>
åããã»ã¹ãæå®ãããæ°ã® CPU ã«ãã€ã³ãããŸãã (--map- ãæšå¥šããããéæšå¥šã«ãªããŸãã)
ã«:PE=n)
-CPU ã©ã³ã¯ããš, --CPU ã©ã³ã¯ããš <#perrank>
ã®ãšã€ãªã¢ã¹ -cpus-per-procã (--map-by ãæšå¥šããããéæšå¥šã«ãªããŸãã) :PE=n)
-ã³ã¢ãžã®ãã€ã³ã, --ã³ã¢ã«ãã€ã³ã
ããã»ã¹ãã³ã¢ã«ãã€ã³ãããŸã (--bind-to core ãæšå¥šããããéæšå¥šã«ãªããŸãã)
-ãœã±ãããžã®ãã€ã³ã, --ãœã±ããã«ãã€ã³ã
ããã»ã¹ãããã»ããµãœã±ããã«ãã€ã³ãããŸã (--bind-toãœã±ãããåªå ããŠéæšå¥šã«ãªããŸãã)
-ãã€ã³ããªã, --none ã«ãã€ã³ã
ããã»ã¹ããã€ã³ãããªã (--bind-to none ãæšå¥šããããéæšå¥š)
-ã¬ããŒããã€ã³ãã£ã³ã°, --ã¬ããŒããã€ã³ãã£ã³ã°
èµ·åãããããã»ã¹ã®ãã€ã³ãã£ã³ã°ãå ±åããŸãã
-ã¹ããããªã¹ã, --ã¹ããããªã¹ã
MPI ããã»ã¹ã®ãã€ã³ãã«äœ¿çšãããããã»ããµ ID ã®ãªã¹ãã æå®ããããã€ã³ãã£ã³ã°
ãã¹ãŠã® MPI ããã»ã¹ã«é©çšãããŸãã æ§æã«ã€ããŠã¯ã以äžã®èª¬æãåç §ããŠãã ããã
ã©ã³ã¯ãã¡ã€ã«ã®å Žå:
-rf, --ã©ã³ã¯ãã¡ã€ã«
ã©ã³ã¯ãã¡ã€ã« ãã¡ã€ã«ãæäŸããŸãã
æšæº I/O ã管çããã«ã¯:
-åºåãã¡ã€ã«å, -åºåãã¡ã€ã«å
ãã¹ãŠã®ããã»ã¹ã® stdoutãstderrãããã³ stddiag ãããã»ã¹åºæã®ããã»ã¹ã«ãªãã€ã¬ã¯ãããŸãã
æå®ããããã¡ã€ã«åã®ããŒãžã§ã³ã ãã¡ã€ã«åå ã®ãã£ã¬ã¯ããªã¯ãã¹ãŠã
èªåçã«äœæãããŸãã ååºåãã¡ã€ã«ã¯ filename.id ã§æ§æãããŸãã
id 㯠MPI_COMM_WORLD å ã®ããã»ã¹ã®ã©ã³ã¯ã«ãªããŸãã
ãªã¹ãå ã®æ£ããé åºã
-æšæºå ¥å, --æšæºå ¥å
æšæºå ¥åãåä¿¡ããããã»ã¹ã® MPI_COMM_WORLD ã©ã³ã¯ã ããã©ã«ãã¯æ¬¡ã®ãšããã§ã
æšæºå ¥åã MPI_COMM_WORLD ã©ã³ã¯ 0 ã«è»¢éããŸããããã®ãªãã·ã§ã³ã¯è»¢éã«äœ¿çšã§ããŸãã
ä»»æã®ããã»ã¹ãžã®æšæºå ¥åã ãšæå®ããããšãå¯èœã§ã ãªãããããã瀺ããŸã
ããã»ã¹ã¯æšæºå ¥åãåä¿¡ããŸãã
-ã¿ã°åºå, --ã¿ã°åºå
åºåã®åè¡ã stdoutãstderrãstddiag ã«ã¿ã°ä»ãããŸãã [ãžã§ããããã
MCW_ã©ã³ã¯] ããã»ã¹ã®ãžã§ã ID ãš MPI_COMM_WORLD ã©ã³ã¯ã瀺ããŸãã
åºåãçæããããã»ã¹ãšãåºåãçæãããã£ãã«ã
-ã¿ã€ã ã¹ã¿ã³ãåºå, --ã¿ã€ã ã¹ã¿ã³ãåºå
stdoutãstderrãstddiag ãžã®åºåã®åè¡ã«ã¿ã€ã ã¹ã¿ã³ããä»ããŸãã
-xml, --xml
ãã¹ãŠã®åºåã xml 圢åŒã§ stdoutãstderrãããã³ stddiag ã«æäŸããŸãã
-xterm, --xterm
MPI_COMM_WORLD ã©ã³ã¯ã«ãã£ãŠèå¥ãããããã»ã¹ããã®åºåã衚瀺ããŸãã
åå¥ã® xterm ãŠã£ã³ããŠã ã©ã³ã¯ã¯ã次ã®ã³ã³ãåºåãã®ãªã¹ããšããŠæå®ãããŸãã
ç¯å²ã-1 ã¯ãã¹ãŠã瀺ããŸãã ããããã«å¥ã®ãŠã£ã³ããŠãäœæãããŸã
æå®ãããããã»ã¹ã ã泚æ: xterm ã¯éåžžãçµäºæã«ãŠã£ã³ããŠãçµäºããŸãã
ãã®äžã§å®è¡ãããŠããããã»ã¹ã®ã ãã ãããïŒããè¿œå ãããšã ãªã¹ãã®æåŸãŸã§
æå®ãããã©ã³ã¯ã®å Žåãxterm ã確å®ã«ç¶æããããã«é©åãªãªãã·ã§ã³ãæäŸãããŸãã
çªãéããŠããŸã After ããã»ã¹ãçµäºãããããããã»ã¹ã確èªã§ããããã«ãªããŸãã
åºåã ãã®åŸãå xterm ãŠã£ã³ããŠãæåã§éããå¿ èŠããããŸãã ã泚æ: In
äžéšã®ç°å¢ã§ã¯ãxterm ã§ã¯å®è¡å¯èœãã¡ã€ã«ããŠãŒã¶ãŒã®ãã¹ã«ããããšãå¿ èŠã«ãªãå ŽåããããŸãã
絶察æ¡ä»¶ãŸãã¯çžå¯Ÿæ¡ä»¶ã§æå®ã§ããŸãã ãããã£ãŠã次ã®æå®ãå¿ èŠã«ãªãå ŽåããããŸãã
ããŒã«ã«å®è¡å¯èœãã¡ã€ã«ã¯ãåãªããfooãã§ã¯ãªãã./fooããšããŠå®è¡ãããŸãã xterm ã
å®è¡å¯èœãã¡ã€ã«ãå®è¡ãããšãmpirun ã¯ãã³ã°ããŸãããctrl-c ã«ã¯æ£ããå¿çããŸãã ãããªã
å®è¡å¯èœãã¡ã€ã«ãæ£ããæå®ãããŠããããšã確èªããŠãè©ŠããŠãã ããã
åã³ã
ãã¡ã€ã«ãšã©ã³ã¿ã€ã ç°å¢ã管çããã«ã¯:
-é, - é
ããã¯ãèŠæ±ãããå®è¡å¯èœãã¡ã€ã«ãèŠã€ããããšãããšãã«äœ¿çšãããŸãã ãã
ããŒã«ã« PATH èšå®ã䜿çšããåã«äœ¿çšãããŸãã
--prefix
èšå®ã«äœ¿çšããããã¬ãã£ãã¯ã¹ ãã£ã¬ã¯ã㪠ãã¹ ãš LD_LIBRARY_PATH
Open MPI ãŸãã¯ã¿ãŒã²ãã ããã»ã¹ãåŒã³åºãåã«ããªã¢ãŒã ããŒããå®è¡ããŸãã ããªã¢ãŒãããåç §ããŠãã ããã
å®è¡ãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
--preload-binary
ãªã¢ãŒããéå§ããåã«ãæå®ãããå®è¡å¯èœãã¡ã€ã«ããªã¢ãŒã ãã·ã³ã«ã³ããŒããŸãã
ããã»ã¹ã å®è¡å¯èœãã¡ã€ã«ã¯ Open MPI ã»ãã·ã§ã³ ãã£ã¬ã¯ããªã«ã³ããŒããã
ãžã§ããå®äºãããšåé€ãããŸãã
--preload-files
ãã¡ã€ã«ã®ã«ã³ãåºåããªã¹ããçŸåšã®äœæ¥ãã£ã¬ã¯ããªã«ããªããŒãããŸãã
ããã»ã¹ãéå§ãããåã«ããã»ã¹ãèµ·åããããªã¢ãŒã ãã·ã³ã
--preload-files-dest-dir
çŸåšã®ãã£ã¬ã¯ããªä»¥å€ã®å ŽåãããªããŒã ãã¡ã€ã«ã«äœ¿çšãããå®å ãã£ã¬ã¯ããªã
äœæ¥ãã£ã¬ã¯ããªã ããã©ã«ãã§ã¯ãã«ãã£ãŠæäŸããã絶察ãã¹ãšçžå¯Ÿãã¹ã¯ã
--preload-files ã䜿çšãããŸãã
--tmpdir
mpirun ã®ã¿ã®ã»ãã·ã§ã³ ãã£ã¬ã¯ã㪠ããªãŒã®ã«ãŒããèšå®ããŸãã
-wd
ã®åçŸ©èª -wdir.
-wdir
ãã£ã¬ã¯ããªã«ç§»åããŸããŠãŒã¶ãŒã®ããã°ã©ã ãå®è¡ãããåã«ã ãçŸåšããåç §ããŠãã ããã
çžå¯Ÿãã¹ã«é¢ãã泚æäºé ã«ã€ããŠã¯ããäœæ¥ãã£ã¬ã¯ããªãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã ã泚æ: Status -wdir ãªãã·ã§ã³
ã³ãã³ãã©ã€ã³ãšã¢ããªã±ãŒã·ã§ã³ã³ã³ããã¹ãã®äž¡æ¹ã«è¡šç€ºãããå Žåãã³ã³ããã¹ãã¯
ã³ãã³ãã©ã€ã³ãããåªå ãããŸãã ãããã£ãŠãç®çã® wdir ãžã®ãã¹ã
ããã¯ãšã³ãããŒãäžã§ç°ãªãå Žåã¯ã絶察ãã¹ãšããŠæå®ããå¿ èŠããããŸãã
ããã¯ãšã³ã ããŒãã«é¢ããŠã¯æ£ããã§ãã
-x
ãå®è¡ããåã«ãæå®ãããç°å¢å€æ°ããªã¢ãŒã ããŒãã«ãšã¯ã¹ããŒãããŸãã
ããã°ã©ã ã XNUMX ã€ã«ã€ãæå®ã§ããç°å¢å€æ°ã¯ XNUMX ã€ã ãã§ã -x ãªãã·ã§ã³ã æ¢å
ç°å¢å€æ°ãæå®ããããšããæ°ããå€æ°åãæå®ããããšãã§ããŸãã
察å¿ããå€ã äŸãã°ïŒ
% mpirun -x DISPLAY -x OFILE=/tmp/out ...
ã®ããŒãµãŒ -x ãªãã·ã§ã³ã¯ããŸãæŽç·ŽãããŠããŸããã ããã¯ç解ããã§ããŸãã
åŒçšç¬Šã§å²ãŸããå€ã ãŠãŒã¶ãŒã¯ç°å¢ã«å€æ°ãèšå®ããŠãã䜿çšããããšããå§ãããŸãã
-x ãããããšã¯ã¹ããŒããã (å®çŸ©ããªã)ã
MCA ãã©ã¡ãŒã¿ã®èšå®:
-gmca, --gmca
ãã¹ãŠã®ã³ã³ããã¹ãã«é©çšã§ããã°ããŒãã« MCA ãã©ã¡ãŒã¿ãæž¡ããŸãã ã¯
ãã©ã¡ãŒã¿å; ãã©ã¡ãŒã¿å€ã§ãã
-mca, --mca
åŒæ°ãããŸããŸãª MCA ã¢ãžã¥ãŒã«ã«éä¿¡ããŸãã 以äžã®ãMCAãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ãããã°ã®å Žå:
-ãããã°, - ãããã°
ã§ç€ºããããŠãŒã¶ãŒã¬ãã«ã®ãããã¬ãŒãåŒã³åºããŸãã orte_base_user_debugger MCA
ãã©ã¡ãŒã¿ã«äžèŽããæåã®ããã€ã¹ã®ãªã¢ãŒãã³ã³ãããŒã« URL ãè¿ããŸãã
-ãããã¬, - ãããã¬
ãã€æ€çŽ¢ãããããã¬ã®ã·ãŒã±ã³ã¹ - ãããã° ã䜿çšãããŸãïŒã€ãŸãã
orte_base_user_debugger MCAãã©ã¡ãŒã¿ïŒã
-ãã¬ã, - ãã¬ã
TotalView ãããã¬ãŒã§ããã»ã¹ãèµ·åããŸãã éæšå¥šã®äžäœäºææ§
åœæã ã®åçŸ©èª - ãããã°.
ä»ã«ã次ã®ãªãã·ã§ã³ããããŸãã
--allow-root ãšããŠå®è¡
次ãèš±å¯ããŸãã ã ãã«ã³ root ãŠãŒã¶ãŒã«ããå®è¡æã«å®è¡ãããŸã (ã ãã«ã³ ããã©ã«ãã§ã¯äžæ¢ããã
root ãŠãŒã¶ãŒãšããŠèµ·åããå Žå)ã
-äžæ¢ãããŸãã, --äžæ¢ãããŸãã <#>
衚瀺ããäžæ¢ãããããã»ã¹ã®æ倧æ°ãèšå®ããŸãã
- ã¢ããª
ä»ã®ãã¹ãŠã®ã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ãç¡èŠããŠãappfile ãæå®ããŸãã
-cf, --cartofile
å°å³äœæãã¡ã€ã«ãæäŸããŸãã
--ããã
32/64 ããããæ··åšããè€æ°ã® app_context ãæäŸãããŠããããšã瀺ããŸã
ãã€ããªã
-leave-session-attached, --leave-session-attached
ãã®ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããã OmpiRTE ããŒã¢ã³ãåãé¢ããªãã§ãã ããã ããã«ãããšã©ãŒã¡ãã»ãŒãžã衚瀺ãããããã«ãªããŸã
ããŒã¢ã³ããã³åºç€ãšãªãç°å¢ããã®åœ±é¿ (äŸ: 倱æããå Žå)
ããŒã¢ã³ãèµ·åããŸãïŒãåºåãããŸãã
-ompi-ãµãŒããŒ, --ompi-ãµãŒã㌠<ãŠãª or ãã¡ã€ã«>
Open MPI ãµãŒã㌠(ãŸãã¯ãµãŒããŒãšããŠäœ¿çšãã mpirun) ã® URI ãæå®ããŸãã
ãã®æ å ±ãå«ããã¡ã€ã«ã®åå (file:filename ãšããŠæå®)ããŸãã¯
ãšããŠäœ¿çšããã mpirun ã® PID (pid:# ãšããŠæå®)
ãµãŒããŒã Open MPI ãµãŒããŒã¯ããã«ãã¢ããªã±ãŒã·ã§ã³ ããŒã¿ããµããŒãããããã«äœ¿çšãããŸãã
MPI-2 MPI_Publish_name ããã³ MPI_Lookup_name é¢æ°ãä»ããŠäº€æããŸãã
-ã¬ããŒã-pid, -- ã¬ããŒã pid
èµ·åæã« mpirun ã® PID ãåºåããŸãã ãã£ãã«ã¯ã-ããã indi ã®ããããã§ããå¿ èŠããããŸã
pid ã stdout ã«åºåãããããšã瀺ããŸããã+ã㯠pid ã stdout ã«åºåãããããšã瀺ããŸãã
stderr ã«åºåãããããpid ãæžã蟌ãŸãããã¡ã€ã«åã«ãªããŸãã
-ã¬ããŒã-uri, --ã¬ããŒã-uri
èµ·åæã« mpirun ã® URI ãåºåããŸãã ãã£ãã«ã¯ã-ããã indi ã®ããããã§ããå¿ èŠããããŸã
URI ã stdout ã«åºåãããããšã瀺ããŸããã+ãã¯ãURI ã stdout ã«åºåãããããšã瀺ããŸãã
stderr ã«åºåãããããURI ãæžã蟌ãŸãããã¡ã€ã«åã§ãã
-ãµãŒããŒåŸ ã¡, -- ãµãŒããŒåŸ ã¡
ompi-server ãæ€åºããããŸã§ããžã§ããèµ·åããåã« mpirun ãäžæåæ¢ããŸãã ããã¯äŸ¿å©ã§ã
ompi-server ãããã¯ã°ã©ãŠã³ãã§èµ·åãããããã«å®è¡ãããã¹ã¯ãªããå
ã«ãã£ãŠ ã ãã«ã³ æ¥ç¶ãåžæããã³ãã³ãã Mpirun ã¯æ¬¡ã®ããããã«ãªããŸã§äžæåæ¢ããŸãã
æå®ããã ompi-server ã«æ¥ç¶ããããserver-wait-time ãè¶ éããŸããã
-ãµãŒããŒåŸ æ©æé, -- ãµãŒããŒåŸ æ©æé
mpirun ã ompi-server ãåŸ æ©ããæ倧æé (ç§åäœ)ã
å§ããã ããã©ã«ã㯠10 ç§ã§ãã
次ã®ãªãã·ã§ã³ã¯éçºè ã«ãšã£ãŠäŸ¿å©ã§ãã äžè¬ã«ããããã¯ã»ãšãã©ã®äººã«ãšã£ãŠåœ¹ã«ç«ã¡ãŸãã
ORTE ããã³/ãŸã㯠MPI ãŠãŒã¶ãŒ:
-d, --debug-éçº
OmpiRTE (Open MPI ã®ã©ã³ã¿ã€ã å±€) ã®ãããã°ãæå¹ã«ããŸãã ããã§ã¯ãããŸãã
éåžžãã»ãšãã©ã®ãŠãŒã¶ãŒã«ãšã£ãŠäŸ¿å©ã§ãã
--ãããã°ããŒã¢ã³
ãã®ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããã OmpiRTE ããŒã¢ã³ã®ãããã°ãæå¹ã«ããŸãã
--ãããã°ããŒã¢ã³ãã¡ã€ã«
ãã®ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããã OmpiRTE ããŒã¢ã³ã®ãããã°ãæå¹ã«ããåºåã次ã®å Žæã«ä¿åããŸãã
ãã¡ã€ã«ã
-èµ·åãšãŒãžã§ã³ã, --èµ·åãšãŒãžã§ã³ã
ãªã¢ãŒã ããŒãã§ããã»ã¹ãéå§ããããã«äœ¿çšãããå®è¡å¯èœãã¡ã€ã«ã®ååã
ããã©ã«ãã¯ãortedãã§ãã ãã®ãªãã·ã§ã³ã¯ãæ°ããããŒã¢ã³ã®æŠå¿µããã¹ããããã
mpirun èªäœã«ãªãã·ã§ã³ãèªèãããã«ããªãã·ã§ã³ãããŒã¢ã³ã«æž¡ããŸãã ããã«
ããšãã°ãorted -mca odls_base_verbose 5 ã®èµ·åãšãŒãžã§ã³ããæå®ãããšã
éçºè ã¯ãmpirun èªäœããã®æ··ä¹±ãé¿ããããã« orted ã«ãããã°åºåãèŠæ±ããŸãã
--noprefix
èªå --prefix åäœãç¡å¹ã«ãã
ä»ã®ãªãã·ã§ã³ããªã¹ããããŠããå ŽåããããŸã ã ãã«ã³ - å©ããŠ.
ç°å¢ Variables
MPIEXEC_TIMEOUT
æ倧ç§æ° ã ãã«ã³ (mpiexecïŒãå®è¡ãããŸãã ãã®åŸããããã®
ç§ã ã ãã«ã³ èµ·åããããžã§ããäžæ¢ããŠçµäºããŸãã
DESCRIPTION
XNUMXåã®åŒã³åºãã§ã ã ãã«ã³ Open MPI ã§å®è¡ããã MPI ã¢ããªã±ãŒã·ã§ã³ãéå§ããŸãã ãã
ã¢ããªã±ãŒã·ã§ã³ã¯åäžããã»ã¹è€æ°ããŒã¿ (SPMD) ã§ãããã¢ããªã±ãŒã·ã§ã³ã¯
ã ã ãã«ã³ ã³ãã³ãã©ã€ã³ã
ã¢ããªã±ãŒã·ã§ã³ãè€æ°ã®åœä»€ã§æ§æãããè€æ°ããŒã¿ (MIMD) ã®å Žåã
ããã°ã©ã ãããã°ã©ã ã®ã»ãããããã³åŒæ°ã¯ã次㮠XNUMX ã€ã®æ¹æ³ã®ããããã§æå®ã§ããŸãã
ã³ãã³ãã©ã€ã³åŒæ°ãšã¢ããªã±ãŒã·ã§ã³ã³ã³ããã¹ãã
ã¢ããªã±ãŒã·ã§ã³ ã³ã³ããã¹ãã¯ããã¹ãŠã®åŒæ°ãå«ã MIMD ããã°ã©ã ã»ãããèšè¿°ããŸãã
å¥ã®ãã¡ã€ã«ã ãã®ãã¡ã€ã«ã«ã¯åºæ¬çã«è€æ°ã®ãã¡ã€ã«ãå«ãŸããŠããŸã ã ãã«ã³ ã³ãã³ãã©ã€ã³ã
ã³ãã³ãåãã®ãã®ã ç°ãªããªãã·ã§ã³ãæå®ããæ©èœ
ããã°ã©ã ã®ã€ã³ã¹ã¿ã³ã¹åããã¢ããªã±ãŒã·ã§ã³ ã³ã³ããã¹ãã䜿çšããçç±ã® XNUMX ã€ã§ãã
æ¡åŒµã³ãã³ãã©ã€ã³åŒæ°ã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ã®ã¬ã€ã¢ãŠãã
ã³ãã³ã䜿çšããã³ãã³ãã©ã€ã³ (:) ããã°ã©ã ãšåŒæ°ã®æå®ãåºåããŸãã
äžéšã®ãªãã·ã§ã³ã¯ãæå®ããããã¹ãŠã®ããã°ã©ã ã«ããã£ãŠã°ããŒãã«ã«èšå®ãããŸã (äŸ: --hostfile)ã
ãã®ä»ã¯åäžã®ããã°ã©ã ã«åºæã§ã (äŸ: -np)ã
æå® äž»å¬è Nodes
ãã¹ã ããŒãã¯ã ã ãã«ã³ ã䜿çšããã³ãã³ãã©ã€ã³ -ãã¹ã ãªãã·ã§ã³ãŸãã¯
ãã¹ããã¡ã€ã«ã
ããšãã°ã
mpirun -H aa,aa,bb ./a.out
ããŒã aa 㧠XNUMX ã€ã®ããã»ã¹ãèµ·åããbb 㧠XNUMX ã€ã®ããã»ã¹ãèµ·åããŸãã
ãŸãã¯ããã¹ããã¡ã€ã«ãèæ ®ããŠãã ãã
% ç« myhostfile
åäžã¹ããã=2
bbã¹ããã=2
cc ã¹ããã = 2
ããã§ã¯ããã¹ãå (aaãbbãããã³ cc) ã®äž¡æ¹ãšããã¹ããããã®æ°ããªã¹ãããŸãã
åã ã¹ãããã¯ãããŒãäžã§å®è¡ã§ããããã»ã¹ã®æ°ã瀺ããŸãã æåã®ããã«
ããã©ãŒãã³ã¹ã«å¿ããŠãã¹ãããã®æ°ã¯ããŒãäžã®ã³ã¢ã®æ°ã«åãããŠéžæã§ããŸãã
ããã»ããµãœã±ããã®æ°ã ãã¹ããã¡ã€ã«ãã¹ãããæ å ±ãæäŸããªãå Žåã
ããã©ã«ãã® 1 ãæ³å®ãããŸãã ãªãœãŒã¹ ãããŒãžã£ãŒ (SLURMãTorqueã
ãªã©)ãOpen MPI ã¯ãã¹ãåãšã¹ãããæ°ã®äž¡æ¹ããã¹ãããçŽæ¥ååŸããŸãã
ãªãœãŒã¹ãããŒãžã£ãŒã
mpirun -hostfile myhostfile ./a.out
XNUMX ã€ã®ããŒãã®ãããã㧠XNUMX ã€ã®ããã»ã¹ãèµ·åããŸãã
mpirun -hostfile myhostfile -host aa ./a.out
XNUMX ã€ã®ããã»ã¹ãäž¡æ¹ãšãããŒã aa äžã§èµ·åãããŸãã
mpirun -hostfile myhostfile -host dd ./a.out
å®è¡ãããã¹ããèŠã€ãããããšã©ãŒãçºçããŠäžæ¢ãããŸãã ã€ãŸããæå®ããããã¹ã dd
æå®ããããã¹ããã¡ã€ã«ã«ãããŸããã
æå® æ° of ããã»ã¹
ãããŸã§èŠãŠããããã«ãå®è¡ããããã»ã¹ã®æ°ã¯ãhostfile ã䜿çšããŠèšå®ã§ããŸãã ä»ã®
ã¡ã«ããºã ãååšããŸãã
èµ·åãããããã»ã¹ã®æ°ã¯ãããŒãæ°ã®åæ°ãšããŠæå®ããããšãã
ããã»ããµãœã±ãããå©çšå¯èœã§ãã äŸãã°ã
mpirun -H aa,bb -npersocket 2 ./a.out
ããã»ã¹ 0 ïœ 3 ãããŒã aa ã§èµ·åããããã»ã¹ 4 ïœ 7 ãããŒã bb ã§èµ·åããŸããããã§ãaa ãš bb ã¯äž¡æ¹ãšã
ãã¥ã¢ã«ãœã±ããããŒãã ã® -npersocket ãªãã·ã§ã³ããªã³ã«ãªããŸã -ãœã±ãããžã®ãã€ã³ã ãªãã·ã§ã³ã
ããã«ã€ããŠã¯åŸã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
mpirun -H aa,bb -npernode 2 ./a.out
ããã»ã¹ 0 ïœ 1 ãããŒã aa ã§èµ·åããããã»ã¹ 2 ïœ 3 ãããŒã bb ã§èµ·åããŸãã
mpirun -H aa,bb -npernode 1 ./a.out
ãã¹ã ããŒãããšã« XNUMX ã€ã®ããã»ã¹ãèµ·åããŸãã
mpirun -H aa,bb -pernode ./a.out
ãšåãã§ãã -npernode 1.
ãã XNUMX ã€ã®æ¹æ³ã¯ãããã»ã¹ã®æ°ãæå®ããããšã§ãã -np ãªãã·ã§ã³ã æ€èš
ä»ã¯ãã¹ããã¡ã€ã«
% ç« myhostfile
åäžã¹ããã=4
bbã¹ããã=4
cc ã¹ããã = 4
ä»ã
mpirun -hostfile myhostfile -np 6 ./a.out
ããã»ã¹ 0 ïœ 3 ã¯ããŒã aa ã§èµ·åãããããã»ã¹ 4 ïœ 5 ã¯ããŒã bb ã§èµ·åãããŸãã æ®ã
ãã¹ããã¡ã€ã«å ã®ã¹ãããã¯äœ¿çšãããŸããã -np ãªãã·ã§ã³ã¯ 6 ã®ã¿ã瀺ããŸãã
ããã»ã¹ãéå§ããå¿ èŠããããŸãã
ãããã³ã° ããã»ã¹ ããž ããŒãïŒ äœ¿ãæ¹ æ¿ç
äžèšã®äŸã¯ãããã»ã¹ process ã®ããŒããžã®ããã©ã«ãã®ãããã³ã°ã瀺ããŠããŸãã ãã
ãããã³ã°ã¯ããŸããŸãªæ¹æ³ã§å¶åŸ¡ããããšãã§ããŸã ã ãã«ã³ ãããã³ã° ããªã·ãŒã説æãããªãã·ã§ã³ã
äžèšãšåããã¹ããã¡ã€ã«ãããäžåºŠèããŠã¿ãŸãããã -np 6:
ããŒã aa ããŒã bb ããŒã cc
ã ãã«ã³ 0 1 2 3 4 5
mpirun --map-by ããŒã 0 3 1 4 2 5
mpirun -nolocal 0 1 2 3 4 5
ãã® --map-by ãªãã·ã§ã³ã¯ãå©çšå¯èœãªããŒãéã§ããã»ã¹ã®è² è·ãåæ£ããŸãã
ã©ãŠã³ãããã³æ¹åŒã§åããã»ã¹ã«çªå·ãä»ããŸãã
ãã® -nolocal ãã®ãªãã·ã§ã³ã¯ãããã»ã¹ãããŒã«ã« ãã¹ãã«ããããããã®ãé²ããŸã (ãã®äŸã§ã¯
ã±ãŒã¹ããŒã aa)ã ãã®é ã ãã«ã³ éåžžãã·ã¹ãã ãªãœãŒã¹ãã»ãšãã©æ¶è²»ããŸããã -nolocal ããããšãã§ããŸã
éåžžã«å€§èŠæš¡ãªãžã§ããéå§ããå Žåã«åœ¹ç«ã¡ãŸãã ã ãã«ã³ å®éã«ã¯ç®ç«ã€ããã«äœ¿çšããå¿ èŠããããããããŸãã
ã¡ã¢ãªéãåŠçæéã
åãããã« -np ã¹ããããããå°ãªãããã»ã¹ãæå®ã§ãããªãŒããŒãµãã¹ã¯ã©ã€ãããããšãã§ããŸã
ã¹ãããã ããšãã°ãåããã¹ããã¡ã€ã«ã䜿çšãããšã次ã®ããã«ãªããŸãã
mpirun -hostfile myhostfile -np 14 ./a.out
ããŒã aa ã§ããã»ã¹ 0 ïœ 3ãbb ã§ããã»ã¹ 4 ïœ 7ãcc ã§ããã»ã¹ 8 ïœ 11 ãèµ·åããŸãã 次ã«ã
æ®ãã® XNUMX ã€ã®ããã»ã¹ã¯ãéžæããããŒãã«éä¿¡ãããŸãã
ãªãŒããŒãµãã¹ã¯ãªãã·ã§ã³ã«å¯Ÿããå¶éãæå®ããããšãã§ããŸãã ããšãã°ãåããã¹ããã¡ã€ã«ã䜿çšãããšã次ã®ããã«ãªããŸãã
mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out
ãšã©ãŒãçºçããŸãã®ã§ã -nooversubscribe ãªãŒããŒãµãã¹ã¯ãªãã·ã§ã³ãé²ããŸãã
ãªãŒããŒãµãã¹ã¯ãªãã·ã§ã³ã®å¶éã¯ããã¹ããã¡ã€ã«èªäœã§æå®ããããšãã§ããŸãã
% ç«ã® myhostfile
aa ã¹ããã = 4 max_slots = 4
bb max_slots=4
cc ã¹ããã = 4
ãã® æ倧ã¹ãããæ° ãã£ãŒã«ãã§ãã®ãããªå¶éãæå®ããŸãã ãããªããšã ã¹ããã å€ã®ããã©ã«ãã¯
éçã ä»ïŒ
mpirun -hostfile myhostfile -np 14 ./a.out
æåã® 12 ããã»ã¹ã¯ä»¥åãšåæ§ã«èµ·åãããŸãããæ®ãã® XNUMX ããã»ã¹ã¯èµ·åãããŸããã
ããã»ã¹ã¯ããŒã cc ã«åŒ·å¶çã«é 眮ãããŸãã ä»ã® XNUMX ã€ã®ããŒãã¯ã
ãã®ãžã§ãã«ãããªãŒããŒãµãã¹ã¯ãªãã·ã§ã³ã«å¯Ÿãããã¹ããã¡ã€ã«ã
䜿ãæ¹ --nooversubscribe Open MPI ã¯çŸåšååŸã§ããªãããããã®ãªãã·ã§ã³ã¯åœ¹ã«ç«ã¡ãŸãã
ãªãœãŒã¹ãããŒãžã£ãŒããã®ãmax_slotsãå€ã
ãã¡ããã -np ãšäžç·ã«äœ¿çšããããšãã§ããŸã -H or -ãã¹ã ãªãã·ã§ã³ã äŸãã°ã
mpirun -H aa,bb -np 8 ./a.out
8ã€ã®ããã»ã¹ãèµ·åããŸãã ãã¹ãã XNUMX ã€ã ãæå®ãããŠãããããæåã® XNUMX ã€ã®ãã¹ãã®åŸã«
ããã»ã¹ã¯ XNUMX ã€ã aa ã«ããã XNUMX ã€ã bb ã«ããããããæ®ãã®ããã»ã¹ã¯ãªãŒããŒãµãã¹ã¯ã©ã€ãããŸã
æå®ããããã¹ãã
MIMD ã®äŸã¯æ¬¡ã®ãšããã§ãã
mpirun -H aa -np 1 ãã¹ãå : -H bb,cc -np 2 皌åæé
å®è¡äžã®ããã»ã¹0ãèµ·åããŸã hostname ããŒã aa äžã§ããã»ã¹ 1 ãš 2 ãããããå®è¡äž
uptime ããããããŒã bb ãš cc äžã«ãããŸãã
ãããã³ã°ã ã©ã³ãã³ã°ã ãš ãã€ã³ãã£ã³ã°ïŒ Oh ç§ã®ïŒ
Open MPI ã§ã¯ãããã»ã¹ã®å Žæãšã©ã³ã¯ãå²ãåœãŠãããã« XNUMX 段éã®æé ãæ¡çšãããŠããŸãã
ãããã³ã° åããã»ã¹ã«ããã©ã«ãã®å Žæãå²ãåœãŠãŸã
ã©ã³ãã³ã° MPI_COMM_WORLD ã©ã³ã¯å€ãåããã»ã¹ã«å²ãåœãŠãŸã
ææ åããã»ã¹ãç¹å®ã®ããã»ããµäžã§å®è¡ããããã«å¶çŽããŸãã
ãã® ãããã³ã° ã¹ãããã¯ãããããŒã«åºã¥ããŠåããã»ã¹ã«ããã©ã«ãã®å Žæãå²ãåœãŠãããã«äœ¿çšãããŸãã
éçšãããŠããã ã¹ããããããŒããããã³é ã«ãããã³ã°ãããšã
ããŒãã¬ãã«ãŸã§åŠçããŸãã å¯Ÿç §çã«ããªããžã§ã¯ãã«ãããããã³ã°ã§ã¯ãããããŒã¯æ¬¡ã®ããšãå²ãåœãŠãããšãã§ããŸãã
åããŒãäžã§å®éã®ãªããžã§ã¯ããžã®åŠçãè¡ããŸãã
ã泚æ: ããã»ã¹ã«å²ãåœãŠãããå Žæã¯ãããã»ã¹ããã€ã³ããããå Žæãšã¯ç¡é¢ä¿ã§ãã
å²ãåœãŠã¯ããã€ã³ãã£ã³ã° ã¢ã«ãŽãªãºã ãžã®å ¥åãšããŠã®ã¿äœ¿çšãããŸãã
ããã»ã¹ããã»ã¹ã®ããŒããžã®ãããã³ã°ã¯ãäžè¬çãªããªã·ãŒã ãã§ãªãå®çŸ©ããããšãã§ããŸã
ãŸããå¿ èŠã«å¿ããŠãåçŽãªè¡šçŸã§ã¯èšè¿°ã§ããªãä»»æã®ãããã³ã°ã䜿çšããããšãã§ããŸãã
ããªã·ãŒã ãã¹ããã¡ã€ã«ã XNUMX è¡ãã€èªã¿åããã·ãŒã±ã³ã·ã£ã« ããããŒãã䜿çšã§ããŸãã
ãã¹ããã¡ã€ã«ã§æå®ãããé åºã§ããã»ã¹ãããŒãã«å²ãåœãŠãŸãã äœ¿çš -mca ããã
seq ãªãã·ã§ã³ã ããšãã°ãåãšåããã¹ããã¡ã€ã«ã䜿çšããŸãã
mpirun -hostfile myhostfile -mca rmaps seq ./a.out
ã¯ãããŒã aaãbbãããã³ cc ã®ããããã« XNUMX ã€ãã€ãåèš XNUMX ã€ã®ããã»ã¹ãèµ·åããŸãã ã¹ããã
æ°ã¯é¢ä¿ãããŸããã ãªã¹ããããŠããããŒãäžã§ XNUMX è¡ããšã« XNUMX ã€ã®ããã»ã¹ãèµ·åãããŸãã
ã©ã€ã³ã
ä»»æã®ãããã³ã°ãæå®ãããã XNUMX ã€ã®æ¹æ³ã¯ãã©ã³ã¯ãã¡ã€ã«ã䜿çšããããšã§ãã
ããã»ã¹ãã€ã³ãã£ã³ã°ãå¶åŸ¡ããŸãã ã©ã³ã¯ãã¡ã€ã«ã«ã€ããŠã¯ä»¥äžã§èª¬æããŸãã
第 XNUMX ãã§ãŒãºã§ã¯ã次ã®ç¹ã«çŠç¹ãåœãŠãŸãã ã©ã³ãã³ã° ãžã§ãã® MPI_COMM_WORLD å ã®ããã»ã¹ã®ã
Open MPI ã¯ããããããã³ã°æé ããåé¢ããããæè»ãªãããã³ã°æé ãå¯èœã«ããŸãã
MPI ããã»ã¹ã®çžå¯Ÿçãªé 眮ã ããã¯ã次ã®ããšãèæ ®ãããšããããããŸãã
âmap-by ppr:2:socket ãªãã·ã§ã³ã䜿çšãã XNUMX ã€ã®ã±ãŒã¹:
ããŒã aa ããŒã bb
ã©ã³ã¯ãã€ã³ã¢0 1 ! 2 3 4 5 ! 6 7
ã©ã³ã¯ãã€ãœã±ãã 0 2 ! 1 3 4 6 ! 5 7
ã©ã³ã¯å¥ãœã±ãã:ã¹ãã³ 0 4 ! 1 5 2 6 ! 3 7
ã³ã¢å¥ãšã¹ãããå¥ã®ã©ã³ãã³ã°ã§ã¯åãçµæãåŸãããŸããããã¯åçŽãªçµéã§ãã
MPI_COMM_WORLD ã¯åããŒãå šäœã§ã©ã³ã¯ä»ããããŸãã ãœã±ããããšã®ã©ã³ãã³ã°ã¯ã以äžã®ç¯å²å ã§ã©ãŠã³ãããã³ ã©ã³ãã³ã°ãå®è¡ããŸãã
ãã¹ãŠã®ããã»ã¹ã« MCW ã©ã³ã¯ãå²ãåœãŠããããŸã§åããŒããå®è¡ãããã®åŸã
次ã®ããŒãã ãè¿œå ãããšã ã¹ãã³ ã©ã³ãã³ã° ãã£ã¬ã¯ãã£ãã®ä¿®é£Ÿåã«ãããã©ã³ãã³ã° ã¢ã«ãŽãªãºã ãå®è¡ãããŸãã
å²ãåœãŠå šäœãåäžã®ãšã³ãã£ãã£ãšããŠæ±ããããMCW ã©ã³ã¯ãå²ãåœãŠãããŸãã
æåã«æ»ãåã«ããã¹ãŠã®ãœã±ããã«ããã£ãŠå®è¡ããŸãã
ãã® ææ ãã§ãŒãºã¯å®éã«åããã»ã¹ãç¹å®ã®ããã»ããµã®ã»ããã«ãã€ã³ãããŸãã ããã¯ã§ãã
ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãããã»ã¹ãæé©ã«é 眮ããŠããªãå Žåã¯ãããã©ãŒãã³ã¹ãåäžããŸãã ããã«
ããšãã°ãäžéšã®ãã«ãã³ã¢ ããã»ããµ ãœã±ããããªãŒããŒãµãã¹ã¯ã©ã€ãããä»ã®ãœã±ãããæ®ãå¯èœæ§ããããŸãã
ã¢ã€ãã«ç¶æ ã ããã«ãããããã»ã¹ãå ±éãªãœãŒã¹ãæ±ããŠäžå¿ èŠã«ç«¶åããå¯èœæ§ããããŸãã ãããã¯ããã
ããã»ã¹ãåºç¯å²ã«åæ£ããããå¯èœæ§ããããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœãå Žåãããã¯æé©ã§ã¯ãªãå¯èœæ§ããããŸã
ããã»ã¹ééä¿¡ã³ã¹ãã«ææã§ãã ãã€ã³ãã£ã³ã°ã¯åäœãç¶æããããšãã§ããŸã
ããã»ã¹ãã©ãã»ã©æé©ã§ãããã«é¢ä¿ãªããã·ã¹ãã ã¯ããã»ã¹ãé床ã«ç§»è¡ããªãããã«ããŸãã
åããã眮ãããŠããŸããã
ãã€ã³ãã£ã³ã°ã«äœ¿çšãããããã»ããµã¯ãããããžãŒ ã°ã«ãŒãã®èŠ³ç¹ããèå¥ã§ããŸãã
- ããšãã°ãl3cache ã«ãã€ã³ããããšãåããã»ã¹ãã¹ã³ãŒãå ã®ãã¹ãŠã®ããã»ããµã«ãã€ã³ããããŸãã
å²ãåœãŠãããå Žæå ã®åäžã® L3 ãã£ãã·ã¥ã ãããã£ãŠãããã»ã¹ã
ããããŒãç¹å®ã®ãœã±ããã«èšå®ããŠããã âãã€ã³ãå l3ãã£ãã·ã¥ ãã£ã¬ã¯ãã£ãã«ããããã»ã¹ã¯æ¬¡ã®ããã«ãªããŸã
ãã®ãœã±ããå ã§åäžã® L3 ãã£ãã·ã¥ãå ±æããããã»ããµã«ãã€ã³ããããŸãã
è² è·ã®ãã©ã³ã¹ããšãããã«ããã€ã³ãã£ã³ã° ãã£ã¬ã¯ãã£ãã¯ããã€ã³ããããšãã«ã©ãŠã³ãããã³æ¹åŒã䜿çšããŸãã
ããããŒã§äœ¿çšãããã¬ãã«ãããäœãã¬ãã«ã ããšãã°ããžã§ãããããã³ã°ãããŠããå ŽåãèããŠã¿ãŸãããã
ãœã±ããã¬ãã«ã«ãã€ã³ããããŠãããã³ã¢ã«ãã€ã³ããããŸãã åãœã±ããã«ã¯è€æ°ã®ã³ã¢ãããããã
è€æ°ã®ããã»ã¹ãç¹å®ã®ãœã±ããã«ãããããããšããã€ã³ãã£ã³ã° ã¢ã«ãŽãªãºã ã«ãã£ãŠããããã®ããã»ã¹ãå²ãåœãŠãããŸãã
ã©ãŠã³ãããã³æ¹åŒã§ããœã±ããã«é 眮ãããããã»ã¹ãäžæã®ã³ã¢ã«å²ãåœãŠãŸãã
ãããã¯ãl2cache ã«ãã£ãŠããããããŠãããœã±ããã«ãã€ã³ããããããã»ã¹ã¯ãåçŽã«ãã€ã³ããããŸãã
ããããé 眮ãããŠãããœã±ããå ã®ãã¹ãŠã®ããã»ããµãŒã«éä¿¡ãããŸãã ãã®ããã«ããŠããŠãŒã¶ãŒã¯æ¬¡ã®ããšãã§ããŸãã
çžå¯Ÿç㪠MCW ã©ã³ã¯ã®äœçœ®ãšãã€ã³ãã£ã³ã°ã詳现ã«å¶åŸ¡ããŸãã
æåŸã«ã --ã¬ããŒããã€ã³ãã£ã³ã° ãã€ã³ãã£ã³ã°ã®ã¬ããŒãã«äœ¿çšã§ããŸãã
äŸãšããŠãããããã XNUMX ã€ã®ã³ã¢ã§æ§æããã XNUMX ã€ã®ããã»ããµ ãœã±ãããæã€ããŒããèããŠã¿ãŸãããã ç§ãã¡
ã©ã³ ã ãã«ã³ ã -np 4 --ã¬ããŒããã€ã³ãã£ã³ã° ããã³æ¬¡ã®è¿œå ãªãã·ã§ã³:
% mpirun ... --map-by core --bind-to core
[...] ... å [...,0] ã CPU 0001 ã«ãã€ã³ãããŠããŸã
[...] ... å [...,1] ã CPU 0002 ã«ãã€ã³ãããŠããŸã
[...] ... å [...,2] ã CPU 0004 ã«ãã€ã³ãããŠããŸã
[...] ... å [...,3] ã CPU 0008 ã«ãã€ã³ãããŠããŸã
% mpirun ... --map-by ãœã±ãã --bind-to ãœã±ãã
[...] ... å [...,0] ããœã±ãã 0 cpus 000f ã«ãã€ã³ãããŠããŸã
[...] ... å [...,1] ããœã±ãã 1 cpus 00f0 ã«ãã€ã³ãããŠããŸã
[...] ... å [...,2] ããœã±ãã 0 cpus 000f ã«ãã€ã³ãããŠããŸã
[...] ... å [...,3] ããœã±ãã 1 cpus 00f0 ã«ãã€ã³ãããŠããŸã
% mpirun ... --map-by core:PE=2 --bind-to core
[...] ... å [...,0] ã CPU 0003 ã«ãã€ã³ãããŠããŸã
[...] ... å [...,1] ã CPU 000c ã«ãã€ã³ãããŠããŸã
[...] ... å [...,2] ã CPU 0030 ã«ãã€ã³ãããŠããŸã
[...] ... å [...,3] ã CPU 00c0 ã«ãã€ã³ãããŠããŸã
% mpirun ... --bind-to none
ããã§ã¯ã --ã¬ããŒããã€ã³ãã£ã³ã° ã¯ãåããã»ã¹ã®ãã€ã³ãã£ã³ã°ããã¹ã¯ãšããŠç€ºããŠããŸãã æåã®ã±ãŒã¹ã§ã¯ã
ããã»ã¹ã¯ããã¹ã¯ 0001ã0002ã0004ãããã³
0008. XNUMX çªç®ã®ã±ãŒã¹ã§ã¯ãããã»ã¹ã¯ã瀺ãããŠããããã«ãé£ç¶ãããœã±ããäžã®ãã¹ãŠã®ã³ã¢ã«ãã€ã³ããããŸãã
ãã¹ã¯ 000f ããã³ 00f0 ã«ãã£ãŠã ããã»ã¹ã¯ããã»ããµ ãœã±ãããã©ãŠã³ãã§åŸªç°ããŸãã
ããã³ãã¡ãã·ã§ã³ãå¿ èŠãªã ãäœåºŠã§ãã 2 çªç®ã®ã±ãŒã¹ã§ã¯ããã¹ã¯ã¯æ¬¡ã®ããšã瀺ããŠããŸãã
ã³ã¢ã¯ããã»ã¹ããšã«ãã€ã³ããããŠããŸãã XNUMX çªç®ã®ã±ãŒã¹ã§ã¯ããã€ã³ãã£ã³ã°ããªãã«ãªãã
ãã€ã³ãã£ã³ã°ãå ±åãããŠããŸãã
Open MPI ã«ããããã»ã¹ ãã€ã³ãã£ã³ã°ã®ãµããŒãã¯ãåºç€ãšãªããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãã£ãŠç°ãªããŸãã
ãããã£ãŠãç¹å®ã®ããã»ã¹ ãã€ã³ã ãªãã·ã§ã³ã¯ãã¹ãŠã®ã·ã¹ãã ã§å©çšã§ããããã§ã¯ãããŸããã
ããã»ã¹ ãã€ã³ãã£ã³ã°ã¯ãMCA ãã©ã¡ãŒã¿ãŒã䜿çšããŠèšå®ããããšãã§ããŸãã ãããã®äœ¿çšæ³ã¯ä»¥äžãããäžäŸ¿ã§ã
ã® ã ãã«ã³ ãªãã·ã§ã³ã äžæ¹ãMCA ãã©ã¡ãŒã¿ã¯ã
ã ãã«ã³ ã³ãã³ãã©ã€ã³ããŸãã¯ã·ã¹ãã ãŸãã¯ãŠãŒã¶ãŒã® mca-params.conf ãã¡ã€ã«å ããããã¯
以äžã® MCA ã»ã¯ã·ã§ã³ã§èª¬æãããŠããããã«ãç°å¢å€æ°ã äŸãšããŠã¯æ¬¡ã®ãããªãã®ããããŸãã
mpirun ãªãã·ã§ã³ MCA ãã©ã¡ãŒã¿ã®ããŒå€
--map-by ã³ã¢ rmaps_base_mapping_policy ã³ã¢
--map-by ãœã±ãã rmaps_base_mapping_policy ãœã±ãã
--rank-by ã³ã¢ rmaps_base_ranking_policy ã³ã¢
--bind-to core hwloc_base_binding_policy core
--ãœã±ãããžã®ãã€ã³ã hwloc_base_binding_policy ãœã±ãã
--bind-to ãªã hwloc_base_binding_policy ãªã
ã©ã³ã¯ãã¡ã€ã«
Rankfile ã¯ãåã ã®ããã»ã¹ã®è©³çŽ°æ å ±ãæå®ããããã¹ã ãã¡ã€ã«ã§ãã
ããŒãã«ãããã³ã°ããå¿ èŠããããã©ã®ããã»ããµã«ãã€ã³ãããå¿ èŠããããŸãã ã®åè¡
Rankfile 㯠XNUMX ã€ã®ããã»ã¹ã®å Žæãæå®ããŸã (MPI ãžã§ãã®å Žåãããã»ã¹ã®ãã©ã³ã¯ãã¯ããã»ã¹ãæããŸã)
MPI_COMM_WORLD ã§ã®ã©ã³ã¯ã«)ã ã©ã³ã¯ãã¡ã€ã«ã®åè¡ã®äžè¬çãªåœ¢åŒã¯æ¬¡ã®ãšããã§ãã
ã©ã³ã¯= ã¹ããã=
äŸïŒ
$ç«myrankfile
ã©ã³ã¯ 0=aa ã¹ããã=1:0-2
ã©ã³ã¯1=BBã¹ããã=0:0,1
ã©ã³ã¯ 2=cc ã¹ããã=1-2
$ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out
ãšããæå³ã§ã
ã©ã³ã¯ 0 ã¯ããŒã aa ã§å®è¡ãããè«çãœã±ãã 1ãã³ã¢ 0 ïœ 2 ã«ãã€ã³ããããŸãã
ã©ã³ã¯ 1 ã¯ããŒã bb äžã§å®è¡ãããè«çãœã±ãã 0ãã³ã¢ 0 ããã³ 1 ã«ãã€ã³ããããŸãã
ã©ã³ã¯ 2 ã¯ããŒã cc äžã§å®è¡ãããè«çã³ã¢ 1 ããã³ 2 ã«ãã€ã³ããããŸãã
代ããã« Rankfile ã䜿çšããŠæå®ããããšãã§ããŸã ç©çç㪠ããã»ããµã®å Žæã ãã®å Žåã
æ§æã¯å€å°ç°ãªããŸãã ãœã±ãããèªèãããªããªããã¹ãããçªå·ã
ã»ãšãã©ã® OS ã¯äžæã®ç©ç PU ãå²ãåœãŠãªããããæå®ãããã®ã¯ç©ç PU ã®çªå·ã§ããå¿ èŠããããŸãã
ããŒãå ã®åã³ã¢ã®èå¥åã ãããã£ãŠãé©åãªç©çã©ã³ã¯ãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
以äž
$ cat myphysicalrankfile
ã©ã³ã¯ 0=aa ã¹ããã=1
ã©ã³ã¯1=BBã¹ããã=8
ã©ã³ã¯ 2=cc ã¹ããã=6
ããã¯ã
ã©ã³ã¯ 0 ã¯ãç©ç PU 1 ãå«ãã³ã¢ã«ãã€ã³ããããããŒã aa ã§å®è¡ãããŸãã
ã©ã³ã¯ 1 ã¯ãç©ç PU 8 ãå«ãã³ã¢ã«ãã€ã³ããããããŒã bb ã§å®è¡ãããŸãã
ã©ã³ã¯ 2 ã¯ããŒã cc ã§å®è¡ãããç©ç PU 6 ãå«ãã³ã¢ã«ãã€ã³ããããŸãã
ã©ã³ã¯ãã¡ã€ã«ã¯æ¬¡ã®ããã«æ±ãããŸã è«çç㪠ããã©ã«ãã§ã¯ãMCA ãã©ã¡ãŒã¿
ã©ã³ã¯ãã¡ã€ã«ãæå®ããã«ã¯ãrmaps_rank_file_physical ã 1 ã«èšå®ããå¿ èŠããããŸãã
ãšèŠãªããã ç©ççãª.
äžèšã®ãã¹ãåã¯ã絶察ãã§ããã€ãŸããå®éã«è§£æ±ºå¯èœãªãã¹ãåã¯æ¬¡ã®ãšããã§ãã
æå®ã ãã ãããã¹ãåã¯ãçžå¯ŸããšããŠæå®ããããšãã§ããŸãã
å€éšã§æå®ããããã¹ãåã®ãªã¹ãã«é¢é£ããŠæå®ãããŸã (ããšãã°ãmpirun ã®
--host åŒæ°ããã¹ããã¡ã€ã«ããŸãã¯ãžã§ã ã¹ã±ãžã¥ãŒã©)ã
ãçžå¯Ÿãæå®ã¯ã+nãã®åœ¢åŒã§ãã "ãããã§ãX ã¯ã
䜿çšå¯èœãªãã¹ãŠã®ãã¹ãåã®ã»ããå ã® X çªç®ã®ãã¹ãåã0 ããã€ã³ããã¯ã¹ãä»ããããŸãã次ã«äŸã瀺ããŸãã
$ç«myrankfile
rank 0=+n0 slot=1:0-2
ã©ã³ã¯ 1=+n1 ã¹ããã=0:0,1
ã©ã³ã¯ 2=+n2 ã¹ããã=1-2
$ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out
Open MPI v1.7 以éããã¹ãŠã®ãœã±ãã/ã³ã¢ ã¹ãããã®äœçœ®ã¯æ¬¡ã®ããã«æå®ãããŸãã è«ççãª
ã€ã³ããã¯ã¹ (Open MPI v1.6 ã·ãªãŒãºã䜿çš) ç©çç㪠ã€ã³ããã¯ã¹ïŒã ãªã©ã®ããŒã«ã䜿çšã§ããŸã
HWLOC ã®ãlstopoãã¯ããœã±ãããšã³ã¢ã®è«çã€ã³ããã¯ã¹ãæ€çŽ¢ããŸãã
ç³ã蟌㿠ã³ã³ããã¹ã or å®è¡å¯èœãã¡ã€ã« ããã°ã©ã ïŒ
XNUMX ã€ã®ç°ãªã圢åŒãåºå¥ããã«ã¯ã ã ãã«ã³ ã³ãã³ãã©ã€ã³ã§æ€çŽ¢ããŸã - ã¢ã㪠ãªãã·ã§ã³ãéžæããŸãã
ãããæå®ãããŠããå Žåãã³ãã³ãã©ã€ã³ã§æå®ããããã¡ã€ã«ã¯
ã¢ããªã±ãŒã·ã§ã³ã³ã³ããã¹ãã æå®ããªãå Žåããã¡ã€ã«ã¯å®è¡å¯èœãã¡ã€ã«ãšã¿ãªãããŸãã
ããã°ã©ã ã
äœçœ®
ãã¡ã€ã«ã®çžå¯Ÿãã¹ãŸãã¯çµ¶å¯Ÿãã¹ãæå®ãããŠããªãå ŽåãOpen MPI ã¯æåã«ãã¡ã€ã«ãæ€çŽ¢ããŸãã
ã§æå®ããããã£ã¬ã¯ããªãæ€çŽ¢ããŠãã¡ã€ã«ãæ€çŽ¢ããŸãã - é ãªãã·ã§ã³ã ãªãå Žå - é
ãªãã·ã§ã³ãèšå®ãããŠãããããã¡ã€ã«ãèŠã€ãããªãå Žåã¯ã - é å Žæãæå®ãããšãOpen MPI ãæ€çŽ¢ããŸã
ãœãŒã¹ ããŒãã§å®çŸ©ãããŠãããŠãŒã¶ãŒã® PATH ç°å¢å€æ°ã
çžå¯Ÿãã£ã¬ã¯ããªãæå®ããå Žåã¯ãåæäœæ¥ãã£ã¬ã¯ããªããã®çžå¯Ÿãã£ã¬ã¯ããªã§ããå¿ èŠããããŸãã
䜿çšããç¹å®ã®ã¹ã¿ãŒã¿ãŒã«ãã£ãŠæ±ºãŸããŸãã ããšãã°ãrsh ãŸã㯠ssh ã¹ã¿ãŒã¿ãŒã䜿çšããå Žåã
ããã©ã«ãã§ã¯ãåæãã£ã¬ã¯ããªã¯ $HOME ã§ãã ä»ã®ã¹ã¿ãŒã¿ãŒã¯åæãã£ã¬ã¯ããªã次ã®ããã«èšå®ããå ŽåããããŸãã
ã®åŒã³åºãã«ããçŸåšã®äœæ¥ãã£ã¬ã¯ã㪠ã ãã«ã³.
é»æµãããŒã ã¯ãŒãã³ã° ãã£ã¬ã¯ããª
ãã® -wdir mpirun ãªãã·ã§ã³ (ããã³ãã®å矩èªã -wd) ãŠãŒã¶ãŒã¯ä»»æã®å€ã«å€æŽã§ããŸãã
ããã°ã©ã ãåŒã³åºãããåã®ãã£ã¬ã¯ããªã ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ã ãã¡ã€ã«ã§ã䜿çšã§ããŸã
ç¹å®ã®ããŒãããã³/ãŸãã¯ç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã®äœæ¥ãã£ã¬ã¯ããªãæå®ããŸãã
Status -wdir ãªãã·ã§ã³ã¯ã³ã³ããã¹ã ãã¡ã€ã«ãšã³ãã³ã ã©ã€ã³ã®äž¡æ¹ã«è¡šç€ºãããŸãã
ãã¡ã€ã«ãã£ã¬ã¯ããªã¯ã³ãã³ãã©ã€ã³å€ããªãŒããŒã©ã€ãããŸãã
Status -wdir ãªãã·ã§ã³ãæå®ãããŠããå ŽåãOpen MPI ã¯æå®ããããã®ã«å€æŽããããšããŸãã
ãã¹ãŠã®ãªã¢ãŒã ããŒãäžã®ãã£ã¬ã¯ããªã ããã倱æããå Žåã ã ãã«ã³ äžæ¢ããŸãã
Status -wdir ãªãã·ã§ã³ããã æå®ãããšãOpen MPI ã¯ãã£ã¬ã¯ããªåãéä¿¡ããŸãã ã ãã«ã³
åãªã¢ãŒã ããŒãã«å¯ŸããŠåŒã³åºãããŸãã ãªã¢ãŒãããŒãã¯ããã«å€æŽããããšããŸã
ãã£ã¬ã¯ããªã ãããã§ããªãå Žå (ããšãã°ããã®ããŒãã«ãã£ã¬ã¯ããªãååšããªãå Žå)ã
Open MPI ã¯ãã¹ã¿ãŒã¿ãŒã«ãã£ãŠæ±ºå®ãããããã©ã«ãã®ãã£ã¬ã¯ããªã䜿çšããŸãã
ãã£ã¬ã¯ããªã®å€æŽã¯ãã¹ãŠããŠãŒã¶ãŒã®ããã°ã©ã ãåŒã³åºãããåã«è¡ãããŸãã ãããŸã§åŸ ããªã
MPI_INIT ãåŒã³åºãããŸãã
ã¹ã¿ã³ããŒã I / O
Open MPI ã¯ãUNIX æšæºå ¥åã /dev/null ãé€ããã¹ãŠã®ããã»ã¹ã«éä¿¡ããŸãã
MPI_COMM_WORLD ã©ã³ã¯ 0 ããã»ã¹ã MPI_COMM_WORLD ã©ã³ã¯ 0 ããã»ã¹ã¯æšæºå ¥åãç¶æ¿ããŸã
from ã ãã«ã³. ã泚æ: åŒã³åºããããŒã ã ãã«ã³ ããŒããšåãã§ããå¿ èŠã¯ãããŸãã
MPI_COMM_WORLD ã©ã³ã¯ 0 ããã»ã¹ãååšããŸãã Open MPI ã¯ã次ã®ãªãã€ã¬ã¯ããåŠçããŸãã ã ãã«ã³'s
ã©ã³ã¯ 0 ããã»ã¹ãžã®æšæºå ¥åã
Open MPI ã¯ãUNIX æšæºåºåãšãšã©ãŒããªã¢ãŒã ããŒãããåŒã³åºããããŒãã«éä¿¡ããŸãã
ã ãã«ã³ ãããŠãããæšæºåºå/ãšã©ãŒã«åºåããŸãã ã ãã«ã³ã ããŒã«ã«ããã»ã¹ã¯
æšæºåºå/ãšã©ãŒ ã ãã«ã³ çŽæ¥è»¢éããŸãã
ãããã£ãŠãOpen MPI ã¢ããªã±ãŒã·ã§ã³ã®æšæº I/O ããªãã€ã¬ã¯ãããã«ã¯ã
å žåçãªã·ã§ã«ã®ãªãã€ã¬ã¯ãæé ã ãã«ã³.
% mpirun -np 2 my_app < my_input > my_output
ãã®äŸã§ã¯ã ã® MPI_COMM_WORLD ã©ã³ã¯ 0 ããã»ã¹ãã¹ããªãŒã ãåä¿¡ããŸã
from ç§ã®å ¥å æšæºå ¥åã§ã ä»ã®ãã¹ãŠã®ããŒãã® stdin 㯠/dev/null ã«é¢é£ä»ããããŸãã
ãã ãããã¹ãŠã®ããŒãããã®æšæºåºå㯠ç§ã®åºå ãã¡ã€ã«ã«ãœãããŠã§ã¢ãæå®ããå¿ èŠããããŸãã
ã·ã°ãã« äŒæ
orterun ã SIGTERM ããã³ SIGINT ãåãåããšã次ã®æ¹æ³ã§ãžã§ãå šäœã匷å¶çµäºããããšããŸãã
ãžã§ãå ã®ãã¹ãŠã®ããã»ã¹ã« SIGTERM ãéä¿¡ããæ°ç§åŸ æ©ããŠããã
ãžã§ãå ã®ãã¹ãŠã®ããã»ã¹ã« SIGKILL ãéä¿¡ããŸãã
orterun ã«ãã£ãŠåä¿¡ããã SIGUSR1 ããã³ SIGUSR2 ã·ã°ãã«ã¯ã
ä»äºã
mpirun ã«ãã£ãŠå®è¡ãããããã°ã©ã ãžã® SIGSTOP ããã³ SIGCONT ã®è»¢éããªã³ã«ããããšãã§ããŸãã
MCA ãã©ã¡ãŒã¿ orte_forward_job_control ã 1 ã«èšå®ããŸããmpirun ãžã® SIGTSTOP ä¿¡å·ã«ããã
次ã«ãmpirun ã«ãã£ãŠéå§ããããã¹ãŠã®ããã°ã©ã ã« SIGSTOP ã·ã°ãã«ãéä¿¡ããã
åæ§ã«ãmpirun ãžã® SIGCONT ã·ã°ãã«ã«ãããSIGCONT ãéä¿¡ãããŸãã
çŸåšãä»ã®ä¿¡å·ã¯ orterun ã«ãã£ãŠäŒæãããŸããã
ããã»ã¹ çµäº / ã·ã°ãã« ãã³ããªã³ã°
MPI ã¢ããªã±ãŒã·ã§ã³ã®å®è¡äžã«ãããããã®ããã»ã¹ãç°åžžçµäºããå Žå (çµäºãããã
åŒã³åºãåã« MPI_FINALIZEããŸãã¯ä¿¡å·ã®çµæãšããŠæ»äº¡ããŸãïŒã ã ãã«ã³ ããªã³ãã¢ãŠãããŸã
ãšã©ãŒ ã¡ãã»ãŒãžã衚瀺ãããæ®ãã® MPI ã¢ããªã±ãŒã·ã§ã³ã匷å¶çµäºãããŸãã
ãŠãŒã¶ãŒã·ã°ãã«ãã³ãã©ãŒã¯ãããã MPI ç¶æ ãã¯ãªãŒã³ã¢ããããããšããããšãé¿ããã¹ãã§ã (Open MPI ã¯
çŸåšãéåæã·ã°ãã«ã»ãŒãã§ã¯ãããŸããã èŠã MPI_Init_thread(3)詳现ã¯ãã¡ã
MPI_THREAD_MULTIPLE ããã³ã¹ã¬ããã®å®å šæ§)ã ããšãã°ãã»ã°ã¡ã³ããŒã·ã§ã³éåãçºçããå Žåã
MPI_SEND (ããããäžæ£ãªãããã¡ãæž¡ããããã)ããŠãŒã¶ãŒã·ã°ãã«ãã³ãã©ãŒã¯
ãã®ãŠãŒã¶ãŒãã³ãã©ãŒãåŒã³åºãããšããå Žåã«åŒã³åºãããŸãã MPI_FINALIZEãæªãããšãèµ·ããå¯èœæ§ããããŸã
ãšã©ãŒãçºçãããšããOpen MPI ã¯ãã§ã« MPI å ã«ãã£ãããã§ãã ä»¥æ¥ ã ãã«ã³ æ°ã¥ãã§ããã
ããã»ã¹ãã·ã°ãã«ã«ãã£ãŠçµäºãããšããããšã§ãããããã¯ããããå¿ èŠãããŸãã (ãããŠæãå®å šã§ã)ã
ãŠãŒã¶ãŒã¯é MPI ç¶æ ã®ã¿ãã¯ãªãŒã³ã¢ããããŸãã
ããã»ã¹ ç°å¢
MPI ã¢ããªã±ãŒã·ã§ã³å ã®ããã»ã¹ã¯ãOpen RTE ããŒã¢ã³ããç°å¢ãç¶æ¿ããŸãã
ããããå®è¡ãããŠããããŒãã ç°å¢ã¯éåžžã
ãŠãŒã¶ãŒã®ã·ã§ã«ã ãªã¢ãŒã ããŒãã§ã¯ãæ£ç¢ºãªç°å¢ã¯ããŒã MCA ã¢ãžã¥ãŒã«ã«ãã£ãŠæ±ºå®ãããŸãã
äžå€ã NS rsh ããšãã°ãèµ·åã¢ãžã¥ãŒã«ã¯æ¬¡ã®ããããã䜿çšããŸã rsh/ssh Open RTE ãèµ·åããã«ã¯
ãªã¢ãŒã ããŒãäžã®ããŒã¢ã³ã§ãããéåžžã¯ãŠãŒã¶ãŒã® XNUMX ã€ä»¥äžã®ã·ã§ã«ã»ããã¢ãã ãã¡ã€ã«ãå®è¡ããŸãã
Open RTE ããŒã¢ã³ãèµ·åããåã«ã åçã«ãªã³ã¯ãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããå Žåã
ãå¿ èŠ LD_LIBRARY_PATH ç°å¢å€æ°ãèšå®ããå¿ èŠãããããã次ã®ããšã確èªããå¿ èŠããããŸãã
Open MPI ã®èµ·åæã«æ£ããèšå®ãããŠããããšã確èªããŸãã
詳现ã«ã€ããŠã¯ãããªã¢ãŒãå®è¡ãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ãªã¢ãŒã å®è¡
ãªãŒãã³ MPI ã§ã¯ã ãã¹ ãªã¢ãŒãã§å®è¡å¯èœãã¡ã€ã«ãèŠã€ããããã«ç°å¢å€æ°ãèšå®ããå¿ èŠããããŸã
ããŒã (ããã¯éåžžã次ã®å Žåã«ã®ã¿å¿ èŠã§ã) rsh- ãŸã㯠ssh-ããŒã¹ã®ç°å¢ --
ããã/ã¹ã±ãžã¥ãŒã«ç°å¢ã¯éåžžãçŸåšã®ç°å¢ãå®è¡ç°å¢ã«ã³ããŒããŸãã
ãªã¢ãŒã ãžã§ããªã®ã§ãçŸåšã®ç°å¢ã« ãã¹ ããã³ LD_LIBRARY_PATH é©åã«èšå®ãã
ãªã¢ãŒã ããŒãã§ãé©åã«èšå®ãããŸã)ã Open MPI ãå ±æã§ã³ã³ãã€ã«ãããå Žå
ã©ã€ãã©ãªã®ãµããŒããå¿ èŠã«ãªãå ŽåããããŸãã LD_LIBRARY_PATH ç°å¢å€æ°
ãªã¢ãŒã ããŒãã«ãèšå®ããŸã (ç¹ã«ãŠãŒã¶ãŒã®å®è¡ã«å¿ èŠãªå ±æã©ã€ãã©ãªãèŠã€ãããã)
MPI ã¢ããªã±ãŒã·ã§ã³)ã
ãã ããã·ã§ã«èµ·åãã¡ã€ã«ãç·šéããŠèšå®ããããšãåžžã«æãŸãããšã¯éããããŸãå¯èœã§ãããšã¯éããŸããã ãã¹
ããã³ LD_LIBRARY_PATHãéžæããŸãã --prefix ããã€ãã®åçŽãªæ§æã®ããã«ãªãã·ã§ã³ãæäŸãããŠããŸã
ãããäžå¯èœãªå Žåã
ãã® --prefix ãªãã·ã§ã³ã¯ XNUMX ã€ã®åŒæ°ãåããŸãããªã¢ãŒã ããŒãã®ããŒã¹ ãã£ã¬ã¯ããªã§ãã
ãªãŒãã³MPIãã€ã³ã¹ããŒã«ãããŠããŸãã Open MPI ã¯ãã®ãã£ã¬ã¯ããªã䜿çšããŠãªã¢ãŒããèšå®ããŸã ãã¹ ãš
LD_LIBRARY_PATH Open MPI ãŸãã¯ãŠãŒã¶ãŒ ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããåã«ã ããã«ããã©ã³ãã³ã°ãå¯èœã«ãªããŸã
äºåèšå®ãè¡ããã« MPI ãžã§ããéã ãã¹ ãš LD_LIBRARY_PATH ãªã¢ãŒãã§
ããŒãã
Open MPI ã¯ãçŸåšã®ããŒãã®ãbindirã(Open MPI ãä¿åãããŠãããã£ã¬ã¯ããª) ã®ããŒã¹åãè¿œå ããŸãã
å®è¡å¯èœãã¡ã€ã«ãã€ã³ã¹ããŒã«ãããŠãã) ããã¬ãã£ãã¯ã¹ã«è¿œå ããããã䜿çšã㊠ãã¹ ãªã¢ãŒãããŒãäžã§ã
åæ§ã«ãOpen MPI ã¯çŸåšã®ããŒãã®ãlibdirã(ãã£ã¬ã¯ããª
Open MPI ã®ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ãããŠãã) ããã¬ãã£ãã¯ã¹ã«è¿œå ããããã䜿çšã㊠LD_LIBRARY_PATH
ãªã¢ãŒãããŒãäžã§ã äŸãã°ïŒ
ããŒã«ã«ãã€ã³ããã£ã¬ã¯ããª: /local/node/directory/bin
ããŒã«ã« libdir: /local/node/directory/lib64
次ã®ã³ãã³ãã©ã€ã³ã䜿çšãããå Žå:
% mpirun --prefix /remote/node/directory
Open MPI ã¯ãã/remote/node/directory/binãã ãã¹ ãš
è©Šè¡ããåã«ãã/remote/node/directory/lib64ãããªã¢ãŒã ããŒãã® D_LIBRARY_PATH ã«è¿œå ããŸãã
äœããå®è¡ããããšã
ãã® --prefix ãªã¢ãŒã ããŒãäžã®ã€ã³ã¹ããŒã« ãã¹ã次ã®å Žåããã®ãªãã·ã§ã³ã¯ååã§ã¯ãããŸããã
ããŒã«ã«ããŒããšã¯ç°ãªããŸã (äŸ: "/ lib" ã¯ããŒã«ã«ããŒãã§äœ¿çšãããŸããã"/ lib64ãã§ã
ãªã¢ãŒã ããŒãã§äœ¿çšããã)ããŸãã¯ã€ã³ã¹ããŒã« ãã¹ã
å ±éã®ãã¬ãã£ãã¯ã¹ã®äžã«ãããµããã£ã¬ã¯ããªã
å®è¡ããããšã«æ³šæããŠãã ãã ã ãã«ã³ 絶察ãã¹åã䜿çšããŠæå®ããããšã¯ã --prefix
絶察ãã¹åã®æåŸã®ãµããã£ã¬ã¯ããªãé€ã ã ãã«ã³ äŸãã°ïŒ
% /usr/local/bin/mpirun ...
ã«çžåœããŸã
% mpirun --prefix / usr / local
èŒžåº ç°å¢ Variables
OMPI_* ã®åœ¢åŒã§ååãä»ãããããã¹ãŠã®ç°å¢å€æ°ã¯èªåçã«ãšã¯ã¹ããŒããããŸãã
ããŒã«ã«ããŒããšãªã¢ãŒãããŒãäžã®æ°ããããã»ã¹ã«é©çšãããŸãã ç°å¢ãã©ã¡ãŒã¿ã次ã®ããã«æå®ã§ããŸãã
MCAãã©ã¡ãŒã¿ã䜿çšããŠæ°ããããã»ã¹ã«èšå®/転éãããŸãã mca_base_env_listãéžæããŸãã -x
ãªãã·ã§ã³ ã ãã«ã³ ã¯éæšå¥šã«ãªããŸããããMCA ãã©ã¡ãŒã¿ã®æ§æã¯ä»¥åã®æ§æã«åŸããŸãã
äŸã äžæ¹ãã®æ§æã¯ã -x ãªãã·ã§ã³ãš MCA ãã©ã¡ãŒã¿ã«ãããæ°ãã
å€æ°ã«ã€ããŠã¯ããããã®ãªãã·ã§ã³ã®ããŒãµãŒã¯çŸåšããŸãæŽç·ŽãããŠããªãããšã«æ³šæããŠãã ãã -
åŒçšç¬Šã§å²ãŸããå€ããç解ã§ããŸããã ãŠãŒã¶ãŒã¯å€æ°ãèšå®ããããšããå§ãããŸãã
ç°å¢ãå€æŽãããªãã·ã§ã³ã䜿çšããŠãããããšã¯ã¹ããŒãããŸãã ããããå®çŸ©ããªãããšã
èšå® MCA Parameters
ãã® -mca ã¹ã€ããã䜿çšãããšãããŸããŸãª MCA (ã¢ãžã¥ã©ãŒ ã³ã³ããŒãã³ã) ã«ãã©ã¡ãŒã¿ãŒãæž¡ãããšãã§ããŸãã
ã¢ãŒããã¯ãã£) ã¢ãžã¥ãŒã«ã MCA ã¢ãžã¥ãŒã«ã¯ãMPI ããã°ã©ã ã«çŽæ¥åœ±é¿ãäžããŸãã
å®è¡æã«èšå®ãã調æŽå¯èœãªãã©ã¡ãŒã¿ (ã©ã® BTL éä¿¡ããã€ã¹ ãã©ã€ããèšå®ããããªã©)
䜿çšãããããã® BTL ã«æž¡ããã©ã¡ãŒã¿ãªã©)ã
ãã® -mca switchã¯XNUMXã€ã®åŒæ°ãåããŸãïŒ ãš ãéžæããŸãã äžè¬çã«è°è«
ã©ã® MCA ã¢ãžã¥ãŒã«ãå€ãåãåãããæå®ããŸãã ããšãã°ã ãbtlãã䜿çšãããŸã
MPI ã¡ãã»ãŒãžã®è»¢éã«äœ¿çšãã BTL ãéžæããŸãã ã® åŒæ°ã¯
æž¡ãããå€ã äŸãã°ïŒ
mpirun -mca btl tcpãself -np 1 foo
ãtcpãããã³ãselfãBTL ã䜿çšãããfooãã®åäžã³ããŒãå®è¡ããããã« Open MPI ã«æ瀺ããŸãã
å²ãåœãŠãããããŒãã
mpirun -mca btl self -np 1 foo
Open MPI ã«ãselfãBTL ã䜿çšããå²ãåœãŠããããfooãã®åäžã³ããŒãå®è¡ããããã«æ瀺ããŸãã
ããŒãã
ãã® -mca ã¹ã€ãããè€æ°å䜿çšããŠãç°ãªããã®ãæå®ã§ããŸã ããã³
åŒæ°ã åãå Žå è€æ°åæå®ãããŠããå Žåã ã¯é£çµãããŸã
ã«ã³ã (",") ã§åºåããŸãã
ãªãã -mca switchã¯ãç°å¢å€æ°ãèšå®ããããã®åãªãã·ã§ãŒãã«ããã§ãã NS
åãå¹æã¯ãåã«å¯Ÿå¿ããç°å¢å€æ°ãèšå®ããããšã«ãã£ãŠéæãããå¯èœæ§ããããŸã
ã©ã³ãã³ã° ã ãã«ã³ã Open MPI ãèšå®ããç°å¢å€æ°ã®åœ¢åŒã¯æ¬¡ã®ãšããã§ãã
OMPI_MCA_ =
ãã«ãµã¹ã -mca ã¹ã€ããã¯ã以åã«èšå®ãããç°å¢å€æ°ããªãŒããŒã©ã€ãããŸãã ã® -mca
èšå®ãåæ§ã«ã$OPAL_PREFIX/etc/openmpi-mca- ã§èšå®ããã MCA ãã©ã¡ãŒã¿ãŒããªãŒããŒã©ã€ãããŸãã
params.conf ãŸã㯠$HOME/.openmpi/mca-params.conf ãã¡ã€ã«ã
äžæ åŒæ°ã¯ç°å¢å€æ°ãšããŠèšå®ããããŸãŸã§ã -- ãã§ãã¯ãããŸãã (
ã ãã«ã³ïŒæ£ç¢ºãã®ããã«ã éæ³ãŸãã¯äžæ£ç¢º åŒæ°ã¯ããã§ãããããããªãããããã§ãªããããããªã
å ±åãããŠããŸã -- ããã¯ç¹å®ã® MCA ã¢ãžã¥ãŒã«ã«äŸåããŸãã
MCA ã¢ãŒããã¯ãã£ã§äœ¿çšå¯èœãªã³ã³ããŒãã³ã ã¿ã€ããèŠã€ããã«ã¯ããŸãã¯äœ¿çšå¯èœãªã³ã³ããŒãã³ã ã¿ã€ããèŠã€ããã«ã¯ã
ç¹å®ã®ã³ã³ããŒãã³ãã®ãã©ã¡ãŒã¿ã䜿çšããã«ã¯ã ompi_info æå³ã ãåç §ããŠãã ããã ompi_info(1) man
ã³ãã³ãã®è©³çŽ°ã«ã€ããŠã¯ãããŒãžãåç §ããŠãã ããã
Running: as ã«ãŒã
Open MPI ããŒã ã¯ãå®è¡ããªãããšã匷ãæšå¥šããŸãã ã ãã«ã³ root ãŠãŒã¶ãŒãšããŠã MPI
ã¢ããªã±ãŒã·ã§ã³ã¯éåžžã® (é root) ãŠãŒã¶ãŒãšããŠå®è¡ããå¿ èŠããããŸãã
ãã®ã¢ããã€ã¹ãåæ ããŠãmpirun ã¯ããã©ã«ã㧠root ãšããŠã®å®è¡ãæåŠããŸãã ããããªãŒããŒã©ã€ãããã«ã¯
ããã©ã«ãã§ã¯ã --allow-root ãšããŠå®è¡ ãªãã·ã§ã³ã ã ãã«ã³ ã³ãã³ãã©ã€ã³ã
åºå£ status
äœã«ã€ããŠã®æšæºçãªå®çŸ©ã¯ãããŸãã ã ãã«ã³ çµäºã¹ããŒã¿ã¹ãšããŠè¿ãããå¿ èŠããããŸãã åŸ
ããªãã®è°è«ã®çµæã次ã®ãããªå²ãåœãŠæ¹æ³ã«èœã¡çããŸããã ã ãã«ã³ çµäºãã
ã¹ããŒã¿ã¹ (泚: 以äžã®èª¬æã§ã¯ãããã©ã€ããªããžã§ãã¯æåã®ã¢ããªã±ãŒã·ã§ã³ã§ã)
mpirun ã«ãã£ãŠéå§ããã - ãã®ãžã§ãã«ãã£ãŠçæããããã¹ãŠã®ãžã§ãã¯ãã»ã«ã³ããªãã«æå®ãããŸã
ãžã§ã):
· ãã©ã€ã㪠ãžã§ãå ã®ãã¹ãŠã®ããã»ã¹ãçµäºã¹ããŒã¿ã¹ 0 ã§æ£åžžã«çµäºããå Žåã0 ãè¿ããŸãã
· ãã©ã€ã㪠ãžã§ãå ã® XNUMX ã€ä»¥äžã®ããã»ã¹ããŒã以å€ã®çµäºã§éåžžçµäºããå Žå
status ã§ã¯ãMPI_COMM_WORLD ã©ã³ã¯ãæãäœãããã»ã¹ã®çµäºã¹ããŒã¿ã¹ãè¿ããŸãã
ãŒã以å€ã®ã¹ããŒã¿ã¹ãæã€
· ãã©ã€ã㪠ãžã§ãå ã®ãã¹ãŠã®ããã»ã¹ãçµäºã¹ããŒã¿ã¹ 0 ã§æ£åžžã«çµäºããXNUMX ãŸãã¯
äºæ¬¡ãžã§ãå ã®ããå€ãã®ããã»ã¹ã¯éåžžããŒã以å€ã®çµäºã¹ããŒã¿ã¹ã§çµäºããŸãã
MPI_COMM_WORLD ã©ã³ã¯ãæãäœãããã»ã¹ã®çµäºã¹ããŒã¿ã¹ãæäžäœã§è¿ããŸãã
jobid ããŒã以å€ã®ã¹ããŒã¿ã¹ã«èšå®ãã(b) ãžã§ã ID ã®çµäºã¹ããŒã¿ã¹ãèŠçŽããã¡ãã»ãŒãžãåºåããŸãã
ãã©ã€ã㪠ãžã§ããšãã¹ãŠã®ã»ã«ã³ã㪠ãžã§ãã
· ã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ --report-child-jobs- Separately ãèšå®ãããŠããå Žåã -only- ãè¿ããŸãã
ãã©ã€ããªãžã§ãã®çµäºã¹ããŒã¿ã¹ã äºæ¬¡ãžã§ãã®ãŒã以å€ã®çµäºã¹ããŒã¿ã¹ã¯æ¬¡ã®ããã«ãªããŸãã
æŠèŠã®å°å·ã¹ããŒãã¡ã³ãã§ã®ã¿å ±åãããŸãã
ããã©ã«ãã§ã¯ãOMPI 㯠MPI ããã»ã¹ããŒã以å€ã®çµäºã§çµäºããããšãèšé²ãã¡ã¢ããŸãã
ã¹ã¿ãŒãã¹ã ããã¯éåžžããç°åžžçµäºããšã¯ã¿ãªãããŸãããã€ãŸããOMPI ã¯ç°åžžçµäºãè¡ããŸããã
XNUMX ã€ä»¥äžã®ããã»ã¹ããŒã以å€ã®ã¹ããŒã¿ã¹ãè¿ããå ŽåãMPI ãžã§ããäžæ¢ããŸãã 代ããã«ãããã©ã«ãã®
ãã®åäœã¯åã«ããŒã以å€ã®ã¹ããŒã¿ã¹ã§çµäºããããã»ã¹ã®æ°ãå ±åããã ãã§ãã
ä»äºã®å®äºã
ãã ããå Žåã«ãã£ãŠã¯ãããã»ã¹ãçµäºãããšãã«ãžã§ããäžæ¢ããããšãæãŸããå ŽåããããŸãã
ãŒã以å€ã®ã¹ããŒã¿ã¹ã§çµäºããŸãã ããšãã°ãé MPI ãžã§ãã¯ã次ã®ãããªäžæ£ãªçµæãæ€åºããå¯èœæ§ããããŸãã
èšç®ãäžæ¢ãããããã³ã¢ ãã¡ã€ã«ã¯çæããããªãã ãŸã㯠MPI ãžã§ã
MPI_Finalize ã®åŒã³åºããè¶ ããŠç¶è¡ããå¯èœæ§ããããŸããããã¹ãŠã®ããã»ã¹ãäžæ¢ããå¿ èŠãããããšã瀺ããŸã
MPI åŸã®çµæãåå ã§ãã
ãã®ãããªç¶æ³ãé »ç¹ã«çºçãããšã¯äºæ³ãããŠããŸããã ãã ããå©çã®ããã«
ããåºç¯ãªã³ãã¥ããã£ã«ãµãŒãã¹ãæäŸããããã«ãOMPI ã¯ãŠãŒã¶ãŒããããæ瀺ã§ããæ段ãåããŠããŸãã
ãžã§ãã¯ãããã»ã¹ããŒã以å€ã®ã¹ããŒã¿ã¹ã§çµäºãããšäžæ¢ãããŸãã MCAãã©ã¡ãŒã¿ã®èšå®
ãorte_abort_on_non_zero_statusãã 1 ã«ãããšãOMPI ã¯ãã¹ãŠã®ããã»ã¹ãäžåºŠã«äžæ¢ããŸãã
ããã»ã¹
ãŒã以å€ã®ã¹ããŒã¿ã¹ã§çµäºããŸãã
ãã®æ¹æ³ã§çºçããçµäºã¯ãã³ã³ãœãŒã«äžã§ãç°åžžããšããŠå ±åãããŸãã
çµäºããçµäºããæåã®ããã»ã¹ããã®çµäºã¹ããŒã¿ã¹ãšãšãã«èå¥ãããŸãã
äŸ
äžèšã®ã»ã¯ã·ã§ã³å šäœã®äŸãå¿ ãåç §ããŠãã ããã
mpirun -np 4 -mca btl ibãtcpãself prog1
MPI ã®ãã©ã³ã¹ããŒãã«ãibãããtcpããããã³ãselfãBTL ã䜿çšã㊠prog4 ã® 1 ã€ã®ã³ããŒãå®è¡ããŸãã
ã¡ãã»ãŒãžã
mpirun -np 4 -mca btl tcpãsmãself
--mca btl_tcp_if_include eth0 prog1
MPI ã®ãã©ã³ã¹ããŒãã«ãtcpãããsmããããã³ãselfãBTL ã䜿çšã㊠prog4 ã® 1 ã€ã®ã³ããŒãå®è¡ããŸãã
TCP ã¯éä¿¡ã« eth0 ã€ã³ã¿ãŒãã§ã€ã¹ã®ã¿ã䜿çšããŸãã ä»ã®BTLã«æ³šæããŠãã ãã
åæ§ã® if_include MCA ãã©ã¡ãŒã¿ããããŸãã
ãªã¿ãŒã³ VALUE
ã ãã«ã³ ãã¹ãŠã®ããã»ã¹ãéå§ãããå Žåã0 ãè¿ããŸãã ã ãã«ã³ MPI_FINALIZE ãåŒã³åºããåŸã«çµäºããŸãã ã
mpirun ã§å éšãšã©ãŒãçºçããå ŽåããŸã㯠XNUMX ã€ä»¥äžã®å Žåã¯ããŒã以å€ã®å€ãè¿ãããŸãã
MPI_FINALIZE ãåŒã³åºãåã«ããã»ã¹ãçµäºããŸããã mpirun ã§å éšãšã©ãŒãçºçããå Žåã
察å¿ãããšã©ãŒã³ãŒããè¿ãããŸãã XNUMX ã€ä»¥äžã®ããã»ã¹ãçµäºããå Žå
MPI_FINALIZE ãåŒã³åºãåã«ãããã»ã¹ã® MPI_COMM_WORLD ã©ã³ã¯ã®æ»ãå€
ãã ã ãã«ã³ MPI_FINALIZE ãåŒã³åºãåã«çµäºããæåã®éç¥ãè¿ãããŸãã ãäºæ¿ãã ããã
äžè¬ã«ãããã¯åæ¢ããæåã®ããã»ã¹ã«ãªããŸãããå®éã«åæ¢ãããšããä¿èšŒã¯ãããŸããã
onworks.net ãµãŒãã¹ã䜿çšããŠãªã³ã©ã€ã³ã§ orterun ã䜿çšãã