ЦКП ВВР ПГНИУ

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

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

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


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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
общее:инструкции:компиляция_openmp_программ [22.03.2017 18:25:32]
leoten Обновлены примеры, улучшен общий внешний вид страницы
общее:инструкции:компиляция_openmp_программ [19.09.2022 21:11:01] (текущий)
Admin
Строка 1: Строка 1:
-<note tip>​Список доступных компиляторов можно посмотреть по **[[:​cluster:​soft|ссылке]]**</​note>​ 
 ===== Компиляция OpenMP программ ===== ===== Компиляция OpenMP программ =====
  
-Большинство современных компиляторов поддерживают технологию 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>​
  
Строка 15: Строка 6:
 ^  <​source_file> ​ | файл с исходным кодом | ^  <​source_file> ​ | файл с исходным кодом |
 ^  <​executable_file> ​ | исполняемый файл | ^  <​executable_file> ​ | исполняемый файл |
-^  <​omp_key> ​ | ключ для компилирования OpenMP-программ ​(зависит от выбранного компилятора) ​|+^  <​omp_key> ​ | ключ для компилирования OpenMP-программ |
 ^  [...]  | дополнительные опции компилятора | ^  [...]  | дополнительные опции компилятора |
  
-==== Примеры компиляции ==== +===== Примеры компиляции ​===== 
-=== C++ (1 исходный файл) === + 
-  * **GCC** ​<​code>​ $ gcc src.cpp -fopenmp -o omp-gcc-c++</​code>​ +<​code>​ 
-  * **Intel** ​<code> $ icpc src.cpp -qopenmp -o omp-intel-c++</​code> +$ gcc src.-fopenmp -o openmp-gcc-c 
-  * **PGI** <​code> ​pgc++ src.cpp -mp -o omp-pgi-c++</​code>​+</​code>​ 
 + 
 +<​code>​ 
 +g++ src.cpp -fopenmp ​-o openmp-gcc-cpp 
 +</​code>​
  
-=== Fortran (2 исходных файла) === +<​code>​ 
-  * **GCC** ​<​code>​ $ gfortran src.f -fopenmp -o omp-gcc-fort</​code>​ +$ gfortran src.f -fopenmp -o openmp-gcc-fortran 
-  * **Intel** <​code>​ $ ifort src.f -qopenmp -o omp-intel-fort</​code>​ +</​code>​
-  * **PGI** <​code>​ $ pgfortran src.f -mp -o omp-pgi-fort</​code>​+
  
-=== C (4 исходных файла) === 
-  * **GCC** <​code>​ $ gcc src1.c src2.c src3.c src4.c -fopenmp -o omp-gcc-c</​code>​ 
-  * **Intel** <​code>​ $ icc src1.c src2.c src3.c src4.c -qopenmp -o omp-intel-c</​code>​ 
-  * **PGI** <​code>​ $ pgcc src1.c src2.c src3.c src4.c -mp -o omp-pgi-c</​code>​ 
общее/инструкции/компиляция_openmp_программ.1490189132.txt.bz2 · Последние изменения: 22.03.2017 18:25:32 — leoten