Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/srvm/cupti_profiler

CUPTI GPU Profiler
https://github.com/srvm/cupti_profiler

Last synced: 2 months ago
JSON representation

CUPTI GPU Profiler

Awesome Lists containing this project

README

        

# CUDA Profiling Library

This library provides an API for collecting CUDA profiling metrics and events
from within a CUDA application. Programmers specify what metrics and events
they want, and start the profiler before calling one or more CUDA kernels. The library
sets up the appropriate CUPTI callbacks, calculates the number of
kernel passes required, gathers values for the specified
metrics and events, and returns them to the programmer on a per-kernel basis.

**Example Usage:**

``` c++
vector event_names {
"active_warps",
"gst_inst_32bit",
"active_cycles"
};
vector metric_names {
"flop_count_dp",
"flop_count_sp",
"inst_executed"
};

cupti_profiler::profiler profiler(event_names, metric_names);

// Get #passes required to compute all metrics and events
const int passes = profiler.get_passes();

profiler.start();
for(int i=0; i