Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
общее:инструкции:компиляция_mpi_программ [24.04.2017 19:43:03] leoten |
общее:инструкции:компиляция_mpi_программ [19.09.2022 22:57:44] (текущий) Admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | <note tip>Список доступных компиляторов и реализаций MPI доступен по **[[:cluster:kepler:soft|ссылке]]**</note> | ||
- | |||
===== Компиляция MPI-программ ===== | ===== Компиляция MPI-программ ===== | ||
- | Перед компиляцией и запуском MPI-программы необходимо загрузить модули окружения. В общем случае таких модулей будет два: | ||
- | * модуль компилятора | ||
- | * модуль конкретной реализации MPI | ||
- | ^ Язык ^ Команда компиляции ^ | + | Компиляция MPI-программ существенно не отличается от компиляции традиционных последовательных программ. Общий вид команды компиляции следующий: |
- | ^ C | **//mpicc//** | | + | |
- | ^ Fortran | **//mpifort//** | | + | |
- | ^ C%%++%% | **//mpicxx//**, **//mpic%%++%%//** | | + | |
- | + | ||
- | Сама компиляция MPI-программ существенно не отличается от компиляции традиционных последовательных программ. Общий вид команды компиляции следующий: | + | |
<code> $ <MPI_compiler> <source_file>[ <source_file>] -o <executable_file> [...] </code> | <code> $ <MPI_compiler> <source_file>[ <source_file>] -o <executable_file> [...] </code> | ||
Строка 19: | Строка 9: | ||
^ <executable_file> | исполняемый файл | | ^ <executable_file> | исполняемый файл | | ||
^ [...] | дополнительные опции компилятора | | ^ [...] | дополнительные опции компилятора | | ||
+ | |||
+ | Перед использованием OpenMPI необходимо настроить переменные окружения, выполнив следующую команду: <code>module load mpi/openmpi-x86_64</code> | ||
===== Примеры компиляции ===== | ===== Примеры компиляции ===== | ||
- | ---- | + | |
- | ==== OpenMPI 1.10.6, GCC 4.4.7, язык C ==== | + | |
<code> | <code> | ||
- | module load compilers/gnu/4.4.7 | + | module load mpi/openmpi-x86_64 |
- | module load mpi/openmpi/1.10.6 | + | |
mpicc mpi_src.c -o mpi-c | mpicc mpi_src.c -o mpi-c | ||
</code> | </code> | ||
- | ==== Intel MPI, GCC 4.4.7, язык C++ ==== | ||
- | <code> | ||
- | module load compilers/intel/2017 | ||
- | mpicxx mpi_src1.cpp mpi_src2.cpp -o mpi-cxx | ||
- | </code> | ||
- | |||
- | ==== Intel MPI, Intel 2017, язык с++ ==== | ||
- | <code> | ||
- | module load compilers/intel/2017 | ||
- | mpiicpc mpi_src1.cpp mpi_src2.cpp -o mpi-cxx | ||
- | </code> | ||
- | |||
- | ==== PGI 2016, MVAPICH2, язык Fortran ==== | ||
- | <code> | ||
- | module load compilers/pgi/16.10 | ||
- | module load mpi/mvapich2/2.2 | ||
- | mpifort mpi_src1.f mpi_src2.f mpi_src3.f -o mpi-fort | ||
- | </code> |