NVTX#

2025-10-17

3 min read time

Applies to Linux

#include <raft/core/nvtx.hpp>

namespace raft::core

template<typename Domain = domain::app, typename ...Args>
inline void raft::common::nvtx::push_range(
const char *format,
Args... args
)#

Push a named NVTX range.

Template Parameters:

Domain – optional struct that defines the NVTX domain message; You can create a new domain with a custom message as follows:

struct custom_domain { static constexpr char const* name{"custom message"}; }
NB: make sure to use the same domain for push_range and pop_range.

Parameters:
  • format – range name format (accepts printf-style arguments)

  • args – the arguments for the printf-style formatting

template<typename Domain = domain::app>
inline void raft::common::nvtx::pop_range(
)#

Pop the latest range.

Template Parameters:

Domain – optional struct that defines the NVTX domain message; You can create a new domain with a custom message as follows:

struct custom_domain { static constexpr char const* name{"custom message"}; }
NB: make sure to use the same domain for push_range and pop_range.

template<typename Domain = domain::app>
class range#
#include <nvtx.hpp>

Push a named NVTX range that would be popped at the end of the object lifetime.

Refer to Usage for the usage examples.

Template Parameters:

Domain – optional struct that defines the NVTX domain message; You can create a new domain with a custom message as follows:

struct custom_domain { static constexpr char const* name{"custom message"}; }

Public Functions

template<typename ...Args>
inline explicit range(
const char *format,
Args... args
)#

Push a named NVTX range. At the end of the object lifetime, pop the range back.

Parameters:
  • format – range name format (accepts printf-style arguments)

  • args – the arguments for the printf-style formatting