Tesla M60 GPU 基于CentOS7.3服务的搭建与代码测试

2023-11-09 23:30

本文主要是介绍Tesla M60 GPU 基于CentOS7.3服务的搭建与代码测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    GPU对于目前深度学习来说,可谓如火如荼,目前对于GPU的研究与开发,整体的发展趋势非常好,而Tesla M60是目前主流的一款GPU服务,如何要发挥其GPU计算的威力, 我们需要做一些基础环境的准备工作,苦于网上没有完整的安装及配置说明,笔者也是一路摸索,整理了一份完整的基于裸机的安装手册,仅供各位参考。

环境说明:

操作系统:CentOS7.3

GPU型号:Tesla M60

基于CentOS7.3服务的搭建,主要要做的事项可分为以下五部分:

一、基于服务器环境的准备

0、安装gcc

##默认情况下centos已经自带本功能,如果没有,输入如下命令

yum -y install gcc-c++
1、检测显卡驱动及型号
##添加ELPepo源
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

##安装NVIDIA驱动检测

通过如下命令,查看GPU对应的版本型号,以便去NVIDIA官网查看对应的驱动型号。

nvidia-detect -v


根据上图框的型号,登录NVIDIA官网http://www.nvidia.cn/Download/index.aspx?lang=cn设置驱动检索条件,选择出如下选项:




sudo yum install nvidia-detect

##解决CentOS默认的显卡驱动冲突,禁用nouveau

(1)因为NVIDIA驱动会和系统自带nouveau驱动冲突,执行命令查看该驱动状态:

lsmod | grep nouveau
如果出现如下内容,说明存在显示冲突问题,反之则不存在

(2)修改/etc/modprobe.d/blacklist.conf 文件,以阻止 nouveau 模块的加载,如果系统没有该文件需要新建一个,这里使用root权限,普通用户无法再在/etc内生成.conf文件,

echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf

(3)重新建立initramfs image文件

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)

(4)重启服务器,让禁用生效

sudo init 6

二、GPU显卡的驱动

2、进入NVIDIA目录执行安装

##关闭 X Server.
$ systemctl stop gdm.service

$ chmod +x NVIDIA-Linux-x86_64-390.25.run
$ sh NVIDIA-Linux-x86_64-390.25.run

如果安装完成,可以运行命令查看显卡状态

$ nvidia-smi

上图说明显示已经驱动成功。

##启动X Server
sudo  systemctl start gdm.service

三、基于GPU显示的开发包的安装

3、安装cuda

官网下载cuda-rpm包https://developer.nvidia.com/cuda-downloads,一定要对应自己的版本,按如下选择进行下载:


下载的文件名为:cuda_9.0.176_384.81_linux.run,1.6G左右,建议在高速网络下载。

sh cuda_9.0.176_384.81_linux.run
一路回车,安装成功。
4、测试cuda

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make  #生成了deviceQuery.o
./deviceQuery  #二进制文件的执行命令

出现如上对话框的内容,说明cuda安装成功!

4、cuda添加到.bash_profile中

PATH=$PATH:$HOME/bin:/usr/local/cuda/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/
CUDA_HOME=/usr/local/cuda
export PATH
export LD_LIBRARY_PATH
export CUDA_HOME
source .bash_profile  #使配置生效

 
查看nvcc版本号

nvcc -V

5、安装cudnn(可以理解为Cuda的)

sudo  tar zxvf cudnn-9.0-linux-x64-v7.1.tgz -C /usr/local/
显示结果如下:


致此,GPU的驱动及开发程序包已经安装完成,下面开始安装python开发环境!

四、基于GPU  python的开发环境的准备

6、安装adaconda

下载Anaconda3-5.1.0-Linux-x86_64.sh

 

sudo sh Anaconda3-5.1.0-Linux-x86_64.sh

安装完毕之后,进行环境变量设定,具体如下:


source .bash_profile  #使配置生效

7、创建python3.5并激活及安装必要的python包

conda create -n python3.5 python=3.5
source activate python3.5
#安装tensorflow  
conda install tensorflow-gpu
#安装opencv
 
conda install opencv

8、安装pycuda

说明:pycude是python使用GPU的开发包,因为目前没有现成的centos的安装包,故需要先编译之后,再安装,命令如下:

##下载pycuda源代码包

https://pypi.python.org/pypi/pycuda


##解压到当前文件夹

 

tar xzvf pycuda-VERSION.tar.gz

cd pycuda-2017.1.1/

./configure
conda install boost #使用conda安装一般会出现找不到数据源的问题 
pip install pytools
conda install pytest
 
conda install numpy

##编译并安装

make install


以下过程表示正在安排,有告警没有问题,不用管它。安装成功,如下图所示


五、GPU程序测试

##TensorFlow GPU代码测试

#Creates

import tensorflow as tfa graph.

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')

b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')

c = tf.matmul(a, b)

#Creates a session with log_device_placement set to True.

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

#Runs the op.print

sess.run(c)

运行结果出现如下图的内容,代表GPU安装成功!


##pycudaGPU代码测试

切换到pycuda解压的目录下面的examples,运行如下命令

cd  /home/app_user_5i5j/driver/pycuda-2017.1.1/examples

python demo.py 


出现如上图所示的结果,说明pycuda的gpu生效!

六、结束语

GPU的开发,笔者是刚刚开始涉足,欢迎志同道合的朋友一起多多交流,谢谢观看!

QQ:40166033

微信号:xiaofeng873621



这篇关于Tesla M60 GPU 基于CentOS7.3服务的搭建与代码测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/379073

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU