Mudanças entre as edições de "Minicluster:Compilando MPI"
De WikiLICC
m (→Rodar um programa MPI) |
m (→Rodando) |
||
Linha 11: | Linha 11: | ||
== Compilando == | == Compilando == | ||
== Rodando == | == Rodando == | ||
+ | * Para rodar o programa em um processador | ||
+ | [one]$ mpiexec ./hellompi | ||
+ | |||
+ | * Rode novamente usando mais processos (e um processador - talvez 2 se for dual-core ?) | ||
+ | [one]$ mpiexec -np 4 ./hellompi | ||
+ | Sou o processo 0 de um total de 4 rodando em one.matrix | ||
+ | Sou o processo 2 de um total de 4 rodando em one.matrix | ||
+ | Sou o processo 1 de um total de 4 rodando em one.matrix | ||
+ | Sou o processo 3 de um total de 4 rodando em one.matrix | ||
+ | onde <code>one.matrix</code> é o nome da máquina (todas no mesmo nó ainda). Para rodar em mais máquinas, primeiro desligue o mpd | ||
+ | [usuario@one]$ mpdallexit | ||
+ | |||
Um programa hellompi em paralelo | Um programa hellompi em paralelo | ||
Linha 18: | Linha 30: | ||
2: Sou o processo 2 de um total de 4 rodando em one.matrix | 2: Sou o processo 2 de um total de 4 rodando em one.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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Testando o anel de máquinas == | == Testando o anel de máquinas == |
Edição das 15h46min de 6 de julho de 2010
- Configure o MPICH conforme [Minicluster:MPICH].
Digitando
Conecte-se a máquina one
[hunter]$ ssh usuario@one [one]$ mpd --daemon [one]$ mpdtrace -l one.matrix_54419 (192.168.0.99)
Abra um editor de textos e digite o programa abaixo:
[one]$ vi hellompi.f90
Compilando
Rodando
- Para rodar o programa em um processador
[one]$ mpiexec ./hellompi
- Rode novamente usando mais processos (e um processador - talvez 2 se for dual-core ?)
[one]$ mpiexec -np 4 ./hellompi Sou o processo 0 de um total de 4 rodando em one.matrix Sou o processo 2 de um total de 4 rodando em one.matrix Sou o processo 1 de um total de 4 rodando em one.matrix Sou o processo 3 de um total de 4 rodando em one.matrix
onde one.matrix
é o nome da máquina (todas no mesmo nó ainda). Para rodar em mais máquinas, primeiro desligue o mpd
[usuario@one]$ mpdallexit
Um programa hellompi em paralelo
[one]$ mpiexec -l -n 4 ./hellompi 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 2: Sou o processo 2 de um total de 4 rodando em one.matrix 3: Sou o processo 3 de um total de 4 rodando em cell100.matrix
Testando o anel de máquinas
Um programa hellompi em paralelo
dago@um fortran $ mpiexec -l -n 4 ./hellompi 0: Sou o processo 0 de um total de 4 rodando em um.phantom 1: Sou o processo 1 de um total de 4 rodando em cell100.matrix 2: Sou o processo 2 de um total de 4 rodando em um.phantom 3: Sou o processo 3 de um total de 4 rodando em cell100.matrix
Teste final
No mestre
dago@um ~ $ mpdboot -n 2 dago@um ~ $ mpdtrace -l um.phantom_40584 (192.168.0.99) cell100.matrix_59410 (192.168.0.100) dago@um ~ $ cd fortran/ dago@um fortran $ mpiexec -l -n 2 ./hellompi 1: Sou o processo 1 de um total de 2 rodando em cell100.matrix 0: Sou o processo 0 de um total de 2 rodando em um.phantom
Em cell100
[dago@cell100 fortran]$ mpdtrace -l cell100.matrix_59410 (192.168.0.100) um.phantom_40584 (192.168.0.99)