RRZE-HPC / likwid

Performance monitoring and benchmarking suite
https://hpc.fau.de/research/tools/likwid/
GNU General Public License v3.0
1.65k stars 226 forks source link

[DOCS] NVIDIA Architecture support #544

Closed andy295 closed 1 year ago

andy295 commented 1 year ago

I installed LIKWID 5.2.2 on a system that has the Nvidia GPU A100 with Ampere architecture. On the likwid-perfctr wiki page, I came across the following note:

Notice: Currently, LIKWID uses the CUPTI Event API which is deprecated and cannot be used on GPU chip generations more recent than Nvidia Volta. For Volta, Turing and newer, there should be the Nvidia PerfWorks API but it is not released to the public yet.

However, to the best of my knowledge, the Nvidia PerfWorks API has already been released and has been replaced by the NVIDIA Nsight Perf SDK.

I'm wondering if this note is still relevant, in other words, whether the current version of LIKWID is compatible with the Ampere generation, which is newer compared to the Volta and the Turing architectures.

I used the likwid-topology command and the GPU was correctly listed. However, I am unsure if this alone implies that LIKWID is compatible. At the same time, I'm deepening how to collect some metrics for the GPU and therefore I'm cannot test it by myself.

Can I proceed to use LIKWID with the Ampere architecture?

TomTheBear commented 1 year ago

Thanks for the question. In the meantime, LIKWID got support for CUpti Profiling and PerfWorks API. Consequently all GPUs with compute capability >= 7.0 should work. This includes the Ampere architecture.

I updated the wiki page for likwid-perfctr to reflect that.

Measurements require instrumentation of the application with the NvMarkerAPI. Afterwards, you can select GPU and events through likwid-perfctr -G <gpulist> -W <events>. Besides events there is a limited set of predefined performance groups.

Please close the issue if it is resolved and you have no further related questions.