1、系统信息

操作系统版本:CentOS7.X

显卡版本:英伟达 Tesla P100

其他软件包安装信息:

  • CUDA 9.0
  • CUDNN 7.4.2.24
  • lightgbm 2.2.X
  • Boost 1.61
  • CMake 3.12

特别说明,如果没有在官网找到你的显卡版本对应的驱动,请尽快寻找你的显卡提供商确认驱动信息,不要轻易尝试;那就是在浪费时间,切记!

2、安装P100驱动

这里安装P100驱动的方式,通过Yum Rpm包的安装方式,其他相关的Linux系统可以通过对应的包管理或者二进制的方式安装,如果是CentOS系统,我们非常推荐使用Yum进行安装。

2.1 查看显卡信息

我们可以通过查看pci的接口,确认显卡信息,以及是否识别出显卡,当然默认没有这个工具,我们需要安装;安装方式如下:

yum install pciutils -y

可以通过过滤VGA来精确信息:

lspci|grep -i vga

2.2 安装显卡驱动

这里我们通过wget在线下载驱动,通过rpm安装载入到系统中:

wget http://cn.download.nvidia.com/tesla/410.79/nvidia-diag-driver-local-repo-rhel7-410.79-1.0-1.x86_64.rpm
rpm -ivh nvidia-diag-driver-local-repo-rhel7-410.79-1.0-1.x86_64.rpm

在往下走之前我们需要配置epel源,便于后面安装dkms

yum install epel-*

通过Yum安装,目前这是最简单的方式,如果你想挑战也可以采用二进制tarall的方式:

yum install dkms -y
yum install nvidia* -y

最后为了生效,我们需要重启操作系统:

reboot

往往重启后,你不确定是否成功,那如果去查看信息呢,我推荐通过一下三个步骤:

lspci | grep -i nv         # 查看是否加载驱动配置
lsmod | grep -i nouveau # 是否关闭了默认显卡驱动
dmesg | grep NVRM # 查看开启加载是否有异常信息

到了这里,成责成,不成你就要日志了,别照着网上文章乱搞。

3、开发工具包安装

只有驱动还是不够的,我们换需要一个些工具包便于我们使用,其中 CUDA、CUDNN就是我们要安装的包。

3.1 CUDA工具包安装

导入官方CUDA包

rpm -ivh http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.0.176-1.x86_64.rpm

通过Yum安装即可

yum install cuda-9.0.176-1

我们推荐不要安装太新的,好多组件不一定能够支持。

查看版本技巧:yum search --showduplicates cuda

3.2 CUDNN安装

PS:下载CUDNN,你可能需要一个会员,需要登录才能够下载

Download下载地址: https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.4.2/prod/9.0_20181213/cudnn-9.0-linux-x64-v7.4.2.24.tgz

上传到服务器上后,解压Copy对应的库文件即可(这里我们默认你已经回上传文件到服务之上):

