|
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 |
*/
|