Como definir o caminho de um ambiente em lote para encontrar a localização do comando “qsub”

0

Eu tenho um programa, chamado "minvappmpi", que é paralelizado e ele mesmo chama o qsub como uma sub-rotina.

Quando eu uso o programa no cluster, ele lança o erro

qsub: command not found

Se eu quiser enviar outro trabalho usando "qsub", tudo estará bem. É somente quando eu chamo "qsub" dentro do meu programa que de alguma forma o comando não é encontrado.

Eu acho que o problema é algo a ver com caminhos: de alguma forma, o ambiente em que estou trabalhando sabe onde está o executável "qsub", mas o cluster não está?

Gostaria de saber: em primeiro lugar, como garantir que o caminho é para o ambiente em lote e se é diferente daquele para o ambiente de início de sessão e, em segundo lugar, se existe uma forma de alterar o caminho para o ambiente em lote sem permissões de root?

Muito obrigado pela sua ajuda!

    
por KR_Henninger 07.09.2016 / 13:20

1 resposta

0

Tudo bem! Eu progredi!

Eu tentei enviar meu trabalho com

qsub -V run.sh

Como aprendi, isso exporta todas as variáveis no ambiente de comando do qsub para o ambiente em lote. Isso funcionou muito bem, e agora o ambiente em lote sabe onde "qsub" é: -).

Mas eu tenho um novo problema.

Eu preciso enviar trabalhos no cluster com

qsub -P Projectname

E meu programa não sabe disso! Apenas chama "qsub".

Existe alguma maneira de contornar isso sem precisar recompilar? Eu não quero ter que recompilar porque estou executando o programa remotamente e não tenho todas as bibliotecas certas na máquina remota (e não consigo instalá-las sem permissões de root: -))

Muito obrigado pela sua ajuda!

    
por 16.09.2016 / 10:16