|
|
fedoraÏÂmpich°²×°ºÍÔËÐÐÐĵÃ
µÚÒ»²½£¬µ½Ïà¹ØÍøÕ¾ÉÏÏÂÔØmpichµÄ°²×°°ü£º
ÎÒ²ÉÓõÄÊÇ1.2.7°æ±¾µÄmpich£º
$ tar xzvf mpich-1.2.7.tar.gz
$ cd mpich-1.2.7
$ ./configure --prefix=/usr/local/mpich -rsh=ssh(×¢ÒâÕâ¸öµØ·½)
$ make
$ make install
µÚ¶þ²½£¬ÉèÖû·¾³±äÁ¿
vim /etc/profile
ÐÞ¸Äpath£¬Ôö¼ÓmpichµÄbinÎļþ¼ÐĿ¼/usr/local/mpich/bin
source /etc/profile
µÚÈý²½£¬ÐÞ¸ÄÅäÖÃÎļþ
1.ȨÏÞÉèÖÃ
ΪÁËÄܹ»ÔÚ¶à¸ö²»Í¬µÄ»úÆ÷ÉÏÔËÐÐMPI³ÌÐò£¬Ê×ÏÈÐèÒªÆäËü»úÆ÷¶ÔÆô¶¯MPI³ÌÐòµÄ»úÆ÷·ÅȨ£¬¼´ÔÊÐíÆô¶¯MPI³ÌÐòµÄ»úÆ÷·ÃÎÊÆäËü»úÆ÷¡£È¨ÏÞµÄÉèÖÃÖ÷ÒªÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊÇÔÚÆäËüËùÓлúÆ÷µÄ/etc/hosts.equivÎļþÖмÓÈëÆô¶¯MPI³ÌÐòµÄ»úÆ÷Ãû¡£ÀýÈçÒªÔÚpc01Õą̂»úÆ÷ÉÏÆô¶¯MPI½ø³Ì£¬¶ø¼ÆËã¹ý³ÌÖÐÒªÓõ½pc02ºÍpc03Á½Ì¨¼ÆËã»ú£¬ÔòÐèÒªÔÚpc02ºÍpc03»úÆ÷µÄ/etc/hosts.equivÎļþÖмÓÈëÈçÏÂÒ»ÐУº
pc01
µ¥»úÄÚ´ËÕË»§µÇ½ÎÞÐèÊÚȨ£¬Èç¹û/etc/hosts.equivÎļþ²»´æÔÚ£¬ÔòÐèÒªÏÈ´´½¨¸ÃÎļþ¡£
2.Ö÷»úÉèÖÃ
ҪʹMPI³ÌÐòÆô¶¯ºóÄܹ»ÔÚ¶à¸öÖ÷»úÉϲ¢ÐÐÖ´ÐУ¬»¹±ØÐë¶Ô¿ÉÓõÄÖ÷»ú½øÐÐÉèÖã¬ÏàÓ¦µÄÅäÖÃÎļþΪ/usr/local/share/machines.LINUX¡£±à¼¸ÃÎļþ£¬ÔÚÿһÐÐдÉÏ¿ÉÓõĻúÆ÷Ãû¡£ÀýÈ磬ֻҪÔÚ¸ÃÎļþÖÐÌí¼ÓÒÔϼ¸ÐУº
pc01
pc02
pc03
Èç¹ûÊǵ¥½ÚµãµÄ»°£¬²»Í¬µÄÐпÉÒÔдÏàͬµÄ½Úµã¡£
µÚËIJ½£ºÊéд²¢ÐгÌÐò
#include
#include ¡°mpi.h¡±
int main(int argc, char **argv)
{
int myrank, nprocs, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
MPI_Get_processor_name(processor_name, &namelen);
printf(¡°Hello World! I¡¯m rank %d of %d on %s\n¡±, myrank,
nprocs, processor_name);
MPI_Finalize();
return 0;
}
µÚÎå²½£º±àÒëÔËÐÐ
[xcz@localhost document]$mpicc -o hello hello.c
[xcz@localhost document]$ mpirun -np 4 hello
xcz@localhost.localdomain's password:
xcz@localhost.localdomain's password:
xcz@localhost.localdomain's password:
Hello World! I¡¯m rank 0 of 4 on localhost.localdomain
Hello World! I¡¯m rank 2 of 4 on localhost.localdomain
Hello World! I¡¯m rank 3 of 4 on localhost.localdomain
Hello World! I¡¯m rank 1 of 4 on localhost.localdomain
ÓÉÓÚÎÒÔÚ²¢ÐмÆËãµÄʱºò£¬Ê¹ÓõÄÊÇssh£¬¶øÎÒ²¢Ã»ÓÐÅäÖÃssh£¬½øÐÐÎÞÃÜÂëµÇ½£¬ËùÒÔÔËÐгÌÐòµÄʱºòÐèÒªÊäÈëÓû§ÃÜÂë¡£Óû§¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄϵͳ»·¾³£¬Èç¹ûÓÐrshµÄ¿ÉÒÔÖ±½ÓÔÚ±àÒëµÄʱºò²»ÓüÓÉÏ-rsh=sshÑ¡Ïî¡£
³öÏÖµÄÎÊÌ⣺
¿´ÎÊÌâ֮ǰ£¬Ê×ÏÈÈÃÎÒÃÇÀ´Á˽âһϹØÓÚsshºÍrshµÄ֪ʶ£º
SSH(Secure Shell)ÊÇÒ»°²È«µÄÍøÂçÁ¬½Ó³ÌÐò,Ëü¿ÉÒÔÈÃÄãͨ¹ýÍøÂçÁ¬½ÓÖÁÆäËûµçÄÔ£¬ÔÚÆäËûµçÄÔÉÏÖ´ÐгÌÐò,ÔÚµçÄÔÖ®¼ä¿½±´Îļþ,ËüÉõÖÁ¿ÉÒÔÌṩ¸øÄã¸ü°²È«µÄXÁ¬½Ó£¬¶øÒÔÉϵÄÕâЩÁ¬½Ó£¬¶¼ÊÇÔÚ±àÂëµÄ±£»¤ÏÂÍê³ÉµÄ¡£Ò²¾ÍÊÇ˵°²×°ÁËSSHºó¾Í¿ÉÒÔ½«²»°²È«µÄTelnetºÍFTP¸ø¹ØµôÁË¡£
ÉÏÃæËù˵µÄ¸÷ÏÄÜ,ÔçÆÚBSDËùÌṩµÄrÖ¸Áî(rsh,rlogin,rcp)¼¸ºõ¶¼ÄÜÍê³É,ÄÇΪʲôҪÓÃSSHÄØ?ÀíÓɾÍÔÚÓÚrÖ¸ÁîËùÌṩµÄÁ¬½Ó²¢Ã»Óо¹ý±àÂë¼ÓÃÜ,ÓÐÐÄÈËֻҪʹÓúÏÊʵŤ¾ß¾ÍÄܹ»½ØÏÂÄãËùÊäÈëµÄÿһ¸ö×Ö,°üÀ¨ÃÜÂë¡£Èç¹ûÄãÀûÓÃX protocolÔÚÔ¶¶Ë»úÆ÷Ö´ÐÐX³ÌÐò£¬Ò²¿ÉÒÔ½ØÏÂÄã´«ÊäµÄ×ÊÁÏ,µ±È»Ò²°üÀ¨ÃÜÂë¡£¶øSSH¾ÍÕë¶ÔÁËÕâЩÈõµã×öÁËÃÖ²¹,¶ÔËù´«ÊäµÄ×ÊÁϼÓÒÔ±àÂë¡£
rsh(Remote Shell Protocol)£¬Ô¶³ÌshellÐÒé(rsh)ÊÇÔÊÐíÒ»¸öÓû§ÔÚÒ»¸öÔ¶³ÌϵͳÉÏÖ´ÐÐÃüÁî¶ø²»ÐèÒªµÇ¼Õâ¸öϵͳµÄÐÒé¡£ÀýÈ磬rshÄܹ»ÓÃÓÚÔ¶³Ì¼ì²éÐí¶à½ÓÈë·þÎñÆ÷µÄ״̬¶ø²»ÐèÒªÁ¬½Óµ½Ã¿¸öͨÐÅ·þÎñÆ÷£¬Ö´ÐÐÕâ¸öÃüÁȻºó´ÓÕâ¸öͨÐÅ·þÎñÆ÷¶Ï¿ª¡£ RshÆðÔ´×÷ΪBSD Unix²Ù×÷ϵͳµÄÒ»²¿·Ö×÷ΪÔÚ1983ÄêÔÚ 4.2BSDÔ¶³ÌµÇ¼ÃüÁî°üÖеÄÒ»²¿·Ö¡£Rsh´ÓÄÇ¿ªÊ¼ÒѾ¿ªÊ¼Ö§³ÖÆäËü²Ù×÷ϵͳ¡£Rsh»ù±¾Éϱ»°²È«ShellÐÒéÔÚÏÖ½ñµÄ»·¾³ÖÐÈ¡´ú¡£
Á˽âÁËÉÏÃæµÄ֪ʶÒÔºó£¬ÎÒÃÇÀ´¿´¿´ÎÒµÄÎÊÌâ¡£mpichÔËÐл·¾³¼È¿ÉÒÔ²ÉÓÃrshÒ²¿ÉÒÔ²ÉÓÃsshµÇ½Զ³Ì½Úµã£¬MPICHĬÈϲÉÓÃrshÁ¬½Ó£¬ÈôҪʹÓð²È«ÐÔ¸ü¸ßµÄsshÁ¬½Ó£¬°²×°MPICHʱconfigureÐè¼Ó-rsh=sshÑ¡Ï¶øµ½ÁËmpich2¾ÍĬÈϵÄÊDzÉÓÃssh£¬¶ø²»ÓÃrshÁË¡£
ÓÉÓÚµ±Ê±ÎÒ²»ÖªµÀÕâÒ»µã£¬ÔÚconfigureµÄʱºò²ÉÓõÄÊÇĬÈϰ²×°£¬ËùÒÔÑ¡ÓõÄÊÇrsh£¬¿ÉÊÇÎÒµÄϵͳfc8ûÓÐrsh£¬ËüÖ§³ÖµÄÊÇssh£¬ËùÒÔµ±ÎÒ°²×°Íêºó£¬¸ù±¾ÎÞ·¨ÔËÐгÌÐò£¬¾¹ý²é¿´ºǫ́·þÎñ£¬ÎÒ·¢ÏÖ»úÆ÷ÉÏûÓÐ×°rshµÄÈκηþÎñ£¬¶øÊǰ²×°ÁËsshµÄ·þÎñsshd£¬ËùÒÔÎÒ¾ÍÊÔ×Ű²×°mpich2,°²×°Íê³Éºó£¬ÔËÐгɹ¦£¬ËµÃ÷¾ÍÊÇrshµÄ»ö£¬È»ºóÎÒÓÖ²éÕÒÁËһЩ×ÊÁÏ£¬ÖªµÀÁ˽â¾öµÄ·½·¨£¬ÄǾÍÊÇÔÚconfigureµÄʱºò¼ÓÉÏ-rsh=sshÑ¡Ïî¡£
ת×Ô£ºhttp://doc.linuxpk.com/81183.html |
|