undertherain / benchmarker

modular framework for [not only] deep learning performance benchmarking
http://blackbird.pw/performance
Mozilla Public License 2.0
9 stars 5 forks source link

nvprof defpreciated #168

Open vatai opened 3 years ago

vatai commented 3 years ago

nvprof seems to be deprecated.

When trying to use it on rtx 3070 benchmarker measures 0 flops (without any error). Upon further investigation, I saw that the output was nvprof giving is as follows:

Warning: Skipping profiling on device 0 since profiling is not supported on devices with compute capability 7.5 and higher.
                  Use NVIDIA Nsight Compute for GPU profiling and NVIDIA Nsight Systems for GPU tracing and CPU sampling.
                  Refer https://developer.nvidia.com/tools-overview for more details.

==7835== NVPROF is profiling process 7835, command: /usr/bin/python -m benchmarker --framework=pytorch --problem=resnet50 --problem_size=16 --batch_size=8 --nb_epoch=1 --gpus=0
Missing definition of the OpenACC API routine/s in the OpenACC library linked to the application. To work around this issue either force the inclusion of all the OpenACC symbols in the binary or link the OpenACC library dynamically.
==7835== Profiling application: /usr/bin/python -m benchmarker --framework=pytorch --problem=resnet50 --problem_size=16 --batch_size=8 --nb_epoch=1 --gpus=0
==7835== Profiling result:
No events/metrics were profiled.
======== Error: Application returned non-zero code 12

Searching for Warning: Skipping profiling on device 0 since profiling is not supported on devices with compute capability 7.5 and higher led me to this link.

IMPORTANT: Benchmarker should check for the exitcode of nvprof (or any external tool) instead of silently returning 0 measured flops.