<div dir="ltr">Артём, спасибо за ответ,<div>мой скрипт task_hello выглядит так:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(80,0,80)">#!/bin/bash<br></span><span style="color:rgb(80,0,80)">#SBATCH --job-name=OMP_hello<br></span><span style="color:rgb(80,0,80)">#SBATCH --output=slurm.out<br></span><span style="color:rgb(80,0,80)">#SBATCH --error=slurm.err<br></span><span style="color:rgb(80,0,80)">#SBATCH --nodes=1<br></span><span style="color:rgb(80,0,80)">#SBATCH --ntasks-per-node=4<br></span><span style="color:rgb(80,0,80)"> export OMP_NUM_THREADS=4<br></span><span style="color:rgb(80,0,80)"> srun --mpi=pmi2 ./hello</span></blockquote><div>Скажите пожалуйста, в каком месте и каким образом можно по-другому выполнить export OMP_NUM_THREADS=4 внутри скрипта task_hello?</div><div>Спасибо</div><div>С уважением,</div><div>фк</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le ven. 18 nov. 2022 à 12:05, anikeev <<a href="mailto:anikeev@ut.mephi.ru">anikeev@ut.mephi.ru</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2022-11-18 at 11:55 +0300, Philipp Korneev wrote:<br>
> Добрый день, Артём, подскажите пожалуйста, что я делаю неправильно<br>
> (на cherenkov). Файлы внизу.<br>
<br>
Здравствуйте!<br>
<br>
> Хочу скомпилировать и запустить с OpenMP программу на фортране.<br>
> Делаю:<br>
> 1. $ export OMP_NUM_THREADS=4<br>
> 2. $ gfortran hello.f -o hello -fopenmp<br>
> 3. $ sbatch task_hello<br>
> <br>
> получаю<br>
> Hello from process: 0<br>
> Hello from process: 0<br>
> Hello from process: 0<br>
> Hello from process: 0<br>
> <br>
> хотя ожидал 0,1,2,3.<br>
<br>
Экземпляр интерпретатора командной строки bash, в котором Вы работаете<br>
на головном узле, и экземпляр bash, который Вы запускаете (#!/bin/bash)<br>
внутри скрипта task_hello на вычислительно узле - это разные процессы,<br>
у них разные переменные окруженися. Вам нужно выполнять export<br>
OMP_NUM_THREADS=4 внутри скрипта task_hello. Эта особенность описана в<br>
руководстве пользователя.<br>
<br>
> Спасибо большое!<br>
> с уважением,<br>
> фк<br>
> ___________________________________<br>
> Файл task_hello:<br>
> > #!/bin/bash<br>
> > #SBATCH --job-name=OMP_hello<br>
> > #SBATCH --output=slurm.out<br>
> > #SBATCH --error=slurm.err<br>
> > #SBATCH --nodes=1<br>
> > #SBATCH --ntasks-per-node=4<br>
> > <br>
> > <br>
> > export OMP_NUM_THREADS=4<br>
> > srun --mpi=pmi2 ./hello<br>
> > <br>
> <br>
> <br>
> Файл hello.f:<br>
> > PROGRAM Parallel_Hello_World<br>
> > USE OMP_LIB<br>
> > !$OMP PARALLEL<br>
> > PRINT *, 'Hello from process: ', OMP_GET_THREAD_NUM()<br>
> > !$OMP END PARALLEL<br>
> > END<br>
> > <br>
> <br>
> <br>
> _______________________________________________<br>
> hpc mailing list<br>
> <a href="mailto:hpc@lists.mephi.ru" target="_blank">hpc@lists.mephi.ru</a><br>
> <a href="https://lists.mephi.ru/listinfo/hpc" rel="noreferrer" target="_blank">https://lists.mephi.ru/listinfo/hpc</a><br>
<br>
-- <br>
С уважением,<br>
ведущий инженер отдела UNIX-технологий НИЯУ МИФИ,<br>
к.ф.-м.н. Аникеев Артем.<br>
email: <a href="mailto:aaanikeyev@mephi.ru" target="_blank">aaanikeyev@mephi.ru</a>, <a href="mailto:anikeev@ut.mephi.ru" target="_blank">anikeev@ut.mephi.ru</a><br>
<br>
Best regards,<br>
MEPhI UNIX-technology department lead engineer,<br>
Artem Anikeev, Ph.D.<br>
e-mail: <a href="mailto:aaanikeyev@mephi.ru" target="_blank">aaanikeyev@mephi.ru</a>, <a href="mailto:anikeev@ut.mephi.ru" target="_blank">anikeev@ut.mephi.ru</a><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
hpc mailing list<br>
<a href="mailto:hpc@lists.mephi.ru" target="_blank">hpc@lists.mephi.ru</a><br>
<a href="https://lists.mephi.ru/listinfo/hpc" rel="noreferrer" target="_blank">https://lists.mephi.ru/listinfo/hpc</a><br>
</blockquote></div>