Skip to content

Latest commit

 

History

History

libkineto

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Libkineto

Libkineto is an in-process profiling library, part of the Kineto performance tools project.

The library provides a way to collect GPU traces and metrics from the host process, either via the library public API or by sending a signal, if enabled.

Currently only NVIDIA GPUs are supported.

Build Notes

Libkineto uses the standard CMAKE-based build flow.

Dependencies

Libkineto requires gcc 5+.

  • CUDA: Libkineto uses CUPTI to collect traces and metrics from NVIDIA GPUs.
  • fmt: used for its convenient and lightweight string formatting functionality.
  • googletest: required to build and run Kineto's tests. googletest is not required if you don't want to run Kineto tests. By default, building of tests is on. Turn it off by setting KINETO_BUILD_TESTS to off.

You can download CUDA, fmt, googletest and set CUDA_SOURCE_DIR, FMT_SOURCE_DIR, GOOGLETEST_SOURCE_DIR respectively for cmake to find these libraries. If the fmt and googletest variables are not set, cmake will build the git submodules found in the third_party directory. If CUDA_SOURCE_DIR is not set, libkineto will fail to build.

General build instructions are as follows:

# Check out repo and sub modules
git clone --recursive https://github.com/pytorch/kineto.git
# Build libkineto with cmake
cd kineto/libkineto
mkdir build && cd build
cmake ..
make

To run the tests after building libkineto (if tests are built), use the following command:

make test

Installing Libkineto

make install

How Libkineto works

We will provide a high-level overview, design philosophy and brief descriptions of various parts of Libkineto in upcoming blogs.

Full documentation

We strive to keep our source files readable. The best and up-do-date documentation is available in the source files.

License

Libkineto is BSD licensed, as detailed in the LICENSE file.