y450 archlinux cuda6.5

January 28, 2018 4:11 PM

archlinux是最新更新版本,gcc版本到了7.几,太新了。

[qiangge@lqspc ~]$ gcc --version
gcc (GCC) 7.2.1 20180116
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

这系统对中文翻译的不太习惯哈。

总体步骤

  1. 确认安装的archlinux比较新,不想降级gcc等。
  2. 确认y450的笔记本显卡型号,g 110M。
  3. 确定可以安装的cuda版本。这个地方走过弯路,开始直接pa cuda,结果就给我装了个9.1的版本。反复测试发现安装失败。经过查询显卡型号(上一步)支持的计算能力(compute capability?希望没拼错)只是支持1.2以下,后来安装完发现是1.1.而1.2以下的最多安装cuda-6.5以前的版本。
  4. yaourt cuda找到相关版本安装(上一步),安装过程中遇到/tmp不够用,新建个目录挂载到/tmp,冲掉了内存挂载的/tmp,这样可以充分利用硬盘空间来操作。之所以不够用因为内存只有8G,这样默认/tmp就只有4G,废话了。
  5. 安装完后测试/opt/cuda/samples的devicequery例子,最好拷贝到自己的/home目录吧。
  6. 开始不能编译任何例子,有两个错误。主要参考cuda社区解决。
(1)Here is a patch to /usr/include/bits/floatn.h for avoiding __FLOAT128 only when compiling via NVCC
(2)Here is how to use other GCC compiing via NVCC
  1. 第一个错误是floatn.h错误。参考论坛解决,本质上是判断条件里面添加一个条件,就是不编译cuda代码的意思。
  2. 第二个错误是默认的gcc版本太新了,cuda65不支持,那就采用5试试看(参考下一步方法),发现这只能编译devicequery。于是经过google,知道必须4.7左右。本机yaourt编译4.7失败,当然依然要/tmp,编译个编译器真的很容易失败,浪费了好几天的电费哈。上海电费蛮贵的,尤其是租房,呜呜。那么总有解决办法吧,参考资料在archlinux的yaourt源里面。作者提到了要动态库加上软连接,
sudo ln -s /usr/lib/libisl.so /usr/lib/libisl.so.10 && sudo ldconfig

不然会失败,当然作为折腾专家,我必须先不加看看效果,果然不行

/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.4/cc1plus: error while loading shared libraries: libisl.so.10: cannot open shared object file: No such file or directory
make: *** [Makefile:196:bandwidthTest.o] 错误 1

加上还提示另外一个错误,这个是作者没考虑的吧,哈哈

/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.4/cc1plus: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory

解决办法是相同的思路,相似的代码,读者自行思考哈。

9. 解决gcc问题的方法有两个,本质是一个事情,请看参考1参考2。最后的效果

[qiangge@lqspc ~]$ ll /opt/cuda/
bin/ jre/ libnvvp/ samples/
doc/ lib/ NVIDIA_SLA_cuDNN_Support.txt share/
extras/ lib64/ nvvm/ src/
include/ libnsight/ open64/ tools/
[qiangge@lqspc ~]$ ll /opt/cuda/bin/gcc/
总用量 8.0K
drwxr-xr-x 2 root 4.0K 1月 28 22:52 .
lrwxrwxrwx 1 root 16 1月 28 22:52 gcc -> /usr/bin/gcc-4.7
lrwxrwxrwx 1 root 16 1月 28 22:52 cpp -> /usr/bin/cpp-4.7
lrwxrwxrwx 1 root 16 1月 28 22:52 g++ -> /usr/bin/g++-4.7
drwxr-xr-x 4 root 4.0K 1月 22 09:45 ..
[qiangge@lqspc ~]$
[qiangge@lqspc 1_Utilities]$ cd bandwidthTest/
[qiangge@lqspc bandwidthTest]$ nvidia-smi
Mon Jan 29 00:01:22 2018
+------------------------------------------------------+
| NVIDIA-SMI 340.106 Driver Version: 340.106 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce G 110M Off | 0000:01:00.0 N/A | N/A |
| N/A 52C P12 N/A / N/A | 50MiB / 255MiB | N/A Default |
+-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
[qiangge@lqspc bandwidthTest]$
[qiangge@lqspc bandwidthTest]$ ./bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on... Device 0: GeForce G 110M
Quick Mode Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 2551.5 Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1675.0 Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 6319.8 Result = PASS
[qiangge@lqspc bandwidthTest]$
[qiangge@lqspc 1_Utilities]$ cd deviceQuery
[qiangge@lqspc deviceQuery]$ ls
deviceQuery deviceQuery.cpp deviceQuery.o Makefile NsightEclipse.xml readme.txt
[qiangge@lqspc deviceQuery]$ ./deviceQuery
./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce G 110M"
CUDA Driver Version / Runtime Version 6.5 / 6.5
CUDA Capability Major/Minor version number: 1.1
Total amount of global memory: 256 MBytes (268107776 bytes)
( 2) Multiprocessors, ( 8) CUDA Cores/MP: 16 CUDA Cores
GPU Clock rate: 1000 MHz (1.00 GHz)
Memory Clock rate: 700 Mhz
Memory Bus Width: 64-bit
Maximum Texture Dimension Size (x,y,z) 1D=(8192), 2D=(65536, 32768), 3D=(2048, 2048, 2048)
Maximum Layered 1D Texture Size, (num) layers 1D=(8192), 512 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(8192, 8192), 512 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 8192
Warp size: 32
Maximum number of threads per multiprocessor: 768
Maximum number of threads per block: 512
Max dimension size of a thread block (x,y,z): (512, 512, 64)
Max dimension size of a grid size (x,y,z): (65535, 65535, 1)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 256 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): No
Device PCI Bus ID / PCI location ID: 1 / 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 = GeForce G 110M
Result = PASS
[qiangge@lqspc deviceQuery]$

