Invoke profile function in Nsight

When using Nsight to develop CUDA program, you can use profile function to profile the program:


You can also toggle the C/C++ and profile view in the right corner:


BTW, if you only want to profile a part of the program (not the whole), you can usecudaProfilerStart() and cudaProfilerStop to surround the code, then untick “Start execution with profiling enabled” in “Profile Configuration“:

Import existing CUDA project into Nsight

The steps to import an existing CUDA project (who uses CMake) into Nsight are as following:

(1) Select File -> New -> CUDA C/C++ Project:


Untick “Use default location“, and select the root directory of your project.

(2) Change Build location in Properties to points to the Makefile position.


(3) After building successfully, right click project: Run As -> Local C/C++ Application, then select which binary you want to execute.

Setting Nsight to run with existing Makefile project;
How to create Eclipse project from CMake project;
How to change make location in Eclipse.


Enable C++11 support for NVCC compiler in Nsight

When using Nsight as an IDE to develop CUDA programs, sometimes, the program may require C++11 support, otherwise errors like this will occur:

/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/c++/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \
make: *** [src/ src/cuHE_opt.o] Error 1

To enable C++11 support, you need to do following configurations:
(1) Right-click the project, and select the last item: Properities.


(2) Check Settings->Tool Settings->Code Generation->Enable C++11 support (-std=c++11).