Bureaucrats, cc_docs_admin, cc_staff, rsnt_translations
2,837
edits
No edit summary |
(Marked this version for translation) |
||
Line 2: | Line 2: | ||
{{Objectives | {{Objectives | ||
|title=<translate>Learning objectives</translate> | |title=<translate><!--T:1--> | ||
Learning objectives</translate> | |||
|content= | |content= | ||
<translate> | <translate> | ||
<!--T:2--> | |||
* Understand what a profiler is'' | * Understand what a profiler is'' | ||
* Understand how to use PGPROF profiler. | * Understand how to use PGPROF profiler. | ||
Line 24: | Line 26: | ||
For this example we will use a code from the [https://github.com/calculquebec/cq-formation-openacc repositories]. Download the package and change to the '''cpp''' or '''f90''' directory. The point of this exercise is to compile&link the code, obtain executable, and then profile them. | For this example we will use a code from the [https://github.com/calculquebec/cq-formation-openacc repositories]. Download the package and change to the '''cpp''' or '''f90''' directory. The point of this exercise is to compile&link the code, obtain executable, and then profile them. | ||
{{Callout | {{Callout | ||
|title=<translate>Which compiler ?</translate> | |title=<translate><!--T:3--> | ||
Which compiler ?</translate> | |||
|content= | |content= | ||
<translate> | <translate> | ||
<!--T:4--> | |||
As of May 2016, compiler support for OpenACC is still relatively scarce. Being pushed by [http://www.nvidia.com/content/global/global.php NVidia], through its [http://www.pgroup.com/ Portland Group] division, as well as by [http://www.cray.com/ Cray], these two lines of compilers offer the most advanced OpenACC support. [https://gcc.gnu.org/wiki/OpenACC GNU Compiler] support for OpenACC exists, but is considered experimental in version 5. It is expected to be officially supported in version 6 of the compiler. | As of May 2016, compiler support for OpenACC is still relatively scarce. Being pushed by [http://www.nvidia.com/content/global/global.php NVidia], through its [http://www.pgroup.com/ Portland Group] division, as well as by [http://www.cray.com/ Cray], these two lines of compilers offer the most advanced OpenACC support. [https://gcc.gnu.org/wiki/OpenACC GNU Compiler] support for OpenACC exists, but is considered experimental in version 5. It is expected to be officially supported in version 6 of the compiler. | ||
<!--T:5--> | |||
For the purpose of this tutorial, we use version 16.3 of the Portland Group compilers. We note that [http://www.pgroup.com/support/download_pgi2016.php?view=current Portland Group compilers] are free for academic usage. | For the purpose of this tutorial, we use version 16.3 of the Portland Group compilers. We note that [http://www.pgroup.com/support/download_pgi2016.php?view=current Portland Group compilers] are free for academic usage. | ||
</translate> | </translate> | ||
Line 47: | Line 52: | ||
After the executable is created, we are going to profile that code. | After the executable is created, we are going to profile that code. | ||
{{Callout | {{Callout | ||
|title=<translate>Which profiller ?</translate> | |title=<translate><!--T:6--> | ||
Which profiller ?</translate> | |||
|content= | |content= | ||
<translate> | <translate> | ||
<!--T:7--> | |||
For the purpose of this tutorial, we use several profilers as described below: | For the purpose of this tutorial, we use several profilers as described below: | ||
* PGPROF - a powerful and simple analyzer for parallel programs written with OpenMP or OpenACC directives, or with CUDA | * PGPROF - a powerful and simple analyzer for parallel programs written with OpenMP or OpenACC directives, or with CUDA |