O GNU Parallel não fará multithreading, mas irá fazer multiprocessamento, o que pode ser o suficiente para você:
seq 50000 | parallel my_MC_sim --iteration {}
O padrão será 1 processo por núcleo da CPU e garantirá que a saída de dois trabalhos paralelos não seja misturada.
Você pode até colocar essa paralelização no script do Octave. Consulte o link
O GNU Parallel é um paralelizador geral e facilita a execução de trabalhos em paralelo na mesma máquina ou em várias máquinas para as quais você tem acesso ssh. Muitas vezes, pode substituir um loop for
.
Se você tem 32 tarefas diferentes que você quer rodar em 4 CPUs, uma forma direta de paralelizar é rodar 8 tarefas em cada processador:
O
GNUParallelgeraumnovoprocessoquandoumtermina-mantendoasCPUsativaseeconomizandotempo:
Instalação
Se o GNU Parallel não for empacotado para sua distribuição, você poderá fazer uma instalação pessoal, que não requer acesso root. Isso pode ser feito em 10 segundos ao fazer isso:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
Para outras opções de instalação, consulte o link
Saiba mais
Veja mais exemplos: link
Assista aos vídeos de introdução: link
Percorra o tutorial: link
Inscreva-se na lista de e-mail para obter suporte: link