Предположим, что у меня есть код, который работает на 384 процессах MPI (24 вычислительных узла с 16 ядрами на каждый вычислительный узел) и использует следующий простой скрипт для отправки моей работы в очередь заданийНазначить различное количество потоков openmp для каждого процесса mpi
#!/bin/bash
#PBS -S /bin/bash
#PBS -l nodes=24:ppn=16
#PBS -l walltime=01:00:00
cd $PBS_O_WORKDIR
module load openmpi
mpirun mycode > output_file
возможен следующий сценарий: мне нужно назначить еще один узел с 16 ядрами, чтобы сделать какие-то конкретные расчеты с использованием «OpenMP» и обновляет остальные 384 процессов в какой-то момент с результатами вычислений. Итак, теперь у меня есть 384 MPI-процессов с одним потоком, выполняемым последовательно в каждом и одном MPI-процессе с 16 нитями openmp.
Можно ли выполнить это с помощью OMP_NUM_THREADS и mpirun или любых других инструментов?
Я ценю любые предложения
Спасибо
Сина
Спасибо за помощь именно то, что мне было нужно, –
Для MPICH '-x' должен быть' -env'. – Armut