Note: Linux安装CUDA Toolkit & HOOMD BLUE
来源:互联网 发布:手机游戏优化器在哪 编辑:程序博客网 时间:2024/06/07 06:32
实验室去年就上了块nVIDIA K20,荒废了一年都没人用。今年寒假又进了块GTX 980,老板让把hoomd blue配置好,做GPU计算。
HOOMD BLUE是一个通用的分子模拟程序包,使用python格式的脚本,支持并行计算和GPU计算配置过程走了太多弯路,于是笔记如下。
以装K20的那台服务器(Linux发行版Cent OS 6.5)为例,下载HOOMD BLUE的包:官网上下载hoomd-1.0.1-0.x86_64.rpm,使用
yum localinstall hoomd-1.0.1-0.x86_64.rpm
安装,自动解决依赖问题。运行python,输入“import hoomd”,报错“ImportError: libmpi_cxx.so.1: cannot open shared object file: No such file or directory”找不到MPI库,需要配置环境变量:
find
/usr
-name libmpi_cxx.so.1
找到库的路径,添加到环境变量 $LD_LIBRARY_PATH 中。为了方便暴力在/etc/profile中加入一句:
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:
/usr/lib64/compat-openmpi/lib
现在运行官网给的示例脚本,hoomd test.hoomd,部分输出截取如下:Shell运行source /etc/profile使立即生效。
*Warning*: NVIDIA driver not installed or is too old, ignoring any GPUs in the system.
HOOMD-blue is running on the CPU
因为nVIDIA的驱动还没有装上。
先记得运行update-pciids更新设备信息,再用lspci | grep -i NVIDIA,出现“43:00.0 3D controller: NVIDIA Corporation GK110GL [Tesla K20c] (rev a1)”。到NVIDIA官网把驱动下载下来(在此),刚开始找还找不到,一看地址栏是geforce,还得到英文官网首页下找“All NVIDIA Drivers”
安装前关X,init 3进入字符界面,运行下载下来的.run,一路确定安装完成,再init 5进入图形界面,此时系统设置菜单中已多出一行NVIDIA X Server Settings,但是打开后报错说“You do not appear to be using the NVIDIA X Driver. Please edit your X configuration file”,就是说X不是用独显带的,可能是一些地方所说的nouveau搞的鬼,使用lsmod | grep nouveau确实能看到一堆服务,不过我们只拿GPU做计算,忽略之。
接下来安装cuda toolkit就蛋疼多了。按照官方给的文档(NVIDIA CUDA GETTING STARTED GUIDE FOR LINUX)的步骤一步一步来。先下载RPM包,目测这个rpm的作用就是添加nVIDIA的源;然后yum install cuda时果然报依赖性错——因为没有添加EPEL源。
网上给的方法:
1. 安装
rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
以上URL请按实际情况修改
2.查看是否安装成功
rpm -q epel-release3.导入key:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
4.修改/etc/yum.repos.d/epel.repo文件
在[epel]最后添加一条属性 priority=11
vi /etc/yum.repos.d/epel.repo
意思是yum先去官方源查,官方没有再去epel的源找
5.重建缓存
但是执行yum makecache时报错,"Cannot retrieve metalink for repository",搜索得解决方法为sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo
即把源的https网址换成http,目测是天杀的墙搞的鬼。
现在就可以使用yum install cuda了,然后便是漫长的下载。
完成后照例暴力添加环境变量:
export PATH=/usr/local/cuda-6.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
复制示例:
cuda-install-samples-6.5.sh
测试编译示例中的1_Utilities/deviceQuery,make编译通过,运行时却报错“No device in the query”--显卡又不见了。
折腾半天,重新安装显卡驱动解决。。。
再次此运行显示设备信息:
./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "Tesla K20c" CUDA Driver Version / Runtime Version 6.5 / 6.5 CUDA Capability Major/Minor version number: 3.5 Total amount of global memory: 4800 MBytes (5032706048 bytes) (13) Multiprocessors, (192) CUDA Cores/MP: 2496 CUDA Cores GPU Clock rate: 706 MHz (0.71 GHz) Memory Clock rate: 2600 Mhz Memory Bus Width: 320-bit L2 Cache Size: 1310720 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 2 copy engine(s) Run time limit on kernels: No Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Enabled Device supports Unified Addressing (UVA): Yes Device PCI Bus ID / PCI location ID: 67 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K20cResult = PASS现在再测试HOOMD BLUE,终于显示为GPU模式了:qHOOMD-blue is running on the following GPU(s): [0] Tesla K20c 13 SM_3.5 @ 0.706 GHz, 4799 MiB DRAM
先鼓捣的是GTX980的机器,中途还把系统弄坏了。cuda toolkit安装以后,图形界面进不去了;测试deviceQuery报错“nvidia-340uvm : no such file”,卸掉cuda之后重启干脆连系统都进不了了,屏幕直接卡在一堆形如------可是实测发现直接运行官网的示例脚本,GPU模式比CPU模式反而慢6倍,看来要发挥出GPU的性能还得好好看文档。
<内存地址信息> 不明所以的文字
这样的信息上。
PC上只有ubuntu的系统,于是给重装个ubuntu 14.04 LTS算了。
继续鼓捣,ubuntu的apt-get果然强大,不需要添加第三方源依赖问题就可解决,但安装完cuda toolkit之后图形界面又进不去了【死,
再次安装显卡驱动,一些恢复正常。。。
结论:Cuda Toolkit的安装默认会刷新显卡驱动,但这时装上的显卡驱动是废的,得重装新版本的驱动。GTX980在官网显示最老的可用驱动版本是343,而Cuda tolkit给装的是340版本,可能不可用,若此时再把旧驱动卸掉,整个显卡驱动就没了,重启就会导致系统死掉。
- Note: Linux安装CUDA Toolkit & HOOMD BLUE
- HOOMD Blue 文档笔记
- Ubuntu 16.04 安装 NVIDIA CUDA Toolkit 7.5
- jetson tk1安装cuda toolkit的错误
- CUDA Toolkit
- CUDA学习笔记:CUDA Toolkit安装与项目设置
- linux 安装 percona-toolkit
- 64位机器上安装cuda toolkit的问题
- Jetson-TK1初始化操作以及安装cuda toolkit
- ubuntu 14.04 安装和卸载 cuda toolkit 7
- ubuntu 16.04 安装 cuda 8 toolkit 及 cudnn 5.0
- CentOS 7 安装 NVIDIA 显卡驱动和 CUDA Toolkit
- Installing CUDA Toolkit 5.0 on Fedora 16 Linux
- Installing CUDA Toolkit 5.0 on Ubuntu 12.10 Linux
- Installing CUDA Toolkit 7.5 on Ubuntu 14.04 Linux
- Installing CUDA Toolkit 7.5 on Ubuntu 14.04 Linux
- linux安装cuda
- linux(CentOS7)安装cuda
- 对二分查找的改进
- Spark Streaming源码分析
- UIPickerView 控件的简单使用
- POJ 3013 Big Christmas Tree (SPFA最短路)
- hibernate 延迟加载(转)
- Note: Linux安装CUDA Toolkit & HOOMD BLUE
- Windows远程桌面连接ubuntu 14.04图解设置教程
- java高分局之永久代何去何从?
- 终极设计:所有业务系统中都只有两个集合
- Android APP如何打开设置中的Activity
- 给一个TextView控件中的文字显示不同的颜色
- iOS 清理缓存
- 循环队列
- Unity3d中调用webservice方法