СРЕДЫ ПРОГРАММИРОВАНИЯ
ОБЩАЯ ИНФОРМАЦИЯ
Всем пользователям Вычислительного центра СПбГУ доступны компиляторы Intel, GNU и PGI для языков C, C++ и Fortran.
C | C++ | Fortran | |
Intel | icc | icpc | ifort |
GCC | gcc | g++ | gfortran |
PGI | pgcc | pgc++ | pgfortran |
Внимание!
Коллекция GNU-компиляторов (GCC) доступна на виртуальных машинах Linux по умолчанию. На платформе CentOS 7 последняя доступная версия: GCC 7.5, а для CentOS 6 - 7.5. Для установки более новых версий рекомендуется использовать пакеты Devtoolset (доступны через пакетный менеджер yum)
Чтобы запустить компиляторы от Intel, требуется выполнить команду:
source /usr/local/ipsxece/ipsxece_2018_u3/bin/compilervars.sh intel64
Чтобы запустить GNU-компиляторы, требуется выполнить команду:
source /usr/local/hpc/etc/gcc/7.5.0.bashrc
Для каждого из компиляторов есть справочные страницы.
Параллельное программирование OpenMP
Чтобы скомпилировать программы OpenMP, вы должны добавить следующий флаг компиляции:
Intel |
-qopenmp пример: icc -qopenmp myprog.c |
GCC |
-fopenmp пример: gcc -fopenmp myprog.c |
PGI |
-mp пример: pgcc -mp myprog.c |
Полезная информация об использовании OpenMP доступна на нашем сайте.
Параллельное программирование MPI
Поддерживаются три типа MPI: Intel MPI, Open MPI и MPICH2.
Мы рекомендуем использовать в вашей работе быстрый и оптимизированный Intel MPI.
Для компиляции программы MPI требуется выполнить два шага:
1) Загрузите правильные переменные окружения для нужного компилятора и для определенного типа MPI, который вы хотите использовать. Например, для Intel MPI, выполните команды:
$ source /usr/local/ipsxece/ipsxece_2018_u3/bin/compilervars.sh intel64 $ source /usr/local/ipsxece/ipsxece_2018_u3/impi/2018.3.222/bin64/mpivars.sh
2) Выполните соответствующую команду оболочки MPI для компиляции вашей программы.
Три типа MPI могут работать по-разному и по разным проблемам или в разных средах программирования. Если у вас возникли проблемы с одним типом MPI, попробуйте использовать другой тип.
Команды компилятора для программ MPI:
C | C++ | Fortran | |
Intel MPI | mpiicc | mpiicpc | mpiifort |
OpenMPI | mpicc | mpicxx | mpifort |
MPICH2 | mpicc | mpicxx | mpifort |
Полезная информация об использовании MPI представлена на нашем сайте.
Другие языки
В нашем Вычислительном центре доступны и другие языки программирования: