Visible to Intel only — GUID: GUID-FC49A482-73E1-4AF4-B518-0488B4BEF435
Visible to Intel only — GUID: GUID-FC49A482-73E1-4AF4-B518-0488B4BEF435
Error Message: Cannot Collect GPU Hardware Metrics
Possible error messages:
Cannot collect GPU hardware metrics because libmd.so cannot be loaded. Make sure you have installed Metrics Discovery API from https://github.com/intel/metrics-discovery correctly.
Cannot collect GPU hardware metrics because libmd.so was not found. Make sure you have installed Metrics Discovery Application Programming Interface from https://github.com/intel/metrics-discovery.
Cannot collect GPU hardware metrics because your version of the Metrics Discovery API is obsolete.
Cause
To collect GPU hardware metrics and GPU utilization data on Linux, the VTune Profiler uses the Intel® Metric Discovery API library distributed with the product. If it cannot access the library, the corresponding error message is provided.
Solution
Consider upgrading your Intel® VTune™ Profiler to version 2021.1 available as part of Intel oneAPI Base Toolkit or as a stand-alone component. This version of the product automatically selects the latest libstdc++ available in runtime to satisfy the GPU analysis requirements, so no additional configuration is required.
For VTune Profiler versions 2020, 2021.1.0. beta04 and older, install the Intel Metric Discovery API library from the official repository at https://github.com/intel/metrics-discovery and make sure to meet the following requirements:
To enable the VTune Profiler to successfully load the library, it should be linked to libstdc++ (version GLIBCXX_3.4.20 or older) or statically linked to libstd++. If libmd.so is dynamically linked to a newer version of libstdc++, make sure to have it loaded to the process before loading libmd.so. You can do this, for example, by re-defining the environment variable LD_PRELOAD:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 vtune -c gpu-hotspots.
If you use su or sudo command to run the VTune Profiler, you need to redefine LD_PRELOAD directly in the command, for example:
sudo LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 vtune -c gpu-hotspots
In case of remote target profiling, remove or rename the following file in the VTune Profiler package installed on the remote target:
<vtune-target-install-dir>/lib64/libstdc++.so.6