User Guide

  • 2020
  • 06/18/2020
  • Public Content
Contents

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.0 beta05 available as part of Intel oneAPI Base Toolkit (Beta). 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

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804