[mephi-hpc] hpc Digest, Vol 83, Issue 2

Углов Владимир Васильевич VVUglov at mephi.ru
Wed Jun 30 14:50:58 MSK 2021


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


Возник вопрос по сборке Quantum ESPRESSO GPU c CUDA в системе "basis":

Чтобы подключить pg компиляторы, cuda с библиотеками и подходящую версию  mpi (MPI implementation that wraps PGI Fortran) нужно предварительно ввести команды
source /opt/nvidia/hpc_sdk/nvvars.sh
и
source /opt/nvidia/hpc_sdk/nv_mpi_vars.sh?

P.S. Это необходимо, чтобы далее проделать configure 
./configure CC=pgcc FC=pgf90 F90=pgf90 MPIF90=mpipgifort --enable-openmp --with-cuda=$CUDA_ROOT --with-cuda-runtime=11.3 --with-cuda-cc=80


 Спасибо!

С уважением, Владимир В Углов, Игорь Сафронов
________________________________________
От: hpc <hpc-bounces at lists.mephi.ru> от имени hpc-request at lists.mephi.ru <hpc-request at lists.mephi.ru>
Отправлено: 12 мая 2021 г. 12:00
Кому: hpc at lists.mephi.ru
Тема: hpc Digest, Vol 83, Issue 2

Send hpc mailing list submissions to
        hpc at lists.mephi.ru

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.mephi.ru/listinfo/hpc
or, via email, send a message with subject or body 'help' to
        hpc-request at lists.mephi.ru

You can reach the person managing the list at
        hpc-owner at lists.mephi.ru

When replying, please edit your Subject line so it is more specific
than "Re: Contents of hpc digest..."


Today's Topics:

   1. Re: Quantum ESPRESSO GPU with CUDA (qe-gpu cuda) (anikeev)


----------------------------------------------------------------------

Message: 1
Date: Tue, 11 May 2021 16:26:08 +0300
From: anikeev <anikeev at ut.mephi.ru>
To: NRNU MEPhI HPC discussion list <hpc at lists.mephi.ru>
Subject: Re: [mephi-hpc] Quantum ESPRESSO GPU with CUDA (qe-gpu cuda)
Message-ID:
        <ef31bf06e3859631abc3338c4522a36445defec6.camel at ut.mephi.ru>
Content-Type: text/plain; charset="UTF-8"

On Tue, 2021-05-04 at 12:55 +0000, Углов Владимир Васильевич wrote:
> Здравствуйте!

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

> В рассылке как-то поднималась тема насчет PGI компиляторов и был дан
> совет установить для своего пользователя NVIDIA HPC SDK.
>
> Однако, возникли вопросы насчет сборки Quantum ESPRESSO c CUDA.
> Например, для HPC-SDK + OpenMPI (MPI implementation that wraps PGI
> Fortran) + CUDA:
>
> ./configure CC=pgcc FC=pgf90 F90=pgf90 MPIF90=mpipgifort --enable-
> openmp --with-cuda=/PATH/ --with-cuda-runtime=Y.y --with-cuda-cc=70
>
> В руководстве пользователя указано, что на кластере установлено
> NVIDIA CUDA Toolkit 9.2.148.
> На сайте NVIDIA самая ранняя версия HPC SDK 20.7 (August 2020)
> https://developer.nvidia.com/nvidia-hpc-sdk-releases, которая
> поддерживает CUDA 10.1 и Minimum CUDA Driver 418.39
> https://docs.nvidia.com/hpc-sdk/archive/20.7/hpc-sdk-release-notes/index.html
> .
> Т.е., получается, что перед установкой
> https://docs.nvidia.com/hpc-sdk/archive/21.3/hpc-sdk-install-guide/index.html,например
> , последней версии HPC SDK 21.3 (April 2021) необходимо удалить
> предыдущую версию CUDA Toolkit c драйвером и затем установить
> соответствующие новые CUDA Toolkit 11.3 (April 2021), но для этого
> нужны права sudo
> https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
> .

На кластере стоит драйвер 418.152:

anikeev at tensor:~$ dpkg -l | grep -i nvidia-driver
nvidia-driver    418.152.00-1    amd64

Таким образом, Вы можете поставить HPC SDK 20.7 без удаления системной
версии с использованием proot (см. руководство пользователя, пп. 3.6)

https://ut.mephi.ru/pdf/projects/hpc/userguide.pdf

https://proot-me.github.io/

Обращайтесь при наличии вопросов.

> 1. Учитывая, что обновление планируется с выходом нового релиза
> Debian в июне-июле, то пока нет возможности задействовать CUDA ядра
> при сборке Quantum ESPRESSO GPU?

Возможность есть, с помощью proot, см. выше.

> 2. Второй вопрос связан с запросом ресурсов на GPU узле. Чтобы
> задействовать больше CUDA ядер, то в bash скрипте мы занижаем --
> ntasks, например, до 2, а --cpus-per-task до 1 с тем, чтобы поставить
> 24 задачи (т.е. полностью загрузить GPU узел задействовав 48
> графических ускорителя, учитывая, что --gres=gpu:2)?
>
> В рекомендациях по выбору числа потоков CPU на каждый GPU для QE
> приводится (наверно,
> --cpus-per-task нужно указывать какое-то другое)

Простите, не понял формулировку вопроса. Для оптимального использования
GPU обычно рекомендуется запускать много вычислительных потоков на один
ускоритель, однако, в руководстве QE указано, что он не рассчитан на
такое использование:

https://gitlab.com/QEF/q-e-gpu/-/wikis/home

As a rule, the code should run with one MPI per GPU. In some cases, if
allowed by the node configuration, performance may be improved by
running two processes per GPU device. The code will print a warning if
more than two processes try to run on the same GPU as this is
discouraged.

Попробуйте такие два скрипта (запрос времени опустил):

#!/bin/bash
#SBATCH --partition=gpu
#SBATCH --nodes=1
#SBATCH --gres=gpu:2
#SBATCH --ntasks=2
#SBATCH --cpus-per-task=24
#SBATCH --mem=0               # Request the full memory of the node
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

#!/bin/bash
#SBATCH --partition=gpu
#SBATCH --nodes=1
#SBATCH --gres=gpu:2
#SBATCH --ntasks=4
#SBATCH --cpus-per-task=12
#SBATCH --mem=0               # Request the full memory of the node
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

> Спасибо!
>
>
>
> С уважением, Игорь Сафронов, Владимир Углов
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc
--
С уважением,
инженер отдела Unix-технологий МИФИ,
Аникеев Артём.
Тел.: 8
(495) 788-56-99, доб. 8998

------------------------------

Subject: Digest Footer

_______________________________________________
hpc mailing list
hpc at lists.mephi.ru
https://lists.mephi.ru/listinfo/hpc


------------------------------

End of hpc Digest, Vol 83, Issue 2
**********************************


More information about the hpc mailing list