Tegra System Profiler is a multi-core CPU sampling profiler that provides an interactive view of captured profiling data, helping improve overall application performance. The NVIDIA Tools Extension Library (NVTX) is a powerful mechanism that allows users to manually instrument their application. Tegra System Profiler can then collect the information and present it on the timeline.
Tegra System Profiler supports version 1.0 of the NVTX specification, on both Android and Linux-based target devices.
The following features are supported:
To use NVTX in your application, follow these steps:
#include "nvToolsExt.h"
in your source code. This header file is located in the Target-arm/nvtx/include
directory on the host.libnvToolsExt.a
static library (-lnvToolsExt
compiler flag).Target-arm/armv7
and Target-arm/armv8
directories on the host.Target-arm-linux/armv7
and Target-arm-linux/armv8
directories on the host.-pthread -ldl -lrt
.nvtxRangePushA("main")
in the beginning of the main()
function, and nvtxRangePop()
just before the return statement in the end.NVTX_INJECTION32_PATH=/opt/nvidia/tegra_system_profiler/libToolsInjection32.so (for ARMv7 processes) NVTX_INJECTION64_PATH=/opt/nvidia/tegra_system_profiler/libToolsInjection64.so (for Aarch64 processes) NVTX_START_IMMEDIATELY=1
NVIDIA® GameWorks™ Documentation Rev. 1.0.220830 ©2014-2022. NVIDIA Corporation and affiliates. All Rights Reserved.