ນີ້ແມ່ນຄໍາສັ່ງ mpiexec.lam ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
mpiexec - ດໍາເນີນໂຄງການ MPI ເທິງ LAM nodes.
ສະຫຼຸບສັງລວມ
mpiexec [global_args] local_args1 [: local_args2 [... ]]
mpiexec [global_args] -configfile ຊື່ໄຟລ໌
OPTIONS
ການໂຕ້ຖຽງທົ່ວໂລກໃຊ້ກັບຄໍາສັ່ງທັງຫມົດທີ່ຈະຖືກເປີດຕົວໂດຍ mpiexec. ພວກເຂົາມາຢູ່ທີ່
ການເລີ່ມຕົ້ນຂອງເສັ້ນຄໍາສັ່ງ.
- ບູດ ບູດສະພາບແວດລ້ອມເວລາແລ່ນຂອງ LAM ກ່ອນທີ່ຈະແລ່ນໂປຣແກຣມ MPI. ຖ້າ
- ໄຟລ໌ເຄື່ອງຈັກ ບໍ່ໄດ້ລະບຸໄວ້, ໃຫ້ໃຊ້ boot schema ເລີ່ມຕົ້ນ. ເມື່ອ MPI
ຂະບວນການສໍາເລັດ, ສະພາບແວດລ້ອມເວລາແລ່ນ LAM ຈະຖືກປິດລົງ.
-boot-args ໂຕ້ຖຽງ
ຖ່າຍທອດການໂຕ້ແຍ້ງໄປຫາດ້ານຫຼັງ lamboot ຄໍາສັ່ງໃນເວລາທີ່ booting LAM run-time
ສະພາບແວດລ້ອມ. ຫມາຍເຖິງ - ບູດ.
-d ເປີດໃຊ້ຜົນການດີບັ໊ກຫຼາຍອັນ. ຫມາຍເຖິງ -v.
- ໄຟລ໌ເຄື່ອງຈັກ hostfile
ເປີດໃຊ້ "ຫນຶ່ງການສັກຢາ" MPI ປະຕິບັດ; boot ສະພາບແວດລ້ອມເວລາແລ່ນ LAM ດ້ວຍ
boot schema ທີ່ລະບຸໂດຍ hostfile (ເບິ່ງ ເຈົ້າພາບ(5)), ດໍາເນີນການໂຄງການ MPI, ແລະຫຼັງຈາກນັ້ນ
ປິດສະພາບແວດລ້ອມເວລາແລ່ນຂອງ LAM. ຫມາຍເຖິງ - ບູດ.
- ຄໍານໍາຫນ້າ lam/install/path
ໃຊ້ການຕິດຕັ້ງ LAM ທີ່ລະບຸໄວ້ໃນ /lam/install/path/. ບໍ່ເຂົ້າກັນໄດ້ກັບ
ລຸ້ນ LAM/MPI ກ່ອນໜ້າ 7.1.
-ssi ທີ່ສໍາຄັນ ມູນຄ່າ
ກໍານົດລະຫັດພາລາມິເຕີ SSI ເປັນຄ່າມູນຄ່າ.
- ໂທລະພາບ ເປີດໃຊ້ຂະບວນການ MPI ພາຍໃຕ້ການດີບັກ TotalView.
-v ເປັນຄຳເວົ້າ
ໜຶ່ງ ຫຼືຫຼາຍຊຸດຂອງອາກິວເມັນທ້ອງຖິ່ນຕ້ອງໄດ້ຮັບການລະບຸ (ຫຼືໄຟລ໌ config; ເບິ່ງຂ້າງລຸ່ມນີ້).
ການໂຕ້ຖຽງທ້ອງຖິ່ນໂດຍພື້ນຖານແລ້ວປະກອບມີທຸກສິ່ງທຸກຢ່າງທີ່ອະນຸຍາດໃຫ້ຢູ່ໃນ appschema(5) ເຊັ່ນດຽວກັນກັບ
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ລະບຸໄວ້ໂດຍມາດຕະຖານ MPI-2 (ໃຫ້ສັງເກດວ່າທາງເລືອກທີ່ລະບຸໄວ້ຂ້າງລຸ່ມນີ້ຕ້ອງ
ໄດ້ລະບຸໄວ້ ກ່ອນທີ່ຈະ appschema arguments):
-n ຕົວເລກ
ຈໍານວນສໍາເນົາຂອງຂະບວນການທີ່ຈະເລີ່ມຕົ້ນ.
- ເຈົ້າພາບ hostname
ລະບຸຊື່ເຈົ້າພາບເພື່ອເລີ່ມຕົ້ນຂະບວນການ MPI. ຊື່ເຈົ້າພາບຕ້ອງເປັນ
ແກ້ໄຂໄດ້ໂດຍ ລຳໂນດ ຄໍາສັ່ງຫຼັງຈາກສະພາບແວດລ້ອມເວລາແລ່ນ LAM ຖືກ booted
(ເບິ່ງ ລຳໂນດ(1)).
-ໂຄ້ງ ຖາປັດຕະຍະ
ລະບຸສະຖາປັດຕະຍະກຳເພື່ອເລີ່ມຂະບວນການ MPI. mpiexec ການນໍາໃຊ້ທີ່ສໍາຄັນ
ສະຖາປັດຕະຍະກໍາທີ່ສະຫນອງໃຫ້ເປັນຮູບແບບທີ່ກົງກັນກັບຜົນຜະລິດຂອງ GNU
config.guess ຜົນປະໂຫຍດໃນແຕ່ລະເຄື່ອງຈັກໃນສະພາບແວດລ້ອມເວລາແລ່ນ LAM. ໃດ
ຊຸດຍ່ອຍຈະກົງກັນ. ເບິ່ງຕົວຢ່າງ, ຂ້າງລຸ່ມນີ້.
-wdir ລະບົບ
ຕັ້ງຄ່າໄດເລກະທໍລີທີ່ເຮັດວຽກຂອງ executable.
- ອ່ອນ ຍັງບໍ່ຮອງຮັບເທື່ອ.
- ເສັ້ນທາງ ຍັງບໍ່ຮອງຮັບເທື່ອ.
-file ຍັງບໍ່ຮອງຮັບເທື່ອ.
other_arguments
ເມື່ອໃດ mpiexec ທໍາອິດພົບການໂຕ້ຖຽງທີ່ມັນບໍ່ຮັບຮູ້ (ເຊັ່ນ:
appschema(5) argument, ຫຼືຊື່ປະຕິບັດ MPI), ສ່ວນທີ່ເຫຼືອຂອງ
ການໂຕ້ຖຽງຈະຖືກສົ່ງກັບຄືນໄປຫາ ໄພຣຸນ ເພື່ອເລີ່ມຕົ້ນຂະບວນການຕົວຈິງ. ດັ່ງນັ້ນ,
ທັງຫມົດຂອງ mpiexecການໂຕ້ຖຽງຂອງທີ່ໄດ້ອະທິບາຍໄວ້ຂ້າງເທິງຈະຕ້ອງມາ ກ່ອນທີ່ຈະ appschema
arguments ແລະ/ຫຼື MPI ຊື່ປະຕິບັດໄດ້. ເຊັ່ນດຽວກັນ, ການໂຕ້ຖຽງທັງຫມົດຫຼັງຈາກ
ຊື່ທີ່ປະຕິບັດໄດ້ MPI ຈະຖືກສົ່ງຜ່ານຢ່າງໂປ່ງໃສເປັນການໂຕ້ຖຽງແຖວຄໍາສັ່ງໄປຫາ
ຂະບວນການ MPI ແລະຈະເປັນຈະຖືກລະເລີຍຢ່າງມີປະສິດທິພາບ ໄພຣຸນ.
ລາຍລະອຽດ
mpiexec ຖືກກໍານົດໄວ້ວ່າງໆຢູ່ໃນບົດ Miscellany ຂອງມາດຕະຖານ MPI-2 (ເບິ່ງ
http://www.mpi-forum.org/). ມັນຫມາຍຄວາມວ່າຈະເປັນກົນໄກແບບເຄື່ອນທີ່ສໍາລັບການເລີ່ມຕົ້ນ MPI
ຂະບວນການ. ມາດຕະຖານ MPI-2 ແນະນໍາທາງເລືອກແຖວຄໍາສັ່ງຫຼາຍ, ແຕ່ບໍ່ແມ່ນ
ມອບໝາຍໃດໆ. ລຳ mpiexec ໃນປັດຈຸບັນສະຫນັບສະຫນູນຫຼາຍທາງເລືອກເຫຼົ່ານີ້, ແຕ່ບໍ່ແມ່ນທັງຫມົດ.
ລຳ mpiexec ຕົວຈິງແລ້ວແມ່ນ script perl ທີ່ເປັນ wrapper ປະມານ LAM ທີ່ຕິດພັນຫຼາຍ
ຄໍາສັ່ງ, ໂດຍສະເພາະທີ່ສຸດ lamboot, ໄພຣຸນ, ແລະ lamhalt. ດັ່ງນັ້ນ, ຫນ້າທີ່ສະຫນອງໃຫ້
by mpiexec ສາມາດດໍາເນີນການດ້ວຍຕົນເອງໄດ້ຕະຫຼອດເວລາ. ເວັ້ນເສຍແຕ່ໄດ້ລະບຸໄວ້ເປັນຢ່າງອື່ນໃນການໂຕ້ຖຽງວ່າ
ຖືກສົ່ງກັບຄືນໄປຫາ ໄພຣຸນ, mpiexec ຈະໃຊ້ການກຳນົດເວລາຕໍ່ CPU ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ
ໄພຣຸນ(1) (ie, the "cX" ແລະ "C" notation).
mpiexec ສາມາດໃຊ້ຈັກກະວານ LAM ທີ່ມີຢູ່ແລ້ວ (ເຊັ່ນ: ເວລາແລ່ນ LAM ທີ່ບູດແລ້ວ
ສະພາບແວດລ້ອມ), ຄ້າຍຄືກັນກັບ ໄພຣຸນ, ຫຼືສາມາດໃຊ້ສໍາລັບການປະຕິບັດ MPI "ຫນຶ່ງການສັກຢາ" ບ່ອນທີ່ມັນ
boots ສະພາບແວດລ້ອມເວລາແລ່ນ LAM, ແລ່ນ MPI executable(s), ແລະຫຼັງຈາກນັ້ນປິດລົງ.
ສະພາບແວດລ້ອມເວລາແລ່ນຂອງ LAM.
mpiexec ຍັງສາມາດຖືກນໍາໃຊ້ເພື່ອເປີດວຽກ MPMD MPI ຈາກເສັ້ນຄໍາສັ່ງ. ໄພຣຸນ ຍັງ
ຮອງຮັບການເປີດຕົວວຽກ MPMD MPI, ແຕ່ຜູ້ໃຊ້ຕ້ອງເຮັດໄຟລ໌ຂໍ້ຄວາມ appschema(5) ທໍາອິດ.
ບາງທີອາດມີຫນຶ່ງໃນ mpiexecຄຸນນະສົມບັດທີ່ເປັນປະໂຫຍດທີ່ສຸດແມ່ນຄວາມສາມາດຂອງເສັ້ນຄໍາສັ່ງທີ່ຈະເປີດຕົວ
ການປະຕິບັດທີ່ແຕກຕ່າງກັນກ່ຽວກັບສະຖາປັດຕະຍະກໍາທີ່ແຕກຕ່າງກັນໂດຍໃຊ້ -ໂຄ້ງ ທຸງ (ເບິ່ງຕົວຢ່າງ,
ຂ້າງລຸ່ມນີ້). ໂດຍພື້ນຖານແລ້ວ, ການໂຕ້ຖຽງ string ທີ່ມອບໃຫ້ -ໂຄ້ງ ຖືກນໍາໃຊ້ເປັນຮູບແບບ
ກົງກັບຜົນຜະລິດຂອງ GNU config.guess ຜົນປະໂຫຍດໃນແຕ່ລະ node. ຖ້າຫາກວ່າຜູ້ໃຊ້ -
ສະຕຣິງສະຖາປັດຕະຍະກຳທີ່ສະໜອງໃຫ້ກົງກັບຊຸດຍ່ອຍຂອງຜົນຜະລິດຂອງ config.guess, ມັນແມ່ນ ruled
ການແຂ່ງຂັນ. ຕົວແທນແມ່ນເປັນໄປບໍ່ໄດ້. GNU config.guess ຜົນປະໂຫຍດສາມາດໃຊ້ໄດ້ທັງໃນ
ການແຈກຢາຍລະຫັດແຫຼ່ງ LAM/MPI (ຢູ່ໃນໄດເລກະທໍລີຍ່ອຍ config) ແລະຢູ່ທີ່
ftp://ftp.gnu.org/gnu/config/config.guess.
ບາງຕົວຢ່າງຜົນໄດ້ຮັບຈາກ config.guess ປະກອບມີ:
sparc-sun-solaris2.8
Solaris 2.8 ແລ່ນຢູ່ໃນເວທີ SPARC.
i686-pc-linux-gnu
Linux ແລ່ນຢູ່ໃນສະຖາປັດຕະຍະກໍາ i686.
mips-sgi-irix6.5
IRIX 6.5 ແລ່ນຢູ່ໃນສະຖາປັດຕະຍະກຳ SGI/MIPS.
ທ່ານອາດຈະຕ້ອງການດໍາເນີນການ laminfo ຄໍາສັ່ງຢູ່ໃນເວທີທີ່ມີຢູ່ຂອງທ່ານເພື່ອເບິ່ງວ່າສາຍພັນໃດ
config.guess ລາຍງານ. ເບິ່ງ laminfo(1) ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ (ຕົວຢ່າງ, the -ໂຄ້ງ ປັກທຸງໃສ່ laminfo).
Configfile ທາງເລືອກ
ມັນເປັນໄປໄດ້ທີ່ຈະລະບຸຊຸດຂອງຕົວກໍານົດການທ້ອງຖິ່ນໃນໄຟລ໌ການຕັ້ງຄ່າແທນທີ່ຈະເປັນ
ໃນບັນທັດຄໍາສັ່ງການນໍາໃຊ້ -configfile ທາງເລືອກ. ຕົວເລືອກນີ້ມັກຈະຖືກໃຊ້ເມື່ອ
ຈໍານວນຕົວເລືອກແຖວຄໍາສັ່ງໃຫຍ່ເກີນໄປສໍາລັບບາງ Shell, ຫຼືໃນເວລາທີ່ຂະບວນການອັດຕະໂນມັດ
ສ້າງ arguments ເສັ້ນຄໍາສັ່ງແລະມັນເປັນພຽງແຕ່ສະດວກກວ່າທີ່ຈະເອົາໃສ່ໃນໄຟລ໌
ສໍາລັບການປຸງແຕ່ງຕໍ່ມາໂດຍ mpiexec.
ໄຟລ໌ config ສາມາດມີທັງຄໍາເຫັນແລະຫນຶ່ງຫຼືຫຼາຍຊຸດຂອງ arguments ທ້ອງຖິ່ນ. ສາຍ
ເລີ່ມຕົ້ນດ້ວຍ "#" ຖືວ່າເປັນຄຳເຫັນ ແລະຖືກລະເລີຍ. ສາຍອື່ນໆຖືກພິຈາລະນາ
ເປັນໜຶ່ງ ຫຼືຫຼາຍກຸ່ມຂອງການໂຕ້ຖຽງທ້ອງຖິ່ນ. ແຕ່ລະກຸ່ມຕ້ອງແຍກອອກດ້ວຍ ກ
ແຖວໃໝ່ ຫຼື ຈໍ້າເມັດ (":"). ຍົກຕົວຢ່າງ:
# ຕົວຢ່າງໄຟລ໌ config mpiexec
# ເປີດ foo ໃນສອງ nodes
-host node1.example.com foo : -host node2.example.com foo
# ເປີດຕົວສອງສໍາເນົາຂອງແຖບໃນ node ທີສາມ
-host node3.example.com -np 2 bar
ຄວາມຜິດພາດ
ໃນກໍລະນີຂອງຄວາມຜິດພາດ, mpiexec ຈະເຮັດດີທີ່ສຸດເພື່ອປິດທຸກຢ່າງ ແລະກັບຄືນສູ່
ລັດກ່ອນທີ່ມັນຈະຖືກປະຕິບັດ. ຕົວຢ່າງ, ຖ້າ mpiexec ຖືກນໍາໃຊ້ເພື່ອບູດເວລາແລ່ນ LAM
ສະພາບແວດລ້ອມ, mpiexec ຈະເຮັດໃຫ້ດີທີ່ສຸດທີ່ຈະເອົາລົງອັນໃດກໍຕາມ booted ສົບຜົນສໍາເລັດຂອງ
ສະພາບແວດລ້ອມເວລາແລ່ນ (ເພື່ອປະກອບມີການເອີ້ນ lamhalt ແລະ / ຫຼື ແກະ).
ຕົວຢ່າງ
ຕໍ່ໄປນີ້ແມ່ນບາງຕົວຢ່າງຂອງວິທີການນໍາໃຊ້ mpiexec. ໃຫ້ສັງເກດວ່າຕົວຢ່າງທັງຫມົດສົມມຸດວ່າ
ການກໍານົດເວລາໂດຍອີງໃສ່ CPU (ເຊິ່ງເຮັດ ບໍ່ ແຜນທີ່ກັບ CPU ທາງດ້ານຮ່າງກາຍ) ຕາມທີ່ອະທິບາຍໄວ້ໃນ ໄພຣຸນ(1).
mpiexec -n 4 my_mpi_program
ເປີດຕົວ 4 ສໍາເນົາຂອງ my_mpi_program ໃນຈັກກະວານ LAM ທີ່ມີຢູ່ແລ້ວ.
mpiexec -n 4 my_mpi_program arg1 arg2
ຄ້າຍຄືກັນກັບຕົວຢ່າງທີ່ຜ່ານມາ, ແຕ່ຜ່ານ "arg1" ແລະ "arg2" ເປັນເສັ້ນຄໍາສັ່ງ
ການໂຕ້ຖຽງຕໍ່ກັບແຕ່ລະສໍາເນົາຂອງ my_mpi_program.
mpiexec -ssi rpi gm -n 4 my_mpi_program
ຄ້າຍຄືກັນກັບຕົວຢ່າງທີ່ຜ່ານມາ, ແຕ່ຜ່ານ "-ssi rpi gm" ກັບຄືນໄປບ່ອນ ໄພຣຸນ ບອກ
ຂະບວນການ MPI ໃຊ້ Myrinet (gm) RPI ສໍາລັບການຖ່າຍທອດຂໍ້ຄວາມ MPI.
mpiexec -n 4 program1 : -n 4 program2
ເປີດຕົວ 4 ສໍາເນົາຂອງ ໂປຣແກມ1 ແລະ 4 ສະບັບ ໂປຣແກມ2 ໃນ LAM ທີ່ມີຢູ່ແລ້ວ
ຈັກກະວານ. ທັງໝົດ 8 ຂະບວນການທີ່ໄດ້ຮັບຜົນຈະແບ່ງປັນ MPI_COMM_WORLD ທົ່ວໄປ.
mpiexec -machinefile hostfile -n 4 my_mpi_program
ບູດສະພາບແວດລ້ອມເວລາແລ່ນ LAM ດ້ວຍໂຫນດທີ່ລະບຸໄວ້ໃນ hostfile, ແລ່ນ 4
ສໍາເນົາຂອງ my_mpi_program ໃນຈັກກະວານ LAM ທີ່ເປັນຜົນ, ແລະຫຼັງຈາກນັ້ນປິດການ
ຈັກກະວານ LAM.
mpiexec -machinefile hostfile my_mpi_program
ຄ້າຍຄືກັນກັບຂ້າງເທິງ, ແຕ່ດໍາເນີນການ my_mpi_program ໃນ CPU ທັງຫມົດທີ່ມີຢູ່ໃນ LAM
ຈັກກະວານ.
mpiexec -arch solaris2.8 sol_program : -arch linux linux_program
ດໍາເນີນການສໍາເນົາຈໍານວນຫຼາຍຂອງ sol_program ຍ້ອນວ່າມີ CPUs ຢູ່ໃນເຄື່ອງ Solaris ໃນ
ຈັກກະວານ LAM ໃນປະຈຸບັນ, ແລະເປັນຈໍານວນຫຼາຍສໍາເນົາຂອງ linux_program ຍ້ອນວ່າມີ CPUs
ເຄື່ອງ linux ໃນຈັກກະວານ LAM ໃນປັດຈຸບັນ. ຂະບວນການຜົນໄດ້ຮັບທັງຫມົດຈະແບ່ງປັນ
MPI_COMM_WORLD ທົ່ວໄປ.
mpiexec -arch solaris2.8 sol2.8_prog : -arch solaris2.9 sol2.9_program
ຄ້າຍຄືກັນກັບຕົວຢ່າງຂ້າງເທິງ, ຍົກເວັ້ນການຈໍາແນກລະຫວ່າງ Solaris 2.8 ແລະ 2.9
(ເນື່ອງຈາກວ່າພວກເຂົາເຈົ້າອາດຈະມີຫ້ອງສະຫມຸດຮ່ວມກັນທີ່ແຕກຕ່າງກັນ, ແລະອື່ນໆ).
ໃຊ້ mpiexec.lam ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net