-- Welcome to NVPerfKit for Linux, Beta Release, April 2008 --

NVPerfKit gives every graphics application developer access to low-level performance counters 
inside the driver and hardware counters inside the GPU itself. Now, for the first time ever, this 
confidential information is available to third party developers.

-- Installation and Use --

NVPerfKit installation is straightforward. Begin by installing the instrumented driver located in 
the Driver directory (included with this README). Note that for NVPerfKit to function correctly, 
this *specific* driver must be installed. Access to the low-level driver and GPU counters is not 
available with a non-instrumented driver. Once the driver is installed, please read the included 
documentation located in the Docs directory. They provide a detailed description of NVPerfKit 
functionality and configuration. 


A couple of important things to remember:

1. Be aware that in order to properly use NVPerfSDK/NVperfAPI applications on Linux, a user 
with root privileges must modify your X configuration script to include the following option:

    Option "PerformanceMonitorMode" "1"

in either the Device or Screen section. This is an opt-in security mechanism necessary because 
NVPerfKit requires special, privileged access to the GPU and OS to properly gather GPU counter 
data. Only a user with root privileges can modify this configuration.

2. Only native applications can be profiled using the GPU hardware counters. That is, on a 32bit 
OS, only a 32bit application will have access to the hardware counters. In kind, on a 64bit OS, 
only a native 64bit application will have access to the hardware counters. 



Now, if you'd like to dive right in and see NVPerfKit in action, try one of the samples; we 
recommend OGLPerfHarness (run from the NVPerfSDK/Samples/bin/release_linux_x86[_64] directory).
Have a look at the included source for a deeper view.

Also, please explore the the sample source code we've provided with this package, for a tangible 
demonstration of using NVPerfSDK. 

If you have any questions or comments, please feel free to contact us:
    NVPerfKit@nvidia.com


Thanks and enjoy!
The NVPerfKit Team


Notice
ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER 
DOCUMENTS (TOGETHER AND SEPARATELY, "MATERIALS") ARE BEING PROVIDED "AS IS." NVIDIA MAKES NO 
WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND 
EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A 
PARTICULAR PURPOSE.
Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes 
no responsibility for the consequences of use of such information or for any infringement of 
patents or other rights of third parties that may result from its use. No license is granted by 
implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications 
mentioned in this publication are subject to change without notice. This publication supersedes 
and replaces all information previously supplied. NVIDIA Corporation products are not authorized 
for use as critical components in life support devices or systems without express written approval 
of NVIDIA Corporation.

Trademarks
NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the 
United States and other countries. Other company and product names may be trademarks of the 
respective companies with which they are associated. 

Copyright
 2006 NVIDIA Corporation.  All rights reserved
