Ubuntu14.04 x64 qt集成cuda开发

Ubuntu14.04 x64 qt集成cuda开发

代码及文档 在"https://github.com/coues/cuda"能找到

系统环境

1ubuntu 14.04.4 LTS 64

2:显卡GTX 720

3cuda_7.5.18_linux.run

环境确认

root@coues-Lenovo-H3050:/home/coues# cat /etc/issue
Ubuntu 14.04.4 LTS \n \l

root@coues-Lenovo-H3050:/home/coues# uname -m
x86_64

root@coues-Lenovo-H3050:/home/coues# lspci |grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 720] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

安装依赖

4:安装依赖包

root@coues-Lenovo-H3050:/home/coues#sudo apt-get install -y freeglut3-dev  build-essential libx11-dev  libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa-dev

5:卸载ubuntu原生带有的驱动  ##在我的系统环境没有安装原生驱动

sudo nvidia-uninstall

6:清除nvidia库

sudo apt-get --purge remove nvidia-*

7:屏蔽原生库

cd /etc/modprobe.d/

ls blacklist.conf

vi nvidia-install-disable-nouveau.conf

##没有安装原生驱动5-7步均不操作

关闭x服务

8:关闭x服务

root@coues-Lenovo-H3050:/home/coues#service lightdm stop

root@coues-Lenovo-H3050:/home/coues#service gdm stop  ##如果启用gdm也需要关闭

9:安装包下载位置

url:https://developer.nvidia.com/cuda-downloads

 


10: 安装

root@coues-Lenovo-H3050:/home/coues# chmod 777 cuda_7.5.18_linux.run

11:添加配置到系统环境

root@coues-Lenovo-H3050:/home/coues#vi ~/.bashrc

export CUDA=/usr/local/cuda-7.5

export PATH=$CUDA/bin:$PATH

export LD_LIBRARY_PATH=/usr/lib:$CYDA/lib64:$CUDA/lib:/lib:$LD_LIBRARY_PATH

12:使配置环境生效

root@coues-Lenovo-H3050:/home/coues#source ~/.bashrc

13:确认nvcc配置正确

root@coues-Lenovo-H3050:/home/coues# nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2015 NVIDIA Corporation

Built on Tue_Aug_11_14:27:32_CDT_2015

Cuda compilation tools, release 7.5, V7.5.17

 

验证环境

14:跑个Samples玩玩

 root@coues-Lenovo-H3050:/home/coues/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd# make
"/usr/local/cuda-7.5"/bin/nvcc -ccbin g++ -I../../common/inc  -m64    -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_52,code=compute_52 -o vectorAdd.o -c vectorAdd.cu
"/usr/local/cuda-7.5"/bin/nvcc -ccbin g++   -m64      -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_52,code=compute_52 -o vectorAdd vectorAdd.o
mkdir -p ../../bin/x86_64/linux/release
cp vectorAdd ../../bin/x86_64/linux/release
root@coues-Lenovo-H3050:/home/coues/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd# ./vectorAdd
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

配置IDE

15:配置QT creator   开发环境

配置链接库,有两种方法

a:在/etc/ld.so.conf里面配置,加入"include /usr/loca/cuda-7.5/lib64",执行"ldconfig"

b:直接拷贝


16:新建一个工程,删除CPP文件,添加个编译器

 

17,修改pro文件

 

 

#-------------------------------------------------

#

# Project created by QtCreator 2016-04-11T11:27:57

#

#-------------------------------------------------

 

QT       += core

 

QT       -= gui

 

TARGET = testcuda

CONFIG   += console

CONFIG   -= app_bundle

 

TEMPLATE = app

 

 

# This makes the .cu files appear in your project

OTHER_FILES +=  ./vectorAdd.cu

 

# CUDA settings <-- may change depending on your system

CUDA_SOURCES += ./vectorAdd.cu

CUDA_SDK = "/usr/local/cuda-7.5"   # Path to cuda SDK install

CUDA_DIR = "/usr/local/cuda-7.5"            # Path to cuda toolkit install

 

# DO NOT EDIT BEYOND THIS UNLESS YOU KNOW WHAT YOU ARE DOING....

 

SYSTEM_NAME = unix         # Depending on your system either 'Win32', 'x64', or 'Win64'

SYSTEM_TYPE = 64            # '32' or '64', depending on your system

CUDA_ARCH = sm_21           # Type of CUDA architecture, for example 'compute_10', 'compute_11', 'sm_10'

NVCC_OPTIONS = --use_fast_math

# include paths

INCLUDEPATH += $$CUDA_DIR/include

# library directories

QMAKE_LIBDIR += $$CUDA_DIR/lib/

CUDA_OBJECTS_DIR = ./

# Add the necessary libraries

#CUDA_LIBS = -lcuda -lcudart  ##这行正确配置库以后可以不使用

# The following makes sure all path names (which often include spaces) are put between quotation marks

CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"')

#LIBS += $$join(CUDA_LIBS,'.so ', '', '.so')

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.o

    cuda_d.commands = $$CUDA_DIR/bin/nvcc -D_DEBUG $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -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.o

    cuda.commands = $$CUDA_DIR/bin/nvcc $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}

    cuda.dependency_type = TYPE_C

    QMAKE_EXTRA_COMPILERS += cuda

}

 

18:运行结果

 


 

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值