配置虽然低,学习可能够用吧,不行就去买个新点的台式二手显卡?二手是不是抠门了呢?的确是,但是其实自己不用买,公司有1080TI显卡,可以加班学习用就行了。这里只是想自己安装一次,并且可以简单用来学习、练习和测试。同时帮朋友解决了y550上cuda65,那个显卡是g 240m的样子,最多也是1.2的计算能力。但是他用的Ubuntu。臃肿的Ubuntu还不是我的菜。之后又发现自己硬盘快满了,原来是需要pacman -Sc一下了。回头考虑配置一下自动清除不安装的包吧。

y450 archlinux cuda6.5的更多相关文章

  1. 【Linux】虚拟机安装Archlinux

    参考:https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 安装 ...

  2. archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

    准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...

  3. Install ArchLinux(draft)

    1.# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync 2. # timedatectl ...

  4. ArchLinux+Win10双系统的Grub配置

    解决:ArchLinux+Win10双系统,Grub设置 原装的Win10,装完ArchLinux后,要进入Win10一段时间只能通过boot选择. Grub的菜单里并没有.Grub安装过程是参考wi ...

  5. ArchLinux安装指南

    将ArchLinux作为进阶Linux发行版,主要看重滚动更新和深入理解Linux的安装过程. 由于是新手,所以先选择在公司电脑上用VMware来安装.然后渐进到借助U盘在win10笔记本上安装双系统 ...

  6. Snort 安装 配置 - Archlinux

    About Snort Snort是一套开放源代码(OpenSource and free)的网络入侵预防软件(NIPS)与网络入侵检测软件(NIDS).Snort使用了以侦测签名(signature ...

  7. 个人Win10 +archlinux安装笔记

    win10+archlinux 1.查看磁盘并分区并挂载1.1 分区/dev/sda1 WIN10 保留分区/dev/sda2 WIN10 ESP分区(EFI)/dev/sda3 WIN10 MSR分 ...

  8. [archlinux][hardware] ThankPad T450自带SSD做bcache之后的使用寿命分析

    这个分析的起因,是由于我之前干了这两个事: [troubleshoot][archlinux][bcache] 修改linux文件系统 / 分区方案 / 做混合硬盘 / 系统转生大!手!术!(调整底层 ...

  9. archlinux中c语言的rpc编程

    参考:http://www.cs.rutgers.edu/~pxk/rutgers/notes/rpc/ 启动rpc服务端会出现 unable to register 这个错误,据说是要启用 port ...

随机推荐

  1. 3.redis设计与实现--字典

    1.包括三个结构体:字典结构体+哈希表结构体+哈希节点结构体 2.如何解决哈希冲突? 答:redis使用的是链地址法来解决哈希冲突的,每个链表节点有一个next指针,最新加入的节点会放在链表的头部. ...

  2. NOIP 2014 提高组 Day2

    期望得分:100+60+30=190 实际得分:70+60+30=160 https://www.luogu.org/problem/lists?name=&orderitem=pid& ...

  3. bzoj 2453: 维护队列

    2453: 维护队列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1079  Solved: 503[Submit][Status][Discuss ...

  4. Css Sprite 图片等比缩放图片大小

    图片大小80*40,即每张图片大小40*40,如何以20*20显示图片?1. 首先看下如何以40*40显示第二张图片: 正常显示css代码 .sprite { background-image: ur ...

  5. asp.net core 实践

    github:https://github.com/zzhi/DotNetWeb 这是一个基于asp.net core web application的练习项目,目的是学习dotnet core新技能 ...

  6. 动态内容的缓存技术:CSI vs SSI vs ESI

    CDN 中动态内容是不太好解决的,通常需要很麻烦的技术和方法来实现这些功能,比如我设计过一种动态缓存的方法,基于 session 栏接,然后根据热点来做动态缓存时间的控制.目前开放的实现 Cache ...

  7. Hadoop 面试总结

    1.简要描述如何安装配置一个开源的hadoop,只描述即可,列出完整步骤. a.创建一个用户和用户组,用来管理hadoop项目 b.修改确定ip地址:vim /etc/sysconfig/networ ...

  8. webpack4 未设置mode会自动压缩

    最近想用LayaBox做个小游戏,然而Laya本身不自带构建工具.然后觉得写模块化的东西还是用webpack好使,用es6的语法也比较清晰. 于是就装了webpack,只用babel-loader来编 ...

  9. vue安装说明

    1.安装node.js(http://www.runoob.com/nodejs/nodejs-install-setup.html) --以下操作在nodejs安装路径下进行(记得不要在C盘)-- ...

  10. django框架<三>

    一.ORM操作  1.django orm创建数据库的方法 (1)指定连接pymysql(python3.x),先配置__init__.py import pymysql pymysql.instal ...