CUDA

Ubuntu上配置CUDA Fortran 并行环境

2017-07-12  本文已影响127人  西山十月

经过几天血泪的摸索,和几个好心的大神的帮忙,终于搞定了这些问题,特此记录。

对于一个新装的Ubuntu系统,(1)首先安装同版本的gcc和g++

$ sudo apt-get install build-essential  $ sudoapt-get update  $ sudo install gcc  $ sudo install g++ 

(2)安装最新版CUDA (Tookit),下载,安装$sudo apt-get install cuda,其中已经有了nvprof监视器了

(3)对于Fortran还要装PGI Fortran 作为编译器,安装社区版即可,注意最后一项选4即可

(4)对于pgi的环境配置,在/etc/opt/下建立一个.sh文件,设置四个环境变量,重启

(5)cuda环境变量设置十分关键:在~/.bashrc下增加环境变量

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后 $ source ~/.bashrc

(6)添加新文件/etc/ld.so.conf.d/cuda.conf,内容为/usr/local/cuda-8.0/lib64,然后运行sudo ldconfig

(7)查看驱动信息:$cat /proc/driver/nvidia/version

(8)如果以上配置成功了,就可以完成复制官方示例到根文件夹:$ cuda-install-samples-8.0.sh  ~

(9)运行make,在NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release找到可执行文件./deviceQuery,执行之后最后看到PASS表示成功。我make编译的时候有些警告语句,暂时忽略

结果1:

$ nvprof --version

nvprof: NVIDIA (R) Cuda command line profiler

Copyright (c) 2012 - 2016 NVIDIA Corporation

Release version 8.0.61 (21)

结果2:

=18836== NVPROF is profiling process 18836, command: ./a.out

Program Passed

==18836== Profiling application: ./a.out

==18836== Profiling result:

Time(%)      Time    Calls      Avg      Min      Max  Name

51.96%  327.65us        1  327.65us  327.65us  327.65us  [CUDA memcpy DtoH]

36.34%  229.12us        2  114.56us  1.1520us  227.97us  [CUDA memcpy HtoD]

11.70%  73.792us        1  73.792us  73.792us  73.792us  simpleops_m_increment_

==18836== API calls:

Time(%)      Time    Calls      Avg      Min      Max  Name

98.96%  177.20ms        2  88.598ms  200.42us  177.00ms  cudaMalloc

0.55%  978.66us        3  326.22us  8.5970us  693.78us  cudaMemcpy

0.20%  357.62us        87  4.1100us    155ns  194.57us  cuDeviceGetAttribute

0.17%  295.55us        2  147.78us  143.28us  152.27us  cudaFree

0.09%  160.61us        1  160.61us  160.61us  160.61us  cuDeviceTotalMem

0.02%  41.017us        1  41.017us  41.017us  41.017us  cuDeviceGetName

0.01%  20.323us        1  20.323us  20.323us  20.323us  cudaLaunch

0.00%  4.4230us        3  1.4740us    212ns  3.8400us  cudaSetupArgument

0.00%  1.8870us        3    629ns    184ns  1.4580us  cuDeviceGetCount

0.00%  1.7910us        1  1.7910us  1.7910us  1.7910us  cudaConfigureCall

0.00%    883ns        3    294ns    190ns    406ns  cuDeviceGet

**重要参考文献

http://notes.maxwi.com/2017/02/26/ubuntu-cuda8-env-set/

上一篇下一篇

猜你喜欢

热点阅读