之前都是在Centos6下进行CUDA开发,安装和配置CUDA环境请參考另外一篇博客(Linux(redhat)CUDA安装)。由于Centos7有较大变动,所以安装CUDA过程中遇到了一些麻烦。原因初步归结于OpenGL的安装。以下具体介绍安装配置过程


关闭防火墙和selinux和补充包和建立本地yum源

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# systemctl disable firewalld.service 
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
[root@localhost ~]# vi /etc/selinux/config 
[root@localhost ~]# cat /etc/selinux/config 


# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 
又一次启动继续配置
=============================================================================================
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir -p ./bak
[root@localhost yum.repos.d]# mv *.repo ./bak/
[root@localhost yum.repos.d]# vi local.repo
[root@localhost yum.repos.d]# cat local.repo
[local_server]
name=This is a local repo
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# mkdir -p /mnt/iso
[root@localhost yum.repos.d]# mount -o loop /cudainstall/CentOS\ 7\ x86_64.iso /mnt/iso/
[root@localhost yum.repos.d]# vi /etc/rc.local 
[root@localhost yum.repos.d]# chmod +x /etc/rc.d/rc.local
[root@localhost yum.repos.d]# cat /etc/rc.lcoa
cat: /etc/rc.lcoa: Aucun fichier ou dossier de ce type
[root@localhost yum.repos.d]# cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
mount -o loop /cudainstall/CentOS\ 7\ x86_64.iso /mnt/iso/
touch /var/lock/subsys/local


[root@localhost yum.repos.d]# hostnamectl set-hostname cuda02
[root@cuda02 ~]# yum install kernel-devel gcc gcc-c++ yum install libX*




检查nouveau
[root@cuda01 ~]# lsmod |grep nouveau


假设有输出 使用modprobe -r nouveau
[root@cuda01 ~]#init 3
==================================================================================================
安装cuda时一定不要安装OpenGL;切记,否则有可能安装完之后。图形化桌面启动不了,过程中会出现例如以下错误信息
[root@cuda02 cudainstall]# chmod +x cuda_7.0.28_linux.run
[root@cuda02 cudainstall]# ./cuda_7.0.28_linux.run
Do you accept the previously read EULA?

(accept/decline/quit): accept      
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 346.46? ((y)es/(n)o/(q)uit): y
Do you want to install the OpenGL libraries? ((y)es/(n)o/(q)uit) [ default is yes ]: n
Install the CUDA 7.0 Toolkit?

((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-7.0 ]: 
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y
Install the CUDA 7.0 Samples? ((y)es/(n)o/(q)uit): y
Enter CUDA Samples Location [ default is /root ]: 
Installing the NVIDIA display driver...
Installing the CUDA Toolkit in /usr/local/cuda-7.0 ...
Missing recommended library: libGLU.so


Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-7.0_Samples now...
Finished copying samples.


===========
= Summary =
===========


Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-7.0
Samples:  Installed in /root, but missing recommended libraries


Please make sure that
 -   PATH includes /usr/local/cuda-7.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-7.0/lib64, or, add /usr/local/cuda-7.0/lib64 to /etc/ld.so.conf and run ldconfig as root


To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-7.0/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall


Please see CUDA_Getting_Started_Guide_For_Linux.pdf in /usr/local/cuda-7.0/doc/pdf for detailed information on setting up CUDA.


Logfile is /tmp/cuda_install_2994.log



安装cuda驱动
[root@cuda02 cudainstall]# chmod +x cuda_7.0.28_linux.run
[root@cuda02 cudainstall]# ./cuda_7.0.28_linux.run
Do you accept the previously read EULA?

(accept/decline/quit): accept      
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 346.46? ((y)es/(n)o/(q)uit): y
Do you want to install the OpenGL libraries? ((y)es/(n)o/(q)uit) [ default is yes ]: n
Install the CUDA 7.0 Toolkit? ((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-7.0 ]: 
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y
Install the CUDA 7.0 Samples? ((y)es/(n)o/(q)uit): y
Enter CUDA Samples Location [ default is /root ]: 
Installing the NVIDIA display driver...
Installing the CUDA Toolkit in /usr/local/cuda-7.0 ...
Missing recommended library: libGLU.so


Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-7.0_Samples now...
Finished copying samples.


===========
= Summary =
===========


Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-7.0
Samples:  Installed in /root, but missing recommended libraries


Please make sure that
 -   PATH includes /usr/local/cuda-7.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-7.0/lib64, or, add /usr/local/cuda-7.0/lib64 to /etc/ld.so.conf and run ldconfig as root


To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-7.0/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall


Please see CUDA_Getting_Started_Guide_For_Linux.pdf in /usr/local/cuda-7.0/doc/pdf for detailed information on setting up CUDA.


Logfile is /tmp/cuda_install_2994.log


广播cuda的路径
[root@cuda02 cudainstall]# vi /etc/profile.d/cuda.sh
[root@cuda02 cudainstall]# cat /etc/profile.d/cuda.sh 
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.0/lib64
[root@cuda02 cudainstall]# chmod 755 /etc/profile.d/cuda.sh 
[root@cuda02 cudainstall]# source /etc/profile.d/cuda.sh
[root@cuda02 cudainstall]# 
=================================================================================================================
恢复图形界面显示
[root@cuda02 cudainstall]# init 5
=================================================================================================================
安装vnc
[root@cuda02 cudainstall]# yum -y install tigervnc-server