... | @@ -4,18 +4,32 @@ What is GPU profiling? |
... | @@ -4,18 +4,32 @@ What is GPU profiling? |
|
|
|
|
|
## Getting ```nvvc```
|
|
## Getting ```nvvc```
|
|
|
|
|
|
Getting nvvc, installing, and finding it
|
|
The GUI profiling tool can be downloaded [here](https://developer.nvidia.com/cuda-downloads).
|
|
|
|
|
|
## Compiling
|
|
## Compiling
|
|
|
|
|
|
Using the stuff
|
|
You can profile tests using the ```craype-accel-nvidia35``` module on Piz Daint. Then, use ```nvprof ./binary``` and this will run your profile.
|
|
|
|
|
|
|
|
#### ```test_27_cells```
|
|
|
|
|
|
|
|
To get this to work with ```test_27_cells``` you will need to remove the memory clear at the end of the test as there are some as-yet undiagnosed problems with this...
|
|
|
|
|
|
## ```nvprof```
|
|
## ```nvprof```
|
|
|
|
|
|
Using nvprof on the cluster (options!)
|
|
You want to use
|
|
|
|
```
|
|
|
|
nvprof --export-profile timeline.prof <Binary + Options Call>
|
|
|
|
nvprof --metrics achieved_occupancy,executed_ipc -o metrics.prof <Binary + Options Call>
|
|
|
|
nvprof --source-level-analysis pc_sampling -o pcsampling.prof <Binary + Options Call>
|
|
|
|
nvprof --analysis-metrics -o analysis_metrics.prof <Binary + Options Call>
|
|
|
|
```
|
|
|
|
|
|
## Using ```nvvc```
|
|
## Using ```nvvc```
|
|
|
|
|
|
|
|
You will need to download these from the cluster and store them somewhere on your own machine. These can then be analysed using the GUI tool from NVIDIA, ```nvvc```.
|
|
|
|
|
|
|
|
More information on running the profiler can be found in [these manual pages](http://docs.nvidia.com/cuda/profiler-users-guide/index.html#collecting-remote-data) but to get you started you want to use File -> Import, choose nvprof, and select your two files. Then import them and get to work!
|
|
|
|
|
|
<VIDEO>
|
|
<VIDEO>
|
|
|
|
|
|
### GPU Profiling on CRAY
|
|
### GPU Profiling on CRAY
|
... | @@ -28,4 +42,3 @@ To do that, run your code with the following: |
... | @@ -28,4 +42,3 @@ To do that, run your code with the following: |
|
```
|
|
```
|
|
nvprof --metrics achieved_occupancy,executed_ipc -o metrics.prof --export-profile timeline.prof
|
|
nvprof --metrics achieved_occupancy,executed_ipc -o metrics.prof --export-profile timeline.prof
|
|
``` |
|
``` |
|
and this will generate two files, ```metrics.prof``` and ```timeline.prof```. Copy these to your local machine and launch ```nvvp``` (which can be downloaded [here](https://developer.nvidia.com/cuda-downloads), around 1.4GB). More information on running the profiler can be found in [these manual pages](http://docs.nvidia.com/cuda/profiler-users-guide/index.html#collecting-remote-data) but to get you started you want to use File -> Import, choose nvprof, and select your two files. Then import them and get to work! |
|
|
|
\ No newline at end of file |
|
|