Fedora21装cuda7.5

首先制作启动U盘。装好fedora21后别做任何update等yum和rpm操作,按照下面步骤走。

其中遇到用UEFI模式安装cuda时,系统一定要求提供公钥和私钥,而程序自身没有提供,我也不会手动生成,并且生成过程看起来也非常麻烦。所以个人强推legacy模式安装。

gcc

默认没有gcc,但是需要用到

sudo dnf install gcc

这回顺带把kernel-headers升级到很新版。别慌,可以降回来,我们的目的就是要和kernel版本保持一致,并且不要升级kernel版本:

sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

rpmfusion-free

添加这个repo,是要用到akmods

sudo rpm -ivh http://mirrors.163.com/rpmfusion/free/fedora/rpmfusion-free-release-21.noarch.rpm
sudo dnf install akmods

下载cuda的run文件

下载:http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run

有1.1个G,用迅雷吧。

妈的,nVidia只给了fedora21代的执行程序。

得到的文件,叫做cuda_7.5.18_linux.run,拷贝到~目录

禁用nouveau驱动

默认就带了nouveau这个开源驱动。要干掉它:

sudo vim /usr/lib/modprobe.d/dist-blacklist.conf

#追加:
blacklist nouveau

修改grub,默认不用nouveau:

sudo vim /etc/sysconfig/grub

#找到GRUB_CMDLINE_LINUX=这行行尾的双引号内,参数间空格分隔,添加:
rd.driver.blacklist=nouveau

重新生成grub配置文件并卸载nouveau:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo dnf remove xorg-x11-drv-nouveau

开机禁用图形界面(临时为了装cuda),重启:

sudo systemctl set-default multi-user.target
reboot

安装cuda

cuda的run文件包含了nvidia显卡驱动,因此不用自己单独安装驱动。

chmod +x cuda_7.5.18_linux.run
sudo ./cuda_7.5.18_linux.run

出现各种参数,基本上选择默认的就好了。

装好后会提示添加cuda的bin目录到PATH,提供了nvcc等可执行文件

sudo vim /etc/profile.d/cuda.sh

## 内容为
export PATH=/usr/local/cuda-7.5/bin:$PATH # :wq #保存并退出 source /etc/profile

以及添加cuda的lib目录到ld的对应的变量(名字我忘了),或者通过这样添加:

vim /etc/ld.so.conf.d/cuda.conf

#the content is:
/usr/local/cuda/lib64 #:wq

这里先前因为用UEFI模式安装,死活装不上,说cuda安装需要公钥和私钥而我没有提供。换成legacy模式安装就没有这蛋疼问题了。

恢复图形界面

sudo systemctl set-default graphical.target
reboot

验证cuda及驱动安装

重启后进入/usr/local/cuda/samples,执行编译:

sudo make all -j8

编译好了后,进入samples/bin/x86_64/linux/release进行测试:

./deviceQuery

如果出现显卡信息,则驱动及显卡安装成功

然后发现nvidia的图形化工具也出现了,这里就不说了,反正可以用了。

后续

后续可以安装caffe等框架、程序库了。或者有需要用到cuda的程序也可以跑起来了。

可能遇到的一个问题:重启后gnome界面的登陆窗口,输入密码后黑屏。这时候切换到tty2(ctrl+alt+f2)则能正常显示图形界面。这是因为fedora23默认使用wayland,但是我的台式机对于wayland的支持不够,所以只能开gnome的。默认的tty1分配给了wayland,tty2则分配给了gnome。

参考

http://developer.download.nvidia.com/compute/cuda/7.5/Prod/docs/sidebar/CUDA_Installation_Guide_Linux.pdf

http://xrong.org/2015/11/fedora-21-cuda-caffe-configuration/

