Need Nsight QtCreator Edition!!!

I welcome respected creators of Nsight! Do you have a plans to create Nsight version for QtCreator? This is a very popular IDE, it is enjoyed by millions of people around the world! It is very fast and functional, unlike VisualStudio…
-Yours faithfully, AI developer-

Hi,

I’m sorry I am not sure about the plan or schedule, but I will take a track for your request and let you know if there are some update.

Regards,
Letitia

Letitia,Thank you very much!

Checking in on this request. I really want to code OptiX and CUDA inside Qt.

Is it working yet?

Working what? Qt? Of course - https://www.qt.io
CUDA on Qt? Yes, you should write something like this in your PRO file:

QT += quick multimedia opengl
CONFIG += c++11

DEFINES += QT_DEPRECATED_WARNINGS
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000

CONFIG(debug, debug|release) {
CUDA_OBJECTS_DIR = $$OUT_PWD/release
}
else
{
CUDA_OBJECTS_DIR = $$OUT_PWD/debug
}

CUDA_SOURCES += \
    data/cuda/vision.cu

MSVCRT_LINK_FLAG_DEBUG   = "/MDd"
MSVCRT_LINK_FLAG_RELEASE = "/MD"

# CUDA settings
CUDA_DIR = $$(CUDA_PATH)            # Path to cuda toolkit install
SYSTEM_NAME = x64                   # Depending on your system either 'Win32', 'x64', or 'Win64'
SYSTEM_TYPE = 64                    # '32' or '64', depending on your system
CUDA_ARCH = sm_61                   # Type of CUDA architecture
NVCC_OPTIONS = --use_fast_math

# include paths
INCLUDEPATH += $$CUDA_DIR/include

# library directories
QMAKE_LIBDIR += $$CUDA_DIR/lib/$$SYSTEM_NAME

CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"')
CUDA_LIB_NAMES = cudart_static kernel32 user32 gdi32 winspool comdlg32 \
                 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32

for(lib, CUDA_LIB_NAMES) {
    CUDA_LIBS += -l$$lib
}

LIBS += $$CUDA_LIBS

# Configuration of the Cuda compiler
CONFIG(debug, debug|release) {
    # Debug mode
    cuda_d.input = CUDA_SOURCES
    cuda_d.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.obj
    cuda_d.commands = $$CUDA_DIR/bin/nvcc.exe -D_DEBUG $$NVCC_OPTIONS $$CUDA_INC $$LIBS \
                      --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH \
                      --compile -cudart static -g -DWIN32 -D_MBCS \
                      -Xcompiler "/wd4819,/EHsc,/W3,/nologo,/Od,/Zi,/RTC1" \
                      -Xcompiler $$MSVCRT_LINK_FLAG_DEBUG \
                      -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
    cuda_d.dependency_type = TYPE_C
    QMAKE_EXTRA_COMPILERS += cuda_d
}
else {
    # Release mode
    cuda.input = CUDA_SOURCES
    cuda.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.obj
    cuda.commands = $$CUDA_DIR/bin/nvcc.exe $$NVCC_OPTIONS $$CUDA_INC $$LIBS \
                    --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH \
                    --compile -cudart static -DWIN32 -D_MBCS \
                    -Xcompiler "/wd4819,/EHsc,/W3,/nologo,/O2,/Zi" \
                    -Xcompiler $$MSVCRT_LINK_FLAG_RELEASE \
                    -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
    cuda.dependency_type = TYPE_C
    QMAKE_EXTRA_COMPILERS += cuda
}

CONFIG(debug, debug|release) {
    DEFINES += BIN_DIR=\\"$$PWD\\"
}
else {
    DEFINES += BIN_DIR=\\"$$OUT_PWD\\"
}

SOURCES += \
        main.cpp \
    memorymodel.cpp \
    videoprocessor.cpp \
    videoprocessorrunnable.cpp \
    openglframebufferobject.cpp \
    openglrender.cpp \
    camera.cpp

RESOURCES += qml.qrc

qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

HEADERS += \
    memorymodel.h \
    videoprocessor.h \
    videoprocessorrunnable.h \
    openglframebufferobject.h \
    openglrender.h \
    camera.h \
    gpubuffer.h

DISTFILES += \
    vision.cu \
    data/glsl/main.frag \
    data/glsl/main2.frag \
    data/glsl/main3.frag \
    data/glsl/main.vert

And you have nsight working as well, with visual debugging inside Qt?

Thanks for the tip on the .pro file. This looks like it will work for writing CUDA in Qt. How does debugging here compare to nsight CUDA debugging in visual studio?

Thanks!

Unfortunately, there is no way to debug CUDA in QtCreator directly, so I ask developers to make a special NSIGHT version for QtCreator, but they did not hear me… VisulStudio - large and slowly complete shit, QtCreator - much better, but unfortunately, the developers don’t understand this and don’t want to make a version of NSIGHT for Qt…

But in fact, not everything is so sad, because we have it “NVIDIA Nsight Graphics” (external debugger) and it’s possible to debug Qt applications, but of course he is not as powerful as NSIGHT…

For debugging in NSIGHT, install the Qt Visual Studio Add-in for Visual Studio and open in it Qt project.