## Migrating from NVIDIA nvprof

### Using the Nsight Systems CLI nvprof Command

The 'nvprof' command of the Nsight Systems CLI is intended to help former nvprof users transition to nsys. Many nvprof switches are not supported by nsys, often because they are now part of NVIDIA Nsight Compute.

The full nvprof documentation can be found at https://docs.nvidia.com/cuda/profiler-users-guide.

The nvprof transition guide for Nsight Compute can be found at https://docs.nvidia.com/nsight-compute/NsightComputeCli/index.html#nvprof-guide.

Any nvprof switch not listed below is not supported by the `nsys nvprof` command. No additional nsys functionality is available through the this command. New features will not be added to this command in the future.

#### CLI nvprof Command Switch Options

After choosing the `nvprof` command switch, the following options are available. When you are ready to move to using Nsight Systems CLI directly, see Command Line Options documentation for the nsys switch(es) given below. Note that the nsys implementation and output may vary from nvprof.

Usage:

>     nsys nvprof [options]

Switch | Parameters (Default in Bold) | nsys switch | Switch Description
--- | --- | --- | ---
--annotate-mpi | off,openmpi,mpich | --trace=mpi AND --mpi-impl | Automatically annotate MPI calls with NVTX markers. Specify the MPI implementation installed on your machine. Only OpenMPI and MPICH implementations are supported.
--cpu-thread-tracing | on,off | --trace=osrt | Collect information about CPU thread API activity.
--profile-api-trace | none,runtime,driver,all | --trace=cuda | Turn on/off CUDA runtime and driver API tracing. For Nsight Systems there is no separate CUDA runtime and CUDA driver trace, so selecting 'runtime' or 'driver' is equivalent to selecting 'all'.
--profile-from-start | on,off | if off use --capture-range=cudaProfilerApi | Enable/disable profiling from the start of the application. If disabled, the application can use {cu,cuda}Profiler{Start,Stop} to turn on/off profiling.
-t,--timeout | <nanoseconds> default=0 | --duration=seconds | If greater than 0, stop the collection and kill the launched application after timeout seconds. nvprof started counting when the CUDA driver is initialized. nsys starts counting immediately.
--cpu-profiling | on,off | --sampling=cpu | Turn on/off CPU profiling
--openacc-profiling | on,off | --trace=openacc to turn on | Enable/disable recording information from the OpenACC profiling interface. Note: OpenACC profiling interface depends on the presence of the OpenACC runtime. For supported runtimes, see CUDA Trace section of documentation

-o,--export-profile

<filename>

--output={filename} and/or --export=sqlite

Export named file to be imported or opened in the Nsight Systems GUI. %q{ENV_VAR} in string will be replaced with the set value of the environment variable. If not set this is an error. %h in the string is replaced with the system hostname. %% in the string is replaced with %. %p in the string is not supported currently. Any other character following % is illegal. The default is report1, with the number incrementing to avoid overwriting files, in users working directory.

-f,--force-overwrite |  | --force-overwrite=true | Force overwriting all output files with same name.
-h,--help |  | --help | Print Nsight Systems CLI help
-V,--version |  | --version | Print Nsight Systems CLI version information

#### Next Steps

NVIDIA Visual Profiler (NVVP) and NVIDIA nvprof are deprecated. New GPUs and features will not be supported by those tools. We encourage you to make the move to Nsight Systems now. For additional information, suggestions, and rationale, see the blog series in Other Resources.

Copyright (c) 2012-2020, NVIDIA Corporation. All rights reserved.