Гибридный MPI / OpenMP в LSF

Я перемещаю программу, распараллеленную OpenMP, в Cluster. Кластер использует Lava 1.0 в качестве планировщика и имеет 8 ядер в каждом узле. Я использовал оболочку MPI в скрипте задания для параллельной работы нескольких хостов.

Вот сценарий работы:

#BSUB -q queue_name
#BSUB -x

#BSUB -R "span[ptile=1]"
#BSUB -n 1

#BSUB -J n1p1o8
##BSUB -o outfile.email
#BSUB -e err

export OMP_NUM_THREADS=8

date
/home/apps/bin/lava.openmpi.wrapper -bynode -x OMP_NUM_THREADS \
    ~/my_program ~/input.dat ~/output.out 
date

Я провел несколько экспериментов исключительно на одном хосте. Тем не менее, я нене знаю, как объяснить некоторые результаты.

1.

-nOMP_NUM_THREADStime1

421:122

420:12

Означает ли это, что MPI неНе проводите ли здесь параллели? Я думал, что во втором случае каждый процесс MPI будет иметь 4 потока OMP, поэтому он должен использовать 800% загрузки ЦП, что должно быть быстрее, чем первый.

Еще один результат, чтобы доказать, что это

-nOMP_NUM_THREADStime2

231:424

230:47

У них также есть довольно близкое время выполнения.

2.

В этом случае, если я хочу простым способом параллельно расположить эту программу в этом кластере с разумной оптимизированной скоростью, разумно ли разместить 1 процесс MPI (скажите LFG, что я использую одно ядро) на каждом хосте, установить OMP_NUM_THREADS = 8, а затем запустить его исключительно? Поэтому MPI работает только для заданий между узлами, а OpenMP - для заданий внутреннего узла. (-n = # хоста; ptile = 1; OMP_NUM_THREADS = Макс. количество ядер на каждом хосте)

ОБНОВИТЬ: Программа скомпилирована gfortran -fopenmp без mpicc. MPI используется только для распространения исполняемого файла.

ОБНОВЛЕНИЕ 3 марта: Монитор использования памяти программы

Локальная среда: Mac 10,8 / 2,9 ГГц Память i7 / 8GB

Нет OpenMP

Реальный объем памяти: 8,4 МБРазмер виртуальной памяти: 2,37 ГБРазмер общей памяти: 212 КБОбъем личной памяти: 7,8 МбВиртуальная личная память: 63,2 МБ

С OpenMP (4 потока)

Реальный объем памяти: 31,5 МБРазмер виртуальной памяти: 2,52 ГБРазмер общей памяти: 212 КБРазмер личной памяти: 27,1 МбВиртуальная личная память: 210,2 МБ

Краткая информация об аппаратном обеспечении кластера

Каждый хост содержит два четырехъядерных чипа, по 8 ядер на узел и 8 ГБ памяти. Хосты в этом кластере связаны с помощью infiniband.

Ответы на вопрос(1)

Ваш ответ на вопрос