cc_staff
782
edits
(Removed Guillimin) |
(Here will be the introduction to NVVP) |
||
Line 321: | Line 321: | ||
<translate> | <translate> | ||
<!--T:36--> | <!--T:36--> | ||
The results are correct. However, not only do we not get any speed up, but we rather get a slow down by a factor of almost 4! Let's profile the code again using NVidia's visual profiler (<tt>nvvp</tt>). This can be done with the following steps: | The results are correct. However, not only do we not get any speed up, but we rather get a slow down by a factor of almost 4! Let's profile the code again using NVidia's visual profiler (<tt>nvvp</tt>). | ||
=== NVIDIA Visual Profiler === | |||
[[File:Nvvp-pic0.png|thumbnail|300px|NVVP profiler|right]] | |||
[[File:Nvvp-pic1.png|thumbnail|300px|Browse for the executable you want to profile|right]] | |||
One graphical profiler available for OpenACC applications is the | |||
[https://developer.nvidia.com/nvidia-visual-profiler NVIDIA Visual Profiler (NVVP)]. | |||
It's a cross-platform analyzing tool '''for codes written with OpenACC and CUDA C/C++ instructions'''. | |||
Consequently, if the executable is not using the GPU, you will get no result from this profiler. | |||
When [[Visualization/en#Remote_windows_with_X11-forwarding|X11 is forwarded to an X-Server]], or when using a [[VNC|Linux desktop environment]] (also via [[JupyterHub#Desktop|JupyterHub]] with two (2) CPU cores, 5000M of memory and one (1) GPU), | |||
it is possible to launch the NVVP from a terminal: | |||
</translate> | |||
{{Command | |||
|module load cuda/11.7 java/1.8 | |||
}} | |||
{{Command | |||
|nvvp | |||
}} | |||
<translate> | |||
# After the NVVP startup window, you get prompted for a ''Workspace'' directory, which will be used for temporary files. Replace <code>home</code> with <code>scratch</code> in the suggested path. Then click ''OK''. | |||
# Select ''File > New Session'', or click on the corresponding button in the toolbar. | |||
# Click on the ''Browse'' button at the right of the ''File'' path editor. | |||
## Change directory if needed. | |||
## Select an executable built from codes written with OpenACC and CUDA C/C++ instructions. | |||
# Below the ''Arguments'' editor, select the profiling option ''Profile current process only''. | |||
# Click ''Next >'' to review additional profiling options. | |||
# Click ''Finish'' to start profiling the executable. | |||
This can be done with the following steps: | |||
# Start <tt>nvvp</tt> with the command <tt>nvvp &</tt> (the <tt>&</tt> sign is to start it in the background) | # Start <tt>nvvp</tt> with the command <tt>nvvp &</tt> (the <tt>&</tt> sign is to start it in the background) | ||
# Go in File -> New Session | # Go in File -> New Session |