Mudanças entre as edições de "Minicluster:Compilando MPI"
De WikiLICC
m (→Compilando) |
m |
||
Linha 31: | Linha 31: | ||
[one]$ mpif90 hellompi.f90 -o hellompi | [one]$ mpif90 hellompi.f90 -o hellompi | ||
− | == Rodando | + | == Rodando em um processador == |
− | + | * Para rodar o programa em um processador, digite | |
− | |||
− | |||
− | |||
− | * Para rodar o programa em um processador | ||
[one]$ mpiexec ./hellompi | [one]$ mpiexec ./hellompi | ||
− | + | == Rodando no cluster == | |
− | + | * Para rodar em 4 processadores (2 máquinas x 2 processadores) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
[one]$ mpiexec -l -n 4 ./hellompi | [one]$ mpiexec -l -n 4 ./hellompi | ||
+ | 2: Sou o processo 2 de um total de 4 rodando em one.matrix | ||
0: Sou o processo 0 de um total de 4 rodando em one.matrix | 0: Sou o processo 0 de um total de 4 rodando em one.matrix | ||
1: Sou o processo 1 de um total de 4 rodando em cell100.matrix | 1: Sou o processo 1 de um total de 4 rodando em cell100.matrix | ||
− | |||
3: Sou o processo 3 de um total de 4 rodando em cell100.matrix | 3: Sou o processo 3 de um total de 4 rodando em cell100.matrix | ||
− | == | + | == Usando o MPE == |
− | + | * Para compilar o programa: | |
− | + | [one]$ mpif90 hellompi.f90 -o hellompi -mpe=mpilog | |
− | + | ||
− | + | * Para rodar o programa: | |
− | + | [one]$ mpiexec -l -n 4 ./hellompi | |
− | + | ||
− | + | * Depois de rodar o programa, um arquivo Unknows.clog2 foi criado. Para visualizar a iteração entre os computadores: | |
− | + | [one]$ jumpshot Unknown.clog2 | |
− | |||
− | |||
− | + | ** http://www.mcs.anl.gov/research/projects/perfvis/software/viewers/index.htm | |
− | |||
− | |||
− |
Edição das 00h00min de 7 de julho de 2010
- Configure o MPICH conforme [Minicluster:MPICH].
Digitando
Conecte-se a máquina one. Verifique os testes da sessão [Minicluster:MPICH], principalmente o último usando mpiboot. Inicie o daemon
[hunter]$ ssh usuario@one [one]$ mpdboot -n 2 -f ~/.mpd.hosts [one]$ mpdtrace -l one.matrix_54419 (192.168.0.99) cell100.matrix_41888 (192.168.0.100)
Abra um editor de textos
[one]$ vi hellompi.f90
e digite o programa abaixo:
program hellompi implicit none include "mpif.h" integer :: np, myid, ier,length character*80 :: nome call MPI_Init( ier ) call MPI_Comm_size( MPI_COMM_WORLD, np, ier) call MPI_Comm_rank( MPI_COMM_WORLD, myid, ier) call MPI_Get_processor_name(nome,length,ier) print *,"Sou o processo ", myid," de um total de ", np," rodando em ",nome call MPI_Finalize( ier ) end program
Compilando
- Para compilar o programa, digite
[one]$ mpif90 hellompi.f90 -o hellompi
Rodando em um processador
- Para rodar o programa em um processador, digite
[one]$ mpiexec ./hellompi
Rodando no cluster
- Para rodar em 4 processadores (2 máquinas x 2 processadores)
[one]$ mpiexec -l -n 4 ./hellompi 2: Sou o processo 2 de um total de 4 rodando em one.matrix 0: Sou o processo 0 de um total de 4 rodando em one.matrix 1: Sou o processo 1 de um total de 4 rodando em cell100.matrix 3: Sou o processo 3 de um total de 4 rodando em cell100.matrix
Usando o MPE
- Para compilar o programa:
[one]$ mpif90 hellompi.f90 -o hellompi -mpe=mpilog
- Para rodar o programa:
[one]$ mpiexec -l -n 4 ./hellompi
- Depois de rodar o programa, um arquivo Unknows.clog2 foi criado. Para visualizar a iteração entre os computadores:
[one]$ jumpshot Unknown.clog2