## System Requirements

### Supported Platforms

Nsight Systems supports multiple platforms. The build of Nsight Systems that this documentation refers to is compatible with the following devices:

- Intel(c) Core series x86_64 microprocessors based on Haswell microarchitecture or later
- Other x86_64 microprocessors (backtraces with Dwarf's Call Frame Information or frame pointers)
- IBM Power Architecture from Power9 (backtraces with frame pointers only)
- NVIDIA GPU architectures starting with Pascal

- OS (64 bit only)

  - Ubuntu 14.04, 16.04, and 18.04
  - CentOS and RedHat Enterprise Linux 7.4+ with kernel version 3.10.0-693 or later.
  - Windows 10

- CUDA

  - Linux targets support: 9.0, 9.1, 9.2, 10.0, 10.1, and 10.2
  - Windows and Power targets support: 10.0, 10.1, and 10.2

Note that CUDA version and driver version must be compatible.

CUDA Version | Driver minimum version
--- | ---
10.2 | 440.30
10.1 | 418.39
10.0 | 410.48
9.2 | 396.26
9.1 | 390.46
9.0 | 384.81

### x86_64 and Power Target Devices on Linux

When attaching to x86_64 Linux-based target from the GUI on the host, the connection is established through SSH.

Use of Linux Perf: To collect thread scheduling data and IP (instruction pointer) samples, the Perf paranoid level on the target system must be ≤2. Use the following command to check:

>     cat /proc/sys/kernel/perf_event_paranoid

If the output is >2, then do the following to temporarily adjust the paranoid level (note that this has to be done after each reboot):

>     sudo sh -c 'echo 2 >/proc/sys/kernel/perf_event_paranoid'

To make the change permanent, use the following command:

>     sudo sh -c 'echo kernel.perf_event_paranoid=2 > /etc/sysctl.d/local.conf'

Kernel version: To collect thread scheduling data and IP (instruction pointer) samples and backtraces, the kernel version must be

- 3.10.0-693 or later for CentOS and RedHat Enterprise Linux 7.4+

- 4.3 or greater for all other distros including Ubuntu

To check the version number of the kernel on a target device, run the following command on the device:

>     uname -a

Note that only CentOS, RedHat, and Ubuntu distros are tested/confirmed to work correctly.

glibc version: To check the glibc version on a target device, run the following command:

>     ldd --version

Nsight Systems requires glibc 2.14 or more recent.

CUDA: See above for supported CUDA versions in this release. Use the deviceQuery command to determine the CUDA driver and runtime versions on the system. The deviceQuery command is available in the CUDA SDK. It is normally installed at:

>     /usr/local/cuda/samples/1_Utilities/deviceQuery

Only pure 64-bit environments are supported. In other words, 32-bit systems or 32-bit processes running within a 64-bit environment are not supported.

Nsight Systems requires write permission to the `/var/lock` directory on the target system.

Docker: See Collecting Data Within a Docker section of Profiling Applications on Linux Devices in a Docker for more information.

### x86_64 Windows Target Devices

DX12:

- Windows 10 with NVIDIA Driver 411.63 or higher for DX12 trace
- Windows 10 April 2018 Update (version 1803, AKA Redstone 4) with NVIDIA Driver 411.63 or higher for DirectX Ray Tracing, and tracing DX12 Copy command queues.

### Host Application

The Nsight Systems host application runs on the following host platforms:

- Windows 7 and higher, Windows Server 2008 R2 and higher. Only 64-bit versions are supported.

- Linux Ubuntu 14.04 and higher are known to work, running on other modern distributions should be possible as well. Only 64-bit versions are supported.

- OS X 10.10 "Yosemite" and higher.

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