#-------------------------------------------------## Project created by QtCreator 2014-04-03T18:12:01##-------------------------------------------------QT += coreQT -= guiTARGET = CUDA_helloworldCONFIG += consoleCONFIG -= app_bundleTEMPLATE = appSOURCES += main.cpp# GLMINCLUDEPATH += /usr/local/glm# C++ flagQMAKE_CXXFLAGS_RELEASE=-O3# CUDA stuffCUDA_SOURCES += kernel2.cu\# uncomment below to also import include CUDA SDK#CUDA_SDK = /contrib/projects/cuda-sdk/C#INCLUDEPATH += $$CUDA_SDK/common/inc/#INCLUDEPATH += $$CUDA_SDK/../shared/inc/#QMAKE_LIBDIR += $$CUDA_SDK/lib#QMAKE_LIBDIR += $$CUDA_SDK/common/libCUDA_DIR = /usr/local/cuda-8.0INCLUDEPATH += $$CUDA_DIR/includeQMAKE_LIBDIR += $$CUDA_DIR/lib64#LD_LIBRARY_PATH=$${LD_LIBRARY_PATH}:$$CUDA_DIR/lib64#message($${LD_LIBRARY_PATH})#$$(PATH) = $$(PATH):$$CUDA_DIR/bin#message($$(PATH))LIBS += -lcudart -lcudaOTHER_FILES += \ CUDA_notes.txt# GPU ARCH# this gets passed as the gpu-architecture flag to nvcc compiler# specifying particular architectures enable certain features, limited to the compute capability# of the GPU. compute capabilities listed here http://en.wikipedia.org/wiki/CUDA# MSLAB GeForce 460 seems to have compute capability 2.1CUDA_ARCH = sm_21# custom NVCC flagsNVCCFLAGS = --compiler-options -fno-strict-aliasing -use_fast_math --ptxas-options=-v# Prepare the extra compiler configuration (taken from the nvidia forum - i'm not an expert in this part)CUDA_INC = $$join(INCLUDEPATH,' -I','-I',' ')# compile CUDA kernels using nvcccuda.commands = $$CUDA_DIR/bin/nvcc -m64 -g -G -arch=$$CUDA_ARCH -c $$NVCCFLAGS $$CUDA_INC $$LIBS ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT} \ 2>&1 | sed -r \"s/\\(([0-9]+)\\)/:\\1/g\" 1>&2# Prepare the extra compiler configuration (taken from the nvidia forum - i'm not an expert in this part)cuda.input = CUDA_SOURCEScuda.output = ${OBJECTS_DIR}${QMAKE_FILE_BASE}_cuda.o # suffix needed for this to work?# Tell Qt that we want add more stuff to the MakefileQMAKE_EXTRA_UNIX_COMPILERS += cudaDISTFILES +=HEADERS +=