# Training

Nsight Compute training content.

NVIDIA Nsight Compute Training resources.

## External Resources

Forum

- DevTalk Nsight Compute Forum

Blogs

- Check the current list of blog posts

Videos

- Check the current list of training videos

Code Examples

- Have a look at our coding examples on GitHub

## Usage Examples

### Filter Options

Note that examples will use the term workload to refer to either kernels, graphs, ranges or cmdlists unless stated otherwise.

1. Profile first two workloads

   `--launch-count 2`

2. Profile first two workloads launched on device with device ID 1

   `--device 1 --launch-count 2`

3. Profile 2nd workload on each gpu

   `--launch-skip 1 --launch-count 1 --filter-mode per-gpu`

4. Skip first 2 workloads of each launch configuration before profiling

   `--launch-skip 2 --filter-mode per-launch-config`

5. Profile “Bar” kernel

   `--kernel-name Bar`

6. Profile kernels which have “Bar” in function name

   `--kernel-name regex:Bar`

7. Profile only 2nd invocation of kernel “Foo”

   `--kernel-id ::Foo:2`

8. Profile only 2nd invocation of all kernels which have “Bar” in name

   `--kernel-id ::regex:Bar:2`

9. Skip first 2 workloads before matching “Foo” or “Bar” in kernel names

   `--launch-skip-before-match 2 --kernel-name regex:“Foo|Bar”`

10. Profile all 7th kernel invocations with mangled name “_FooBar” on CUDA context ID 1 and stream ID 2

    `--kernel-id 1:2:_Foobar:7 --kernel-name-base mangled`

11. Profile all workloads launched in first 3 cu(da)ProfilerStart/Stop APIs created ranges

    `--range-filter :[1-3]:`

12. Profile all workloads launched in 2nd NVTX Push/Pop range A

    `--range-filters ::2 --nvtx --nvtx-include A/`

13. Profile all workloads launched in NVTX Push/Pop range A except the ones in NVTX Push/Pop range B

    `--nvtx --nvtx-include A/ --nvtx-exclude B/`

14. Profile all “Foo” kernels except those launched in NVTX Push/Pop range B

    `--nvtx --nvtx-exclude B/ --kernel-name Foo`

15. Profile all workloads launched in 2nd NVTX Start/End range A inside 2nd cu(da)ProfilerStart/Stop APIs created range

    `--range-filter yes:2:2 --nvtx --nvtx-include A`

16. Profile all workloads launched in 1st NVTX Push/Pop range A inside both 1st and 2nd cu(da)ProfilerStart/Stop APIs created range

    `--range-filter yes:[1-2]:1 --nvtx --nvtx-include A/`

17. Profile all workloads launched in 1st cu(da)ProfilerStart/Stop APIs created range with 2nd NVTX push/pop range A and domain D

    `--range-filter no:1:2 --nvtx --nvtx-include D@A/`

Notices

Notices

ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication of otherwise under any patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all other information previously supplied. NVIDIA Corporation products are not authorized as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

Trademarks

NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the U.S. and other countries. Other company and product names may be trademarks of the respective companies with which they are associated.