OpenACC Tutorial - Profiling/fr: Difference between revisions

Jump to navigation Jump to search
Updating to match new version of source page
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 19: Line 19:
Pourquoi est-ce important de connaitre les points critiques dans le code?  
Pourquoi est-ce important de connaitre les points critiques dans le code?  
D'après la loi d'Amdahl, paralléliser les routines qui exigent le plus de temps d'exécution (les points critiques) produit le plus d'impact.
D'après la loi d'Amdahl, paralléliser les routines qui exigent le plus de temps d'exécution (les points critiques) produit le plus d'impact.
== Préparer le code pour l'exercice ==
== Préparer le code pour l'exercice ==
Pour notre exemple, nous utilisons du code provenant de  [https://github.com/calculquebec/cq-formation-openacc ces dépôts]. Téléchargez les fichiers et utilisez les répertoires ''cpp'' ou ''f90''. Le but de l'exercice est de compiler et lier le code et d'obtenir un exécutable que nous profilerons.
Pour notre exemple, nous utilisons du code provenant de  [https://github.com/calculquebec/cq-formation-openacc ces dépôts]. Téléchargez les fichiers et utilisez les répertoires ''cpp'' ou ''f90''. Le but de l'exercice est de compiler et lier le code et d'obtenir un exécutable que nous profilerons.
Line 42: Line 43:


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=Choix du profileur
|title=Choix du profileur
Line 51: Line 53:
* NVPROF : version ligne de commande du NVIDIA Visual Profiler
* NVPROF : version ligne de commande du NVIDIA Visual Profiler
}}
}}


=== PGPROF Profiler  ===
=== PGPROF Profiler  ===
Line 84: Line 85:
======== Data collected at 100Hz frequency
======== Data collected at 100Hz frequency
}}
}}
== Compiler Feedback  ==
== Compiler Feedback  ==
Before working on the routine, we need to understand what the compiler is actually doing by asking ourselves the following questions:
Before working on the routine, we need to understand what the compiler is actually doing by asking ourselves the following questions:
Line 142: Line 142:
pgc++ CXXFLAGS=-fast -Minfo=all,intensity,ccff LDFLAGS=-fast main.o -o cg.x -fast
pgc++ CXXFLAGS=-fast -Minfo=all,intensity,ccff LDFLAGS=-fast main.o -o cg.x -fast
}}
}}
== Computational Intensity  ==
== Computational Intensity  ==
Computational Intensity of a loop is a measure of how much work is being done compared to memory operations.
Computational Intensity of a loop is a measure of how much work is being done compared to memory operations.
38,760

edits

Navigation menu