Blame src/components/cuda/README

Packit 577717
/** 
Packit 577717
* @file:   README
Packit 577717
* CVS:     $Id$
Packit 577717
* @author: Asim YarKhan yarkhan@icl.utk.edu
Packit 577717
* @author: Heike McCraw mccraw@icl.utk.edu
Packit 577717
* @defgroup papi_components Components
Packit 577717
* @brief Component Specific Readme file: CUDA
Packit 577717
*/
Packit 577717
Packit 577717
/** @page component_readme Component Readme 
Packit 577717
Packit 577717
@section Component Specific Information
Packit 577717
Packit 577717
cuda/ 
Packit 577717
Packit 577717
CUDA component update: Support for CUPTI metrics (early release)
Packit 577717
Packit 577717
Packit 577717
Known problems and limitations in early release of metric support
Packit 577717
-----------------------------------------------------------------
Packit 577717
Packit 577717
* Only sets of metrics and events that can be gathered in a single
Packit 577717
  pass are supported.  Transparent multi-pass support is expected
Packit 577717
* All metrics are returned as long long integers, which means that
Packit 577717
  CUPTI double precision values will be truncated, possibly severely.
Packit 577717
* The NVLink metrics have been disabled for this alpha release.
Packit 577717
Packit 577717
Packit 577717
General information
Packit 577717
-------------------
Packit 577717
Packit 577717
The PAPI CUDA component is a hardware performance counter
Packit 577717
measurement technology for the NVIDIA CUDA platform which provides
Packit 577717
access to the hardware counters inside the GPU. PAPI CUDA is based on
Packit 577717
CUPTI support in the NVIDIA driver library. In any environment where
Packit 577717
the CUPTI-enabled driver is installed, the PAPI CUDA component should
Packit 577717
be able to provide detailed performance counter information regarding
Packit 577717
events on the GPU kernels.  
Packit 577717
Packit 577717
NOTE: When adding CUDA related events or metrics to the CUDA
Packit 577717
component, each event can be added within a users specified CUDA
Packit 577717
context.  If the event is outside its context or in no context, a
Packit 577717
default CUDA context will be created for the event.
Packit 577717
Packit 577717
NOTE: In order to disable and destroy the CUDA eventGroup properly,
Packit 577717
the user has to call PAPI_cleanup_eventset( EventSet ) before calling
Packit 577717
PAPI_shutdown() in the application. This is important since it also
Packit 577717
frees the performance monitoring hardware on the GPU.
Packit 577717
Packit 577717
Packit 577717
How to install PAPI with the CUDA component?
Packit 577717
-------------------------------------------- 
Packit 577717
Packit 577717
This PAPI CUDA componen has been developed and tested using CUDA
Packit 577717
version 8.0 and the associated CUPTI library. CUPTI is released with
Packit 577717
the CUDA Tools SDK.
Packit 577717
Packit 577717
This component uses the CUDA location from the environment (or looks
Packit 577717
for /opt/cuda by default).  Please set CUDA_DIR and CUPTI_DIR during
Packit 577717
builds so that the component can find the required header files.
Packit 577717
Packit 577717
Configure PAPI with CUDA enabled.  
Packit 577717
    % cd src
Packit 577717
    % ./configure --prefix=some_location --with-components="cuda"
Packit 577717
Packit 577717
Build with CUDA_DIR and CUPTI_DIR specified
Packit 577717
    % export CUDA_DIR=/opt/cuda
Packit 577717
    % export CUPTI_DIR=/opt/cuda/extras/CUPTI
Packit 577717
    % make 
Packit 577717
Packit 577717
Testing the component requires that libraries for PAPI, CUDA, CUPTI
Packit 577717
can be found or are statically linked in to the executable.  You may
Packit 577717
need to add the library directories as shown here.  
Packit 577717
Packit 577717
 % export LD_LIBRARY_PATH=${CUDA_DIR}/lib64:${CUPTI_DIR}/lib64:${LD_LIBRARY_PATH}
Packit 577717
Packit 577717
Test by running from the src directory
Packit 577717
   % ./components/cuda/tests/simpleMultiGPU
Packit 577717
Packit 577717
For general information on how to create and run components, the user
Packit 577717
is referred to the INSTALL.txt section "CREATING AND RUNNING
Packit 577717
COMPONENTS".
Packit 577717
Packit 577717
To find a list of CUDA supported events.
Packit 577717
    % utils/papi_native_avail | grep CUDA
Packit 577717
Packit 577717
*/