Blame src/components/nvml/README

Packit 577717
The PAPI NVML component provides an interface to the nVidia Management Library (nvml, libnvidia-ml).
Packit 577717
Packit 577717
In versions 8 and later part of the CUDA Toolkit, The NVIDIA
Packit 577717
Management Library is no longer a separate download is installed with
Packit 577717
CUDA.  On Linux/x86 platforms, it is often found in
Packit 577717
/usr/lib64/nvidia/libnvidia-ml.so
Packit 577717
Packit 577717
Other download packages may be available at 
Packit 577717
https://developer.nvidia.com/gpu-deployment-kit
Packit 577717
Packit 577717
Before running the NVML component, the configure script for the NVML component 
Packit 577717
must be executed in order to generate the Makefile which contains the 
Packit 577717
configuration settings. This script needs to be executed only once. 
Packit 577717
Packit 577717
    % cd < papi_dir >/src/components/nvml
Packit 577717
    % ./configure --with-nvml-libdir=<NVMLDIR>> --with-nvml-incdir=<NVMLDIR> --with-cuda-dir=<CUDADIR>
Packit 577717
Packit 577717
For example, one configuration may look like this
Packit 577717
    %./configure --with-nvml-libdir=/usr/lib64/nvidia --with-nvml-incdir=/usr/local/cuda/include --with-cuda-dir=/usr/local/cuda
Packit 577717
Packit 577717
The NVML component is added to PAPI during the configuration of PAPI
Packit 577717
by adding the '--with-components=nvml' command line option to
Packit 577717
configure.    
Packit 577717
Packit 577717
   % ./configure --with-components="nvml"
Packit 577717
Packit 577717
At build-time the nVidia compiler, nvcc, needs to be in your path, as does the cuda run-time library (libcudart.so).
Packit 577717
Packit 577717
Please refer to http://developer.download.nvidia.com/assets/cuda/files/CUDADownloads/NVML/nvml.pdf 
Packit 577717
for details about NVML library.
Packit 577717
Packit 577717
Packit 577717
Packit 577717
Note: Power Limiting using NVML (aka power capping) requires root.
Packit 577717
Packit 577717
PAPI has added support for power limiting using NVML (on supported
Packit 577717
devices from the Kepler family or later).  The executable needs to
Packit 577717
have root permissions to change the power limits on the device.
Packit 577717
Packit 577717
The power_management_limit can be written to set a limit (in
Packit 577717
milliWatts) to the power consumption by DEVICE.  The value that can
Packit 577717
be written needs to be between the
Packit 577717
power_management_limit_constraint_min and
Packit 577717
power_management_limit_constraint_max.
Packit 577717
Packit 577717
nvml:::DEVICE:power_management_limit
Packit 577717
nvml:::DEVICE:power_management_limit_constraint_min
Packit 577717
nvml:::DEVICE:power_management_limit_constraint_max
Packit 577717
Packit 577717
A test for writing of the power_management_limit can be found in the
Packit 577717
nvml/tests.