setenv dentro do script não substitui o valor definido no prompt

0

tentando fazer setenv OMP_NUM_THREADS 8

se no prompt de um shell eu executar setenv OMP_NUM_THREADS 4 com sucesso. E meu programa é executado em 4 núcleos, se eu iniciá-lo.

Mas eu tenho um arquivo chamado runme , onde é só isso

setenv OMP_NUM_THREADS 8
cd /scratch/run1
./crunch_numbers.x

meu programa crunch_numbers.x é paralelizado com openMP e usa a variável de ambiente OMP_NUM_THREADS .

O problema é crunch_numbers quando o script runme é executado em 4 núcleos e não em 8. a configuração de OMP_NUM_THREADS no meu script não tem efeito. Como posso tornar o setenv no script eficaz?

Além disso, meu shell é / bin / tcsh. Eu não planejo usar isso em um shell bash. obrigado.

    
por ron 08.04.2016 / 22:32

1 resposta

2

Se você preferir usar tcsh , seu script deve dizê-lo, colocando isso no começo:

#!/bin/tcsh -f

O #!/bin/tcsh diz ao kernel para rodar esse programa em vez de #/bin/sh , e a opção -f lembra tcsh para não reinicializar a si mesmo.

Leitura adicional:

por 08.04.2016 / 23:06