A safe and ergonomic #![no_std]
crate to bind the NVIDIA® Tools Extension SDK (NVTX) with zero-cost abstraction.
NVIDIA® Tools Extension SDK (NVTX) is a C-based Application Programming Interface (API) for annotating events, code ranges, and resources in your applications. Official documentation for NVIDIA®'s NVTX can be found here.
This library is a wrapper over that SDK, safely, and with zero-cost abstractions. This library facilitates integration into the rich CPU and GPU profiling tools provided by NVIDIA®, such as NSight Systems. The primary motivation for this library is to assist research GPU analysts and bring NVIDIA® tools to Rust. This crate is #![no_std]
.
The crate is published on crates.io and the easiest way to use nvtx is by adding the dependency to your Cargo.toml
file:
nvtx = "1.1.1"
There are several examples in the examples
folder which can be executed through tools such as NSight Systems. Each example has a README document with easy to read steps, screenshots, and documentation. Check out the first example, 'Hello, World!'
🙋 If you need support, please file an issue or start a discussion.
If you support the project, consider sponsoring or buying a coffee. Otherwise, any help is welcome, including pull requests. Please check the active issues if you'd like to help.
The Rust code of conduct applies.
See the changelog.
This project is dual-licensed under both Apache 2.0 and MIT licenses.