[mephi-hpc] openmp gfortran

anikeev anikeev at ut.mephi.ru
Fri Nov 18 12:05:41 MSK 2022


On Fri, 2022-11-18 at 11:55 +0300, Philipp Korneev wrote:
> Добрый день, Артём, подскажите пожалуйста, что я делаю неправильно
> (на cherenkov). Файлы внизу.

Здравствуйте!

> Хочу скомпилировать и запустить с OpenMP программу на фортране.
> Делаю:
> 1. $ export OMP_NUM_THREADS=4
> 2. $ gfortran hello.f -o hello -fopenmp
> 3. $ sbatch task_hello
> 
> получаю
>  Hello from process:            0
>  Hello from process:            0
>  Hello from process:            0
>  Hello from process:            0
> 
> хотя ожидал 0,1,2,3.

Экземпляр интерпретатора командной строки bash, в котором Вы работаете
на головном узле, и экземпляр bash, который Вы запускаете (#!/bin/bash)
внутри скрипта task_hello на вычислительно узле - это разные процессы,
у них разные переменные окруженися. Вам нужно выполнять export
OMP_NUM_THREADS=4 внутри скрипта task_hello. Эта особенность описана в
руководстве пользователя.

> Спасибо большое!
> с уважением,
> фк
> ___________________________________
> Файл task_hello:
> > #!/bin/bash
> > #SBATCH --job-name=OMP_hello
> > #SBATCH --output=slurm.out
> > #SBATCH --error=slurm.err
> > #SBATCH --nodes=1
> > #SBATCH --ntasks-per-node=4
> > 
> > 
> > export OMP_NUM_THREADS=4
> > srun --mpi=pmi2 ./hello
> > 
> 
> 
> Файл hello.f:
> >       PROGRAM Parallel_Hello_World
> >       USE OMP_LIB
> >       !$OMP PARALLEL
> >       PRINT *, 'Hello from process: ', OMP_GET_THREAD_NUM()
> >       !$OMP END PARALLEL
> >       END
> > 
> 
>  
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc

-- 
С уважением,
ведущий инженер отдела UNIX-технологий НИЯУ МИФИ,
к.ф.-м.н. Аникеев Артем.
email: aaanikeyev at mephi.ru, anikeev at ut.mephi.ru

Best regards,
MEPhI UNIX-technology department lead engineer,
Artem Anikeev, Ph.D.
e-mail: aaanikeyev at mephi.ru, anikeev at ut.mephi.ru






More information about the hpc mailing list