mpirun provavelmente usa uma chamada de execv() para executar o programa em vez de um execvp() um (que procuraria por ele em PATH ).
Primeira solução alternativa: peça ao shell para procurar o comando por si só:
mpirun -np 4 $(which PyroDist) -in C005.dat -out foo
Caso contrário: duas soluções alternativas (não tão boas) em que consigo pensar:
-
Use
/usr/bin/envcom o argumentoPyroDist, mas isso requer quempirunpermita passar argumentos junto com o programa de alguma forma. -
Escreva seu próprio wrapper como:
#!/bin/sh PyroDiste coloque-o em algum lugar com um caminho relativo "fixo".