[mephi-hpc] Пример LAMMPS на GPU

anikeev at ut.mephi.ru anikeev at ut.mephi.ru
Wed Dec 15 17:21:16 MSK 2021


anikeev at ut.mephi.ru писал 2021-12-15 17:08:

P.S. При использовании двух и более GPU-ускорителей в одной задаче 
рекомендуется использовать CUDA-aware MPI:

#!/bin/bash
#SBATCH --partition=gpu
#SBATCH --nodes=1
#SBATCH --gres=gpu:2
#SBATCH --ntasks=2
#SBATCH --cpus-per-task=1
#SBATCH --time=10:00:00

source /opt/nvidia/hpc_sdk/nvvars.sh
source /opt/nvidia/hpc_sdk/nv_mpi_vars.sh

cd /mnt/pool/5/andreykv/LMP_by_anikeev/basis/c_pah
mpirun --mca self,smcuda 
/mnt/pool/5/andreykv/LMP_by_anikeev/basis/lammps-29Sep2021/build/lmp -k 
on g 2 -sf kk -in in.reaxc.stat


> Уважаемые пользователи!
> 
> Вашему вниманию предлагается пример использования пакета молекулярной
> динамики LAMMPS с GPU-ускорителями:
> 
> Конфигурация приложения на Tensor:
> 
> anikeev at tensor:~$ source /opt/nvidia/hpc_sdk/nvvars.sh
> anikeev at tensor:~$ source /opt/nvidia/hpc_sdk/nv_mpi_vars.sh
> anikeev at tensor:~$ cmake -D PKG_KOKKOS=yes -D Kokkos_ARCH_SKX=yes -D
> Kokkos_ARCH_VOLTA70=yes -D Kokkos_ENABLE_CUDA=yes -D
> CMAKE_CXX_COMPILER=/mnt/pool/5/andreykv/LMP_by_anikeev/basis/lammps-29Sep2021/lib/kokkos/bin/nvcc_wrapper
> -D
> CUDAToolkit_INCLUDE_DIR=/opt/nvidia/hpc_sdk/Linux_x86_64/21.3/cuda/11.2/targets/x86_64-linux/include
> -D PKG_REAXFF=yes ../cmake
> 
> Конфигурация приложения на Basis:
> 
> anikeev at basis:~$ source /opt/nvidia/hpc_sdk/nvvars.sh
> anikeev at basis:~$ source /opt/nvidia/hpc_sdk/nv_mpi_vars.s
> anikeev at basis:~$ cmake -D PKG_KOKKOS=yes -D Kokkos_ARCH_ZEN2=yes -D
> Kokkos_ARCH_AMPERE80=yes -D Kokkos_ENABLE_CUDA=yes -D
> CMAKE_CXX_COMPILER=/mnt/pool/5/andreykv/LMP_by_anikeev/basis/lammps-29Sep2021/lib/kokkos/bin/nvcc_wrapper
> -D
> CUDAToolkit_INCLUDE_DIR=/opt/nvidia/hpc_sdk/Linux_x86_64/21.3/cuda/11.2/targets/x86_64-linux/include
> -D PKG_REAXFF=yes ../cmake
> 
> Собранные пакеты можно найти в директориях:
> 
> /mnt/pool/5/andreykv/LMP_by_anikeev/tensor/lammps-29Sep2021/build/lmp
> /mnt/pool/5/andreykv/LMP_by_anikeev/basis/lammps-29Sep2021/build/lmp
> 
> Примеры задач можно найти в директориях:
> 
> /mnt/pool/5/andreykv/LMP_by_anikeev/tensor/reaxff_example/start.sh
> /mnt/pool/5/andreykv/LMP_by_anikeev/basis/reaxff_example/start.sh
> 
> Пример стартового скрипта для одного GPU-ускорителя:
> 
> #!/bin/bash
> #SBATCH --partition=gpu
> #SBATCH --nodes=1
> #SBATCH --gres=gpu:1
> #SBATCH --ntasks=1
> #SBATCH --cpus-per-task=1
> #SBATCH --time=10:00:00
> 
> source /opt/nvidia/hpc_sdk/nvvars.sh
> source /opt/nvidia/hpc_sdk/nv_mpi_vars.sh
> 
> cd /mnt/pool/5/andreykv/LMP_by_anikeev/basis/c_pah
> mpirun
> /mnt/pool/5/andreykv/LMP_by_anikeev/basis/lammps-29Sep2021/build/lmp
> -k on g 1 -sf kk -in in.reaxc.stat
> 
> Пример стартового скрипта для двух GPU-ускорителей:
> 
> #!/bin/bash
> #SBATCH --partition=gpu
> #SBATCH --nodes=1
> #SBATCH --gres=gpu:2
> #SBATCH --ntasks=2
> #SBATCH --cpus-per-task=1
> #SBATCH --time=10:00:00
> 
> source /opt/nvidia/hpc_sdk/nvvars.sh
> source /opt/nvidia/hpc_sdk/nv_mpi_vars.sh
> 
> cd /mnt/pool/5/andreykv/LMP_by_anikeev/basis/c_pah
> mpirun
> /mnt/pool/5/andreykv/LMP_by_anikeev/basis/lammps-29Sep2021/build/lmp
> -k on g 2 -sf kk -in in.reaxc.stat
> 
> 
> На практике нужно стараться использовать минимум GPU для отдельной
> задачи. Несколько GPU в одной задаче нужно использовать, если на одном
> GPU нехватает объема видеопамяти.
> 
> Обращайтесь при возникновении вопросов по использованию
> GPU-ускорителей. Переход на GPU-ускорители сокращает не только время
> расчета Вашей задачи, но и время ожидания в очереди задач.
> GPU-ускоренные освобождают CPU ресурсы для Ваших коллег, алгоритмы
> которых нельзя перенести на GPU. Кроме того, GPU-ускоренные расчеты
> сокращают энергопотребление университета.
> 
> Напоминаю, что для векторизаованных на базе SIMD инструкций (AVX-512
> FMA, AVX-2 FMA) алгоритмов в первую очередь нужно использовать кластер
> Tensor, во вторую - кластер Cherenkov. Подавляющее большинство
> современных пакетов физического моделирования подерживают векторизацию
> за счет использования библиотек BLAS, LAPACK, FFTW, MKL.
> 
> Для невекторизованных алгоритмов нужно в первую очередь использовать
> кластер Unilcuster, во вторую - кластер Basov. Используя правильное
> аппаратное обеспечение Вы сокращает сроки ожидания для себя и коллег в
> разы.
> 
> --
> С уважением,
> инженер отдела UNIX-технологий НИЯУ МИФИ,
> к.ф.-м.н.,
> Аникеев Артем.
> e-mail: anikeev at ut.mephi.ru
> тел.: 8 (495) 788-56-99, доб. 8998
> 
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc

--
С уважением,
инженер отдела UNIX-технологий НИЯУ МИФИ,
к.ф.-м.н.,
Аникеев Артем.
e-mail: anikeev at ut.mephi.ru
тел.: 8 (495) 788-56-99, доб. 8998



More information about the hpc mailing list