ЦКП ВВР ПГНИУ

Суперкомпьютерный центр Пермского университета

Инструменты пользователя

Инструменты сайта


общее:инструкции:компиляция_openmp_программ

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
общее:инструкции:компиляция_openmp_программ [26.04.2017 13:11:48]
leoten
общее:инструкции:компиляция_openmp_программ [19.09.2022 21:11:01] (текущий)
Admin
Строка 1: Строка 1:
 ===== Компиляция OpenMP программ ===== ===== Компиляция OpenMP программ =====
-<note tip>​Список доступных компиляторов и соответствующих модулей приведен на странице **[[:​cluster:​kepler:​soft#​компиляторы|ПГНИУ-Кеплер:​ Доступное ПО]]**</​note>​ 
-<note tip>​Информация об использовании модулей доступна на странице **[[:​общее:​инструкции:​module|Утилита "​module"​]]**</​note>​ 
  
-Большинство современных компиляторов поддерживают технологию OpenMP. Поэтому,​ для того чтобы скомпилировать OpenMP-программу достаточно в строке вызова указать компилятору в качестве дополнительного параметра специальный ключ: 
- 
-^  Компилятор ​ ^  Ключ ​ ^ 
-^  [[:​service:​gcc|GCC]] ​ | **//​-fopenmp//​** | 
-^  [[:​service:​intel|Intel]] ​ | **//​-openmp//​** (в версии 2017 и выше **//​-qopenmp//​**) ​ | 
-^  [[:​service:​pgi|PGI]] ​ | **//-mp//** (**//​-nomp//​** для отключения OpenMP) | 
- 
-Как и в случае с последовательной программой,​ сперва необходимо загрузить модуль выбранного компилятора. После этого для компиляции OpenMP-программы достаточно ввести в командной строке команду со следующей структурой:​ 
 <​code>​ $ <​compiler>​ <​source_file>​[ <​source_file>​] -o <​executable_file>​ <​omp_key>​ [...] </​code>​ <​code>​ $ <​compiler>​ <​source_file>​[ <​source_file>​] -o <​executable_file>​ <​omp_key>​ [...] </​code>​
  
Строка 16: Строка 6:
 ^  <​source_file> ​ | файл с исходным кодом | ^  <​source_file> ​ | файл с исходным кодом |
 ^  <​executable_file> ​ | исполняемый файл | ^  <​executable_file> ​ | исполняемый файл |
-^  <​omp_key> ​ | ключ для компилирования OpenMP-программ ​(зависит от выбранного компилятора) ​|+^  <​omp_key> ​ | ключ для компилирования OpenMP-программ |
 ^  [...]  | дополнительные опции компилятора | ^  [...]  | дополнительные опции компилятора |
  
 ===== Примеры компиляции ===== ===== Примеры компиляции =====
----- +
-==== GNU GCC 4.4.7====+
 <​code>​ <​code>​
-$ module load compilers/​gnu/​4.4.7 +$ gcc src.-fopenmp -o openmp-gcc-c
-$ gcc src.cpp -fopenmp -o omp-gcc-c+++
 </​code>​ </​code>​
  
-==== Intel 2017==== 
 <​code>​ <​code>​
-module load compilers/​intel/​2017 +g++ src.cpp -fopenmp ​-o openmp-gcc-cpp
-$ ifort src1.f src2.f ​-qopenmp ​-o omp-intel-fort+
 </​code>​ </​code>​
  
-==== PGI 16.10 ==== 
 <​code>​ <​code>​
-module load compilers/​pgi/​16.10 +gfortran src.-fopenmp ​-o openmp-gcc-fortran
-$ pgcc src1.c src2.c src3.c src4.c ​-mp -o omp-pgi-c+
 </​code>​ </​code>​
 +
общее/инструкции/компиляция_openmp_программ.txt · Последние изменения: 19.09.2022 21:11:01 — Admin