Skip to content
Snippets Groups Projects
Unverified Commit 24314887 authored by Marco Emilio "sphakka" Poleggi's avatar Marco Emilio "sphakka" Poleggi
Browse files

Ajoute du README.md avec info profiling

parent 67b3e4d3
Branches
No related tags found
No related merge requests found
(à completer) :construction: (à compléter)
## Profiling ## Profiling
(à completer) Afin d'évaluer les performances d'un logiciel, le "profiling" est la méthode
plus avancée, car elle fournit un profil d'utilisation des ressources
logicielles et matérielles (SW/HW).
Dans le cadre des logiciels écrit en CUDA, deux outils sont disponibles:
* [Nsight System](https://docs.nvidia.com/nsight-systems/UserGuide/index.html):
profiler classique pour l'analyse globale (système) de l'application,
* [Nsight Compute](https://docs.nvidia.com/nsight-compute/NsightComputeCli/index.html):
profiler avancé axé sur l'optimisation de l'application.
Ces deux logiciel sont donc complémentaires et peuvent être lancés soit en
ligne de commande (CLI), soit en mode graphique (GUI). On les utilise
normalement en mode interactif, en se connectant en SSH sur un nœud de calcul
avec une GPU rattachée, p. ex.:
``` shell
lcl$ ssh votre-système-hpc
hpc$ salloc --partition=shared-gpu --gpus=1 --mem=8G -t 0:15:00
gpu$ nsys ... # lancement de la CLI:
gpu$ nsys-cu ... #
```
:bulb: On peut lancer le profiling directement dans la GUI, mais il peut y
avoir de problèmes de stabilité (crash)!
### Nsight System
Aide en ligne:
``` shell
gpu$ ncu --help
gpu$ ncu profile --help
```
Profiling de l'application:
``` shell
gpu$ ncu profile YOUR_CUDA_APP [OPTIONS]
```
Exemple:
``` shell
gpu$ ncu profile vec_add_grid
...
Generating '/tmp/ncu-report-43ac.qdstrm'
[1/1] [========================100%] report1.ncu-rep
Generated:
/home/users/.../report1.ncu-rep
```
On obtient ainsi le rapport `report1.ncu-rep` que l'on peut ensuite analyser
dans la GUI:
``` shell
gpu$ ncu-ui report1.ncu-rep
```
### Nsight Compute
Aide en ligne:
``` shell
gpu$ ncu --help
```
Profiling de l'application, avec l'option `-o` pour garder le rapport dans un fichier:
``` shell
gpu$ ncu -o report1.ncu-rep YOUR_CUDA_APP [OPTIONS]
```
Exemple:
``` shell
gpu$ ncu -o report1.ncu-rep vec_add_grid
...
==PROF== Disconnected from process 2485633
==PROF== Report: .../report1.ncu-rep
```
On obtient ainsi le rapport `report1.ncu-rep` que l'on peut ensuite analyser
dans la GUI:
``` shell
gpu$ ncu-ui report1.ncu-rep
```
<!-- Local Variables: -->
<!-- jinx-languages: "fr_FR" -->
<!-- End: -->
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment