enviando jobs para obter 3 nós executando execuções paralelas

1

Eu tenho um script de envio como mostrado abaixo, ele tenta executar um grande número de instâncias de csce.py em fundos com 3 nós .... em um laptop, isso geralmente poderia distribuir automaticamente todas as tarefas em segundo plano em 16 núcleos .... No entanto, não tenho certeza se em um cluster, também distribuiria automaticamente as tarefas 4 * 13 * 9 em 3 nós (48 núcleos).

#!/bin/bash
#SBATCH -N 3                   # Total number of nodes requested (16 cores/node)
#SBATCH -n 48                  # Total number of mpi tasks requested

for simplify in  0.1 0.15 0.2 0.25
do for lmbda in 0.5 1 2  5 10 20  50 100 200 500 1000 2000 5000
do for mu in 0.005 0.01 0.05 0.1 0.5 1 5 10 50 
do rm eci.out
csce.py --mu $mu --lmbda $lmbda --simplify $simplify --favor-low-energy 0.01 --bias-stable --save-energies lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_ce-energies.dat --save-weights lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_ce-weights.dat  --casm-eci-file eci.in lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_eci.out --save-hull lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_ce-hull.dat  --preserve-ground-state 10000 2> lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_error 1> lmbda_$lmbda\_mu_$mu\_simplify_$simplify\_output &
done  
done
 done

wait
    
por user40780 31.03.2016 / 04:32

1 resposta

3

Não, se você tiver vários nós (máquinas) não há nada lá que tire vantagens disso, tudo será executado na máquina que você executar este script.

O & no final da linha csce.py faz com que a operação seja executada em segundo plano na máquina atual. Então, com esta configuração, você obterá tarefas de 4x12x9 executadas em paralelo na sua máquina atual.

O GNU parallel suporta execução remota , para isso você precisa configurar o acesso automatizado a as outras máquinas e pense em como qualquer dado de entrada é acessado (se não for armazenado para leitura em algum volume compartilhado por todas as máquinas, pode ser necessário copiar os dados para trabalhar).

    
por 31.03.2016 / 08:10