Parallel: Número limitado de processos multi-threaded

1

Estou usando o GNU paralelo para executar vários trabalhos em paralelo assim: parallel python3 main.py arg ::: args* . Com tarefas de encadeamento único, usei -j 100% para garantir que 1 tarefa seja mapeada para 1 núcleo.

Agora, cada trabalho tem quatro threads e eu tenho 32 núcleos. Eu quero distribuir os trabalhos de modo que eles não se sobreponham, ou seja, executando 8 trabalhos de cada vez em quatro núcleos diferentes. Eu não entendo como fazer isso. Eu tentei -j8 , que eu pensei que limitaria o número de trabalhos paralelos. Mas ainda inicia todos os trabalhos de uma só vez - e limita-os a 8 núcleos? -j 25% não funcionou ...

    
por CGFoX 11.07.2017 / 10:21

1 resposta

0

Tanto o -j 8 quanto o -j 25% farão o mesmo em uma máquina de 32 núcleos, portanto, se isso não funcionar, você encontrou um erro. Faça um MCVE stackoverflow.com/help/mcve.

Mas primeiro: obtenha a versão mais recente para garantir que você não esteja sendo atingido por um bug já corrigido.

    
por 11.07.2017 / 15:03