tar xf cudnn-9.0-linux-x64-v7.4.2.24.solitairetheme8
cp cuda/include/cudnn.h /usr/local/cuda/include
cp -a cuda/lib/* /usr/local/cuda/lib64/

4、lightgbm安装

这个安装对于CentOS7的系统是非常坑的,必须要来编译原声的组件,编译失败的因素很多,你准备好了?

4.1 OpenGL安装

安装OpenGL,默认情况下CUDA安装时已经安装,所以无需单独安装;(特别注意,有时候会遇到软连接丢失造成找不到so库文件),解决方法就是补全软连接即可了。

PS:补全方式,类似常规方法,通过ln 命令模拟确实的so文件即可。

4.2 Boost安装

安装前,你需要安装一些依赖,来保证后面的步骤能够顺序执行(我并不能保证你按照我的方式一定会成功,但至少我成功了,如果出错你需要详细检查报错信息+你的机智来解决问题)

yum install wget gcc python python python-devel -y

安装命令如下,你可以直接Copy执行(在Root身份下)

cd /usr/local/src
wget https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.gz
tar xf boost_1_61_0.tar.gz
cd boost_1_61_0
./bootstrap.sh --prefix=/usr/local/include/boost
./b2 install

我们还需要安装tools工具,放心这个不会报错,锦上添花的功能:

cd tools/build/
./b2 install --prefix=/usr/local/include/boost

4.3 CMake安装

没有什么特别好说的,常规操作(你在Root身份下直接复制即可):

cd /usr/local/src
wget https://cmake.org/files/v3.12/cmake-3.12.0-rc1.tar.gz
tar -zxf cmake-3.12.0-rc1.tar.gz
cd cmake-3.12.0-rc1
./bootstrap
gmake -j $(nproc)
gmake install

检查是否成功与查看版本:

cmake --version

4.4 正文lightgbm

PS:开始前,我们认为已经安装了Python3的环境,当然Python2也是可以的,不过你需要做好心理准备。

命令如下:建议Root用户或等同权利的用户执行

cd /usr/local/src/
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build
cmake -DUSE_GPU=1 ..
make -j 12
cd ../python-package/
python3 setup.py install

将so动态库Copy到系统之中,自行操作,不在演示。

4.5 测试

安装基础测试数据包:

pip3 install wheel numpy scipy scikit-learn -U -i https://pypi.doubanio.com/simple

下载解析处理数据:

cd /usr/local/src
git clone https://github.com/guolinke/boosting_tree_benchmarks.git
cd boosting_tree_benchmarks/data
wget "https://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz"
gunzip HIGGS.csv.gz
python3 higgs2libsvm.py

PS: 这里你可能会遇到xrange错误,因为Python3已经没有xrange,这里修改为range即可。

创建测试数据:

cat > lightgbm_gpu.conf <<EOF
max_bin = 63
num_leaves = 255
num_iterations = 50
learning_rate = 0.1
tree_learner = serial
task = train
is_training_metric = false
min_data_in_leaf = 1
min_sum_hessian_in_leaf = 100
ndcg_eval_at = 1,3,5,10
sparse_threshold = 1.0
device = gpu
gpu_platform_id = 0
gpu_device_id = 0
EOF
echo "num_threads=$(nproc)" >> lightgbm_gpu.conf

测试命令如下:

# Run of GPU
/usr/local/src/LightGBM/lightgbm config=lightgbm_gpu.conf data=higgs.train valid=higgs.test objective=binary metric=auc
# Run of CPU
/usr/local/src/LightGBM/lightgbm config=lightgbm_gpu.conf data=higgs.train valid=higgs.test objective=binary metric=auc device=cpu

这里可以将生成的lightgbm命令与So文件Copy到系统之中方便后期使用。

5、小结

看到这里说明你已经成功了,是不是很Easy,当然如果你没搞定回头看看错误信息;我的这个博文你不一定能够成功,至少我成功过了,切记不要根据网上的帖子乱搞。

CentOS7.X安装英伟达显卡采坑之路的更多相关文章

  1. Ubuntu18.04安装英伟达显卡驱动

    前几天买了一张RTX2060显卡,想自学一下人工智能,跑一些图形计算,安装Ubuntu18.04后发现英伟达显卡驱动安装还是有点小麻烦,所以这里记录一下安装过程,以供参考: 1.卸载系统里低版本的英伟 ...

  2. Ubuntu无法安装 英伟达显卡

    安装Ubuntu无法正常驱动英伟达,这时需要在启动参数中添加nomodset 如果不会添加参数可以参考这篇文章:安装ubuntu时黑屏三种解决办法

  3. Windows Installer服务总是自动关闭导致无法安装在win10上安装英伟达显卡驱动的解决方案

    你可以依次点击"开始→程序→附件→命令提示符",键入:msiexec /unregister, 然后再键入msiexec /regserver.应该就能解决. 更多的参考:How ...

  4. deepin20 安装英伟达闭源驱动

    第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...

  5. 【并行计算-CUDA开发】从熟悉到精通 英伟达显卡选购指南

    举报 说到显卡,就不免令人想到英伟达和AMD两家面向个人消费级和企业级最大的显示芯片生产企业,英伟达和AMD,今天小编为大家简单的介绍一下英伟达的显卡选购方面的攻略,为一些想要购买显卡的用户提供一些参 ...

  6. debian 10安装英伟达独显驱动

    我的显卡是GTX1050TI,刚安装好Debian 10的时候启动会黑屏,无法进入系统,解决办法是在grub界面,按e修改启动参数,在启动参数那一行(一般会包含quiet)后面加上 nouveau.m ...

  7. 银河麒麟v4_sp4安装英伟达驱动

    bios设置视频输出为auto模式 视频线插独立显卡上 先dpkg 安装两个deb包 1.禁用开源驱动:sudo vim /etc/modprobe.d/blacklist.conf,在里面添加 bl ...

  8. CUDA学习笔记4:CUDA(英伟达显卡统一计算架构)代码运行时间测试

    CUDA内核运行时间的测量函数 cudaEvent_t start1; cudaEventCreate(&start1); cudaEvent_t stop1; cudaEventCreate ...

  9. CUDA学习笔记2:CUDA(英伟达显卡统一计算架构)与已有的VS项目结合

    一.步骤 1.先新建一个简单的控制台应用程序,项目名称为Mytest,如下图所示: 2.在项目中添加一个名为Test.cu文件,如下图所示: 3.在解决方案资源管理器中选择该项目并点击右键,在弹出的菜 ...

随机推荐

  1. mysql5.7.20压缩版安装

    1.官网下载.zip格式的MySQL Server的压缩包,选择x86或x64版,并解压. 2. 创建 data文件夹 及 my.ini文件,并编辑 [mysqld] # 设置为自己MYSQL的安装目 ...

  2. 杭电OJ2010---水仙花数(c++)(方法:输出几个数之间用空格隔开,最后一个数没有空格)

    水仙花数 Problem Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方 ...

  3. Mirai qq机器人 c++版sdk(即用c++写mirai)

    Mirai机器人c++版 前言 类似教程 本文git,gitee地址 c++开发mirai 原理 大概流程 实现 如何使用 注意事项 常见错误 前言 改分支版本以及过时,暂时不再维护 请看最新版kot ...

  4. Docusaurus2 快速建站,发布 GitHub Pages

    Docusaurus2 可快速搭建文档.博客.官网等网站,并发布到 GitHub Pages, Serverless 等. 我们只需 Markdown 写写内容就行,也可直接编写 React 组件嵌入 ...

  5. 【MySQL 高级】知识拓展

    MySQL高级 知识拓展 MySQL高级 知识拓展 数据量 和 B+树 的关系 事务隔离级别集底层原理MVCC 唯一索引和普通索引的关键不同点 MRR:multi range read 练习和总结

  6. Sentry(v20.12.1) K8S 云原生架构探索,SENTRY FOR JAVASCRIPT 故障排除

    系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...

  7. ElasticJob 快速上手

    1.  ElasticJob 是什么 ElasticJob 是一个分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成. Elasti ...

  8. 【Zabbix】配置zabbix agent向多个server发送数据

    1.背景: server端: 172.16.59.197  ,172.16.59.98 agent 端: hostname:dba-test-hzj02 IP:172.16.59.98 2.方式: 配 ...

  9. 转发:[服务器]SSL安装证书教程

    [服务器]SSL安装证书教程   来自阿里云教程 Tomcat服务器安装SSL证书 安装PFX格式证书 https://help.aliyun.com/document_detail/98576.ht ...

  10. 用CSS实现蒙德里安名画|学习麻瓜编程以项目为导向入门前端 HTML+CSS+JS

    实现项目:用CSS实现蒙德里安名画 1.首先,献上代码和效果图 1.1代码: <head> <style> .centerframe{ display: flex; heigh ...