::: °­ÁÂ/¼Ò½º/¹®¼­ :::

°­ÁÂ/¼Ò½º/¹®¼­ ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±¤°í,ºñ¹æ,Áú¹®ÀÇ ±ÛÀº Áï½Ã »èÁ¦Çϸç
³»¿ëÀ» º¹»çÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹Ýµå½Ã À̰÷(http://www.howto.pe.kr)À» Ãâó·Î ¸í½ÃÇÏ¿© ÁÖ¼¼¿ä


Category

  ±è¿µ´ë(2003-04-09 22:56:38, Hit : 14173, Vote : 2000
 [MPI] MPICH 1.2.5 ¼³Ä¡

// Á¦   ¸ñ: MPICH 1.2.5 ¼³Ä¡
// ÀÛ¼ºÀÚ: ±è¿µ´ë( http://www.howto.pe.kr )

º´·Ä ½Ã½ºÅÛÀÇ µÎ Å« ºÎ·ù´Â MPP(massively parallel processing)¿Í SMP (symmetric multiprocessing) ·Î
³ª´­ ¼ö ÀÖÀ¸¸ç ¿©±â¼­ MPP¶õ ÇÁ·Î±×·¥À» ¿©·¯ ºÎºÐÀ¸·Î ³ª´©¾î ¿©·¯ ÇÁ·Î¼¼¼­°¡ °¢ ºÎºÐÀ» µ¿½Ã¿¡ ¼öÇà½ÃŰ´Â
°ÍÀ» ¸»ÇÑ´Ù. À̶§ °¢ ÇÁ·Î¼¼¼­´Â °¢±â ¿î¿µÃ¼°è¿Í ¸Þ¸ð¸®¸¦ µû·Î °¡Áö°í ÀÏÀ» ¼öÇàÇÏ¸ç °¢ ÇÁ·Î¼¼¼­°£¿¡´Â
¸Þ½ÃÁö ÆÐ½Ì°ú °°Àº ±â¹ýÀ» ÀÌ¿ëÇÏ¿© Åë½ÅÀ» ÇÑ´Ù. µû¶ó¼­ ÇϳªÀÇ ÇÁ·Î±×·¥À» ¼öÇàÇϴµ¥ ¼ö ¹é ȤÀº ¼ö õ°³ÀÇ
ÇÁ·Î¼¼¼­¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. MPPÀÇ ¼º´ÉÀ» Á¦´ë·Î ¹ßÈÖÇÏ·Á¸é, ÇÁ·Î±×·¥À» µ¶¸³ÀûÀ¸·Î ¼öÇàµÇ´Â ¿©·¯ ºÎºÐÀ¸·Î ³ª´©°í,
°¢ ÇÁ·Î¼¼¼­°¡ ´Ù¸¥ ÇÁ·Î¼¼¼­¿Í Á¤º¸¸¦ ÁÖ°í¹Þ´Â ÀÏÀ» ÃÖ´ëÇÑ È¿À²ÀûÀ¸·Î ÇÒ ¼ö ÀÖ´Â Çϵå¿þ¾î ±¸Á¶¿Í, À̸¦ µÞ¹ÞħÇÏ´Â
¿î¿µÃ¼°èÀÇ ¼º´ÉÀÌ Àß Á¶È­¸¦ ÀÌ·ç¾î¾ß ÇÑ´Ù.

MPP ¸Þ½ÃÁö ÆÐ½ÌÀ» À§Çؼ­ PVM(Parallel Virtual Machine) À̳ª MPI(Message Passing Interface) API¸¦ »ç¿ëÇϴµ¥
PVM°ú MPI ¸ðµÎ ¸Þ¼¼Áö Àü´ÞÀ» µµ¿ÍÁÖ´Â Àû¿ëÀÌ °£ÆíÇÑ ¼ÒÇÁÆ®¿þ¾îÀÌ´Ù. ¿ª»çÀûÀ¸·Î º¼ ¶§ PVMÀÌ ¸ÕÀú °³¹ß µÇ¾ú°í
¿öÅ©½ºÅ×À̼ÇÀÇ ³×Æ®¿÷¿¡ ¸Â°Ô ¼³°èµÇ¾ú´Ù.
PVM Àº ºÐ»ê ÀúÀåÀ» Çϰųª ÇÏÁö ¾Ê°Å³ª¿¡ °ü°è¾øÀÌ ¸¹Àº º´·Ä ¼öÆÛÄÄÇ»ÅÍ¿¡ Àû¿ëµÇ¾îÁ® ¿Ô´Ù.
MPI´Â ±×¿Í´Â ´Þ¸® ¸¹Àº Çϵå¿þ¾î ÆÇ¸ÅÀÚ¿¡ ÀÇÇØ Áö¿øµÇ°í ÀÖÀ¸¸ç PVMº¸´Ù ´õ ¸¹Àº ±â´ÉÀ» Á¦°øÇÑ´Ù.
¸¹Àº °æ¿ì PVM°ú MPI µÑ Áß ¾î´ÀÇϳª¸¦ ½á¾ßÇÑ´Ù´Â ±ÔÄ¢Àº ¾ø´Ù. MPIÀÇ °æ¿ì Ç¥ÁØÀÌ Á¤ÇØÁ® Àֱ⠶§¹®¿¡ ¸¹Àº »ç¶÷µéÀÌ
MPI¸¦ ¼±È£ÇÑ´Ù. ÇÏÁö¸¸ PVMµµ »ç¿ëµÇ°í ÀÖ´Ù. ÀÌ ¹®¼­´Â °¢ ¼Ò½º¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù.

MPI:
  ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â µÎ°¡ÁöÀÇ MPI ¹öÁ¯ÀÌ ÀÖ´Ù.
MPICH(MPI Chameleon):
  http://www-unix.mcs.anl.gov/mpi/mpich/
LAM-MPI:
  http://www.mpi.nd.edu/lam/
PVM:
  http://www.epm.ornl.gov/pvm/


1.MPICH ¹× ÆÐÄ¡ÆÄÀÏ ´Ù¿î¹Þ±â
  ÀÌ ¼³Ä¡¹®¼­´Â Linux(Redhat 7.3)¿¡¼­ MPICH¸¦ ¼³Ä¡ÇÏ´Â °úÁ¤À» ´Ù·é´Ù(Windows NT/2000 ¹öÀüµµ ÀÖ´Ù)
  ¼³Ä¡ÀÛ¾÷Àº root ·Î ¿¹Á¦ ½ÇÇàÀº ÀÏ¹Ý °èÁ¤À¸·Î ÀÛ¾÷ÇÑ´Ù
  
  http://www.mcs.anl.gov/mpi/mpich/download.html ¶Ç´Â
  ftp://ftp.mcs.anl.gov/pub/mpi ¿¡¼­ mpich.tar.gz ¸¦ ´Ù¿î¹Þ´Â´Ù
  
  ¶ÇÇÑ °ü·ÃµÈ patch fileÀº ¸ðµÎ ¹Þµµ·Ï ÇÑ´Ù(ÀÌ¹Ì ÆÐÄ¡°¡ Àû¿ëµÈ mpich.tar.gz À» ¹ÞÀº °æ¿ì´Â ÆÐÄ¡°¡ ÇÊ¿ä¾ø´Ù)
  MPICHÀÇ °æ¿ì¿¡´Â LAM°ú ºñ±³ÇÏ¿© ´Ù¼öÀÇ platformÀ» Áö¿øÇÑ´Ù. À̰ÍÀÌ ÀåÁ¡ÀÌÀÚ µ¿½Ã¿¡ ´ÜÁ¡ÀÌ µÇ¾î, platform ¿¡
  µû¶ó 4~5°³ Á¤µµÀÇ patch°¡ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù. patch fileÀº µ¿ÀÏÇÑ site¿¡¼­ È®º¸ÇÒ ¼ö ÀÖÀ¸¸ç, version 1.2.5ÀÇ
  °æ¿ì Linux»ó¿¡¼­ 7528, 7633, 7629, 7650 ÀÇ 4°³ÀÇ patch file ÀÌ ÀÖ´Ù.
  patch file µéÀº ftp://ftp.mcs.anl.gov/pub/mpi/patch/1.2.5 ¿¡¼­ ´Ù¿î ¹ÞÀ» ¼ö ÀÖ´Ù
  
2.´Ù¿î¹ÞÀº ÆÄÀÏÀ» unpack ÇØ¾ß Çϴµ¥ NFS(network file system) ÆÄƼ¼Ç¿¡ Ç®Áö¸»°í
  ·ÎÄ÷Π¸¶¿îÆ®µÈ ÆÄƼ¼Ç(¿¹, /tmp or /sandbox)¿¡¼­ Ç®¸ç ÇØ´ç ÆÄƼ¼Ç¿¡ ÃÖ¼Ò 100MB ÀÌ»óÀÇ °¡¿ë ¿ë·®ÀÌ
  ÀÖ¾î¾ß ÇÑ´Ù(³ªÁß¿¡ make install ÇÏ°Ô µÇ¸é º¸Åë /usr/local/mpich ¿¡ ¼³Ä¡µÈ´Ù)
    % cd /tmp
    % tar zxovf mpich.tar.gz

  À̶§ »ý¼ºµÈ mpich directory·Î À§ÀÇ ´Ù¿î¹ÞÀº 4°³ÀÇ patch fileÀ» copyÇϰí, ´ÙÀ½ÀÇ ¸í·É¿¡ ÀÇÇØ
  patch fileÀ» ÀüºÎ patch ÇÑ´Ù(ÀÌ¹Ì ÆÐÄ¡°¡ Àû¿ëµÈ mpich.tar.gz À» ¹ÞÀº °æ¿ì´Â ÆÐÄ¡°¡ ÇÊ¿ä¾ø´Ù).

    % patch -p0 < 7528
    % patch -p0 < 7633
    % patch -p0 < 7629
    % patch -p0 < 7650

  ¾Æ·¡´Â unpackÇÑ »óÅÂÀÇ µð·ºÅ丮¿Í ÆÄÀϵéÀÌ´Ù
  


3.configure
  ¿©±â¼­ ¿ì¼± ./configure --help¿¡ ÀÇÇØ ¿©·¯ optionÀ» È®ÀÎÇÒ ¼ö Àִµ¥, option ¾øÀÌ default¸¸À¸·Î
  configÇØµµ Å©°Ô ¹®Á¦´Â ¾ø´Ù. ´Ù¸¸ °æ¿ì¿¡ µû¶ó¼­ Ưº°ÇÑ compiler¸¦ »ç¿ëÇÒ °æ¿ì°¡ Àִµ¥,
  À̶§´Â -fc, -cc, -f90 -c++ µîÀÇ optionÀ¸·Î ÁöÁ¤ÇØÁØ´Ù.

  ±âº» device(ÀÌ ¿ë¾î´Â MPICH ȨÆäÀÌÁö¸¦ ÂüÁ¶)·Î ÇÒ °æ¿ì´Â ¾Æ·¡¿Í °°ÀÌ ½ÇÇàÇϰí
    % ./configure --prefix=¼³Ä¡µð·ºÅ丮
  È¤½Ã ÀÚµ¿À¸·Î ȯ°æÀ» ¼±ÅÃÇØÁֽà ¸øÇÑ´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇØº»´Ù
    % ./configure --with-device=ch_p4 --with-arch=LINUX --prefix=¼³Ä¡µð·ºÅ丮
  


  ¾Æ·¡¿Í °°Àº ¸Þ½ÃÁö°¡ ³ª¿À¸é configure°¡ Á¦´ë·Î ½ÇÇàµÈ °ÍÀÌ´Ù
    ...
    creating Makefile
    creating mpptestconf.h
    creating mpid/ch_p4/Makefile
    creating mpid/tests/Makefile
    creating mpichconf.h
    mpichconf.h is unchanged
    *# --->
    *# You should register your copy of MPICH with us by sending mail
    *# to majordomo@mcs.anl.gov containing the message
    *# subscribe mpi-users
    *# This will allow us to notify you of new releases of MPICH.
    *#  
    *# You can also check the MPICH home page at
    *# http://www.mcs.anl.gov/mpi/mpich
    *# ---<
    Configuration completed.

4.make
  ½Ã½ºÅÛ ¼º´É¿¡ µû¶ó ¼öºÐ¿¡¼­ ¼ö½Ã°£ ¼Ò¿äµÈ´Ù
    % make

  ½ÇÇàÀÌ ¿Ï·áµÈ ÈÄ ¸Þ½ÃÁöÀÇ ¸Ç ¾Æ·¡ ºÎºÐ¿¡ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ ³ª¿À¸é Á¦´ë·Î ½ÇÇØµÈ °ÍÀÌ´Ù
    Completed build of MPI.  Check the output for errors Also try executing 'make
    testing' in examples/test (This relies on mpirun, which currently works for
    many but not all systems.  For workstation networks, mpirun requires that you
    first setup a "machines" file listing the machines available; this is covered
    in the installation manual.)
  
5.·ÎÄÿ¡¼­ ¿¹Á¦ µ¹·Áº¸±â
  make install ÇϱâÀü¿¡ ·ÎÄà ¸Ó½Å¿¡¼­ 4°³ÀÇ ÇÁ·Î¼¼½º·Î º´·Ä ½ÇÇàµÇ´ÂÁö ¾Æ·¡Ã³·³ Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù
  
    % cd examples/basic
    % make cpi
    % ../../bin/mpirun -np 4 cpi

  

  ¸¸¾à ½ÇÇà½Ã ´ÙÀ½°ú °°Àº ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸¸³­´Ù¸é Á¶Ä¡ÇÑ´Ù
    .Connection Refused. -> rsh µ¥¸óÀÌ ½ÇÇà°¡´ÉÇÑÁö, ¹æÈ­º®ÀÌ rsh ¸¦ ¸·Áö´Â ¾Ê´ÂÁö ~/.rhosts À̳ª
         /etc/hosts.equiv µîµîÀÇ rsh °ü·Ã ȯ°æÀ» ÀûÀýÈ÷ ¼³Á¤ÇÑ´Ù
    .Permission denied.  -> rsh ¸Þ¸óÀº ½ÇÇàÁßÀ̳ª rsh °ü·Ã ȯ°æÀÌ ÀûÀýÇÏÁö ¾ÊÀ»¶§ ¹ß»ýÇÑ´Ù
    
6.make install
   configure ¼³Á¤½Ã --prefix ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ ¼³Ä¡µð·ºÅ丮¿¡ ¼³Ä¡¸¦ ½ÃÀÛÇÑ´Ù
    % make install
  
   Á¤È®È÷ ¼³Ä¡°¡ µÇ¾úÀ¸¸é ¾Æ·¡¿Í °°Àº ¸Þ½ÃÁö°¡ º¸Àδ٠   
  


7.½ÇÁ¦ º´·Ä ȯ°æ¿¡¼­ ¿¹Á¦ µ¹·Áº¸±â
  ½ÇÁ¦ º´·Ä ȯ°æ¿¡¼­ MPIÀÇ ½ÇÇàÀº ÀÏ¹Ý °èÁ¤À¸·Î Çϵµ·Ï ÇÑ´Ù
  
  ¸ÕÀú MPI °¡ ¼³Ä¡µÈ µð·ºÅ丮ÀÇ share/machines.LINUX ÆÄÀÏÀ» ¿­¾î MPI º´·Ä °è»ê¿¡ Âü¿©Çϴ ȣ½ºÆ®µéÀ»
  Â÷·Ê·Î µî·ÏÇÑ´Ù(¿©±â¼­´Â myhome °ú slave ¶ó´Â µÎ´ëÀÇ È¯°æÀ¸·Î Å×½ºÆ® ÇÏ¿´À¸¸ç ÀÚ±â ÀÚ½ÅÀº µî·ÏÇÏÁö
  ¾Ê´Â´Ù. ¿©±â¼­´Â slave ¶ó´Â È£½ºÆ®¿¡¼­ mpirun À» ÇÏ¿´´Ù)
  

  
  ¶ÇÇÑ MPI´Â rsh¸¦ ÀÌ¿ëÇϹǷΠÀϹݰèÁ¤ÀÇ È¨µð·ºÅ丮¿¡ .rhosts ÆÄÀÏÀ» 600 ÆÄÀÏ ±ÇÇÑÀ¸·Î ¸¸µç ÈÄ
  MPI º´·Ä °è»ê¿¡ Âü¿©Çϴ ȣ½ºÆ®µé°ú °èÁ¤(µ¿ÀÏÇÑ °èÁ¤)µéÀ» µî·ÏÇÑ´Ù
  


  MPI °¡ ¼³Ä¡µÈ µð·ºÅ丮ÀÇ ¿¹Á¦ Æú´õ¿¡¼­ cpi¸¦ ½ÇÇàÇØ º»´Ù
    % cd examples/basic
    % make cpi
    % ../../bin/mpirun -np 2 cpi
  ¹°·Ð rsh ¸¦ ÀÌ¿ëÇϹÇÈ£ ¸ðµç È£½ºÆ®ÀÇ µ¿ÀÏÇÑ °èÁ¤ÀÇ µ¿ÀÏÇÑ µð·ºÅ丮¿¡ cpi ½ÇÇàÆÄÀÏÀÌ ÀÌ¹Ì º¹»çµÇ¾î
  ÀÖ¾î¾ß ÇÑ´Ù. ¾Æ·¡´Â ½ÇÇàÇÑ °á°úÀÌ´Ù
  

    





7   [º´·Ä ÇÁ·Î±×·¡¹Ö] [MPI] Game of Life (Conway`s Game of Life)  ±è¿µ´ë 2003/03/15 8297 1822
  [º´·Ä ÇÁ·Î±×·¡¹Ö] [MPI] MPICH 1.2.5 ¼³Ä¡  ±è¿µ´ë 2003/04/09 14173 2000
5   [º´·Ä ÇÁ·Î±×·¡¹Ö] [MPI] N-Body Problem  ±è¿µ´ë 2003/03/15 7988 3923
4   [º´·Ä ÇÁ·Î±×·¡¹Ö] [MPI] Parallelizing the Mandelbrot Set  ±è¿µ´ë 2003/03/15 7621 1764
3   [º´·Ä ÇÁ·Î±×·¡¹Ö] [MPI] Prime Number Generation  ±è¿µ´ë 2003/03/15 7434 1876
2   [º´·Ä ÇÁ·Î±×·¡¹Ö] [OpenMP] Parallelizing the Mandelbrot Set  ±è¿µ´ë 2003/03/15 8306 1916
1   [º´·Ä ÇÁ·Î±×·¡¹Ö] [thread] POSIX thread ¿¡ °üÇÑ ¸î°¡Áö Âü°í»çÇ×  ±è¿µ´ë 2003/07/17 12171 2288

1
 

Copyright 1999-2023 Zeroboard / skin by zero