Skip to content

frewerins/ParallelComputationExamples

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ParallelComputationExamples

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² с MPI, OpenMP ΠΈ CUDA. Код собран ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ CMake.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ использованию MPI кластСра

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ происходит ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ компиляторов mpicc ΠΈ mpic++. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ происходит ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

module add mpi/openmpi4-x86_64

ПослС этого mpicc ΠΈ mpic++ подгрузятся Π² $PATH

Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ MPI

Для локального запуска ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипт run_local.sh. ΠžΠΏΡ†ΠΈΡ -np ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для указания количСства процСссов.

MPI локально ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ОБ:

Ubuntu: sudo apt-get install openmpi-bin libopenmpi-dev

Mac OS: brew install open-mpi

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ использованию SLURM

  • sinfo - ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π½ΠΎΠ΄Π°ΠΌ кластСра
  • sinfo -N -l - ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ΄Π΅ кластСра
  • squeue - ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π·Π°Π΄Π°Ρ‡
  • srun <command> - Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π½ΠΎΠ΄Π΅ кластСра
  • sbatch <script> - Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт Π½Π° Π½ΠΎΠ΄Π°Ρ… кластСра. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с #!/bin/bash. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запуска ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь. ПослС этого Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ сообщСниС Submitted batch job <job_id>, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» slurm-<job_id>.out.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:

About

Examples of MPI and OpenMP (adapted from MPI Tutorial)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Cuda 70.0%
  • C++ 23.6%
  • CMake 3.4%
  • Python 1.6%
  • Shell 1.4%