Fedora21下安装cuda7.5的更多相关文章

  1. <linux报错解决>在Fedora21下安装vmware报错的解决办法

    关于VMWARE WORKSTATION在Fedora21下的安装问题 (1)在Fedora21下安装vmware如果在终端下启动,提示你找不到内核头文件Kernel Headers的话使用命令: s ...

  2. 记录一下Fedora21下安装Foundation5遇到的问题[尚有遗留问题]

    写在前面:之前安装过了gem,所以下面的步骤没有这一过程,再有就是忘记哪一步需要ruby中的一个.h文件.可以使用如下命令解决 sudo yum install ruby-devel ------ S ...

  3. 尝试在virtualbox fedora21 下安装additions和mount share folder

    安装这个additions的过程,基本上可以参照 http://gamblisfx.com/how-to-install-virtualbox-guest-additions-on-fedora-21 ...

  4. ubuntu16.04下安装配置深度学习环境(一、cuda7.5的安装)

    1.下载所需要的软件 cuda7.5下载(点击下载链接),cudnn4.0下载 2.安装NVIDIA驱动. 一般有两种方法:1)一种方法是利用"软件和更新"来安装,依次选择 系统设 ...

  5. Win10环境下安装theano并配置GPU详细教程

    一.软件和环境 (1)安装日期2016/12/23: (2)原材料VS2013,cuda-8.0(最好下载cuda7.5,目前theano-0.8.2对cuda-8支持不是很好),Anaconda3- ...

  6. Ubuntu 16.04安装cuda7.5 GCC

    http://www.linuxidc.com/Linux/2017-01/139320.htm 在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU.NVIDIA.NVID ...

  7. <关于J2EE环境的搭建>在Fedora21下的Tomcat,Mysql,jdk以及Intellij的搭建过程

    题外话:一开始很不情愿写这种没有技术含量的博文,但是网上对于fedora21下的整个J2EE环境的搭建过程的文章实在是少之又少,那我就破个例吧:-p (一)JDK的下载及环境变量的设置 如果你对JDK ...

  8. caffe学习(1):多平台下安装配置caffe

    如何在 centos 7.3 上安装 caffe 深度学习工具   有好多朋友在安装 caffe 时遇到不少问题.(看文章的朋友希望关心一下我的创业项目趣智思成) 今天测试并整理一下安装过程.我是在阿 ...

  9. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

随机推荐

  1. Redis漏洞?阿里云被攻击!

    今天运维那边过来说阿里云服务器进程被占用很多,后来查了一下进程发现了这个玩意: 小编我看不懂,经运维先森仔细研究,发现这是被注入进来的一个进程,服务器被当成了肉鸡,专门用来跑比特币的,这样对方就不需要 ...

  2. Spring 4.1+ 的 JSONP使用

    如今的巨石应用已经越来越不行了,很多互联网在后期都会在用分布式的架构 那么在页面上不同的服务调用不同域名下的json是有问题的 (跨域:不同域名,相同域名但是不同端口) JavaScript规范中提到 ...

  3. java11-5 String类的转换功能

    String的转换功能: byte[] getBytes():把字符串转换为字节数组. char[] toCharArray():把字符串转换为字符数组. static String valueOf( ...

  4. Android Handler处理机制 ( 二 ) ——Handler,Message,Looper,MessageQueue

    Android是消息驱动的,实现消息驱动有几个要素: 消息的表示:Message 消息队列:MessageQueue 消息循环,用于循环取出消息进行处理:Looper 消息处理,消息循环从消息队列中取 ...

  5. 从客户端(&)中检测到有潜在危险的 Request.Path 值。

    1. <system.web>    <httpRuntime requestValidationMode="2.0" />   </system.w ...

  6. treepanel加滚动条

  7. 序列化在Netty中的使用

    Java序列化的缺点 1.无法跨语言 对于Java序列化后的字节数组,别的语言无法进行反序列化 2.序列化后的码流过大 3.序列化性能低 使用JDK自带的序列化进行对象的传输 被传输的,实现了序列化接 ...

  8. JayProxy的设置

    1. mac http://pac.jayproxy.com/jayproxy/jayproxy.pac 2. wifi http://pac.jayproxy.com/jayproxy/m.pac ...

  9. max_allowed_packet自动恢复

    https://dev.mysql.com/doc/refman/5.5/en/packet-too-large.html http://blog.chinaunix.net/uid-20304801 ...

  10. Linux下用信号量实现对共享内存的访问保护

    转自:http://www.cppblog.com/zjl-1026-2001/archive/2010/03/03/108768.html 最近一直在研究多进程间通过共享内存来实现通信的事情,以便高 ...