云服務(wù)器ECS:GPU計(jì)算型實(shí)例下
導(dǎo)讀:云服務(wù)器ECS實(shí)例之GPU計(jì)算型實(shí)例下 咨詢熱線 4006-333-292
本文介紹如何在操作系統(tǒng)為Linux的GPU計(jì)算型實(shí)例中安裝GRID驅(qū)動,并搭建桌面顯示環(huán)境。以搭建TensorFlow深度學(xué)習(xí)框架為例詳細(xì)介紹如何在gn5實(shí)例上搭建NGC環(huán)境。
背景信息
如果您的GPU計(jì)算型實(shí)例(gn5、gn5i、gn6v、vgn5i或gn6i實(shí)例)需要OpenGL圖形支持,必須在實(shí)例上安裝GRID驅(qū)動。GPU計(jì)算型實(shí)例自帶的Nvidia GPU計(jì)算卡,如P100、P4、V100等,因?yàn)镹VIDIA GRID License而限制了GPU圖形功能,您可以使用NVIDIA官方發(fā)布的試用版GRID驅(qū)動滿足使用OpenGL圖形功能的需求。
前提條件
· 您需要創(chuàng)建一臺GPU計(jì)算型實(shí)例,確保實(shí)例能訪問公網(wǎng)。具體操作,請參考創(chuàng)建GPU計(jì)算型實(shí)例。
說明 建議您選擇 公共鏡像 中的鏡像。如果您選擇了 鏡像市場 中預(yù)裝NVIDIA驅(qū)動的鏡像,創(chuàng)建實(shí)例后您必須按照此方法禁用Nouveau驅(qū)動:在 /etc/modprobe.d 目錄下創(chuàng)建一個 nouveau.conf 文件,添加 blacklist nouveau。
·
· 在本地機(jī)器上已經(jīng)安裝了VNC連接軟件,比如本示例中使用的VNC Viewer。
在Ubuntu 16.04 64-bit中安裝GRID驅(qū)動
按以下方式安裝GRID驅(qū)動。
1. 遠(yuǎn)程連接Linux實(shí)例。
2. 依次運(yùn)行以下命令升級系統(tǒng)并安裝KDE桌面。
試用
3.
apt-get update
apt-get upgrade
apt-get install kubuntu-desktop
4.
5. 運(yùn)行reboot 重啟系統(tǒng)。
6. 再次遠(yuǎn)程連接Linux實(shí)例,并運(yùn)行以下命令下載NVIDIA GRID驅(qū)動包。
NVIDIA GRID驅(qū)動包中有多個系統(tǒng)的GRID驅(qū)動。Linux GRID驅(qū)動是NVIDIA-Linux-x86_64-390.57-grid.run。
7.
試用
8.
wget http://nvdia-driver-410.oss-cn-shenzhen.aliyuncs.com/NVIDIA-Linux-x86_64-410.39-grid.run
9.
10. 依次運(yùn)行以下命令,并按界面提示安裝NVIDIA GRID驅(qū)動。
試用
11.
chmod 777 NVIDIA-Linux-x86_64-410.39-grid.run
./NVIDIA-Linux-x86_64-410.39-grid.run
12.
13. 運(yùn)行命令nvidia-smi 測試驅(qū)動安裝結(jié)果。
如果返回以下類似結(jié)果,說明驅(qū)動已經(jīng)成功安裝。
14.
15. 按以下步驟添加License服務(wù)器并激活License。
i. 切換到/etc/nvidia目錄:cd /etc/nvidia。
ii. 創(chuàng)建gridd.conf文件:cp gridd.conf.template gridd.conf。
iii. 在gridd.conf文件中添加License服務(wù)器的信息。
說明 您需要向NVIDIA購買License后自行搭建License服務(wù)器。
iv.
試用
v.
ServerAddress=License服務(wù)器的IP
ServerPort=License服務(wù)器的端口(默認(rèn)為7070)
FeatureType=2
EnableUI=TRUE
vi.
16. 運(yùn)行命令安裝x11vnc。
試用
17.
apt-get install x11vnc
18.
19. 運(yùn)行命令lspci | grep NVIDIA 查詢GPU BusID。
本示例中,查詢到的GPU BusID為00:07.0。
20.
21. 配置X Server環(huán)境并重啟。
i. 運(yùn)行命令nvidia-xconfig --enable-all-gpus --separate-x-screens。
ii. 編輯/etc/X11/xorg.conf,在Section "Device" 段添加GPU BusID,如本示例中為BusID "PCI:0:7:0"。
iii. 運(yùn)行reboot 重啟系統(tǒng)。
在Ubuntu 16.04 64-bit中測試GRID驅(qū)動
按以下步驟測試GRID驅(qū)動。
1. 運(yùn)行命令安裝GLX測試程序。
試用
2.
apt-get install mesa-utils
3.
4. 運(yùn)行命令startx 啟動X Server。
說明
5.
· 如果沒有startx 命令,執(zhí)行apt-get install xinit 命令安裝。
· startx 啟動時可能會提示hostname: Name or service not known。這個提示不會影響X Server啟動。您可以運(yùn)行命令hostname 查得主機(jī)名后,再修改/etc/hosts文件,將127.0.0.1 后的hostname 改為本機(jī)的hostname。
6. 開啟一個新的SSH客戶端終端,運(yùn)行命令啟動x11vnc。
試用
7.
x11vnc -display :1
8.
如果看到如下圖所示的信息,表示x11vnc已經(jīng)成功啟動。此時,您能通過VNC Viewer等VNC遠(yuǎn)程連接軟件連接實(shí)例。
9.
10. 登錄ECS控制臺,在實(shí)例所在安全組中添加安全組規(guī)則 ,允許TCP 5900端口的入方向訪問。
11. 在本地機(jī)器上,使用VNC Viewer等VNC遠(yuǎn)程連接軟件,通過實(shí)例公網(wǎng)IP地址:5900 連接實(shí)例,進(jìn)入KDE桌面。
12. 按以下步驟使用glxinfo 命令查看當(dāng)前GRID驅(qū)動支持的配置。
i. 開啟一個新的SSH客戶端終端。
ii. 運(yùn)行命令export DISPLAY=:1。
iii. 運(yùn)行命令glxinfo –t 列出當(dāng)前GRID驅(qū)動支持的配置。
13. 按以下步驟使用glxgears 命令測試GRID驅(qū)動。
i. 在KDE桌面上,右鍵單擊桌面,并選擇Run Command。
ii. 運(yùn)行g(shù)lxgears 啟動齒輪圖形測試程序。 如果出現(xiàn)如下圖所示的窗口,表明GRID驅(qū)動正常工作。
在CentOS 7.3 64-bit中裝GRID驅(qū)動
按以下方式安裝GRID驅(qū)動。
1. 遠(yuǎn)程連接Linux實(shí)例。
2. 依次運(yùn)行以下命令升級系統(tǒng)并安裝KDE桌面。
試用
3.
yum update
yum install kernel-devel
yum groupinstall "KDE Plasma Workspaces"
4.
5. 運(yùn)行reboot 重啟系統(tǒng)。
6. 再次遠(yuǎn)程連接Linux實(shí)例,并運(yùn)行以下命令下載并解壓NVIDIA GRID驅(qū)動包。
NVIDIA GRID驅(qū)動包中包含多個系統(tǒng)的GRID驅(qū)動,其中,LINUX GRID驅(qū)動是NVIDIA-Linux-x86_64-390.57-grid.run。
7.
試用
8.
wget http://nvdia-driver-410.oss-cn-shenzhen.aliyuncs.com/NVIDIA-Linux-x86_64-410.39-grid.run
9.
10. 按以下步驟關(guān)閉nouveau驅(qū)動。
i. 運(yùn)行vim /etc/modprobe.d/blacklist.conf,添加blacklist nouveau。
ii. 運(yùn)行vim /lib/modprobe.d/dist-blacklist.conf,添加以下內(nèi)容。
試用
iii.
blacklist nouveau
options nouveau modeset=0
iv.
v. 運(yùn)行mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img。
vi. 運(yùn)行dracut /boot/initramfs-$(uname -r).img $(uname -r)。
11. 運(yùn)行reboot 重啟系統(tǒng)。
12. 依次運(yùn)行以下命令,并按界面提示安裝NVIDIA GRID驅(qū)動。
試用
13.
chmod 777 NVIDIA-Linux-x86_64-410.39-grid.run
./NVIDIA-Linux-x86_64-410.39-grid.run
14.
15. 運(yùn)行命令nvidia-smi 測試驅(qū)動是否安裝成功。
如果返回以下類似結(jié)果,說明驅(qū)動已經(jīng)成功安裝。
17. 按以下步驟添加License服務(wù)器并激活License。
i. 切換到/etc/nvidia目錄:cd /etc/nvidia。
ii. 創(chuàng)建gridd.conf文件:cp gridd.conf.template gridd.conf。
iii. 在gridd.conf文件中添加License服務(wù)器的信息。
說明 您需要向NVIDIA購買License后自行搭建License服務(wù)器。
iv.
試用
v.
ServerAddress=License服務(wù)器的IP
ServerPort=License服務(wù)器的端口(默認(rèn)為7070)
FeatureType=2
EnableUI=TRUE
vi.
18. 安裝x11vnc。
試用
19.
yum install x11vnc
20.
21. 運(yùn)行命令lspci | grep NVIDIA 查詢GPU BusID。
本示例中,查詢到的GPU BusID為00:07.0。
22.
23. 配置X Server環(huán)境:
i. 運(yùn)行命令nvidia-xconfig --enable-all-gpus --separate-x-screens。
ii. 編輯/etc/X11/xorg.conf,在Section "Device" 段添加GPU BusID,如本示例中為BusID "PCI:0:7:0"
24. 運(yùn)行reboot 重啟系統(tǒng)。
在CentOS 7.3 64-bit中測試GRID驅(qū)動
按以下步驟測試GRID驅(qū)動。
1. 運(yùn)行命令startx 啟動X Server。
2. 開啟一個新的SSH客戶端終端,運(yùn)行命令啟動x11vnc。
試用
3.
x11vnc -display :0
4.
如果看到如下圖所示的信息,表示x11vnc已經(jīng)成功啟動。此時,您能通過VNC Viewer等VNC遠(yuǎn)程連接軟件連接實(shí)例。
5.
6. 登錄ECS管理控制臺,在實(shí)例所在安全組中添加安全組規(guī)則 ,允許TCP 5900端口的入方向訪問。
7. 在本地機(jī)器上,使用VNC Viewer等VNC遠(yuǎn)程連接軟件,通過實(shí)例公網(wǎng)IP地址:5900 連接實(shí)例,進(jìn)入KDE桌面。
8. 按以下步驟使用glxinfo 命令查看當(dāng)前GRID驅(qū)動支持的配置。
i. 開啟一個新的SSH客戶端終端。
ii. 運(yùn)行命令export DISPLAY=:0。
iii. 運(yùn)行命令glxinfo –t 列出當(dāng)前GRID驅(qū)動支持的配置。
9. 按以下步驟使用glxgears 命令測試GRID驅(qū)動。
i. 在KDE桌面上,右鍵單擊桌面,并選擇Run Command。
ii. 運(yùn)行g(shù)lxgears 啟動齒輪圖形測試程序。 如果出現(xiàn)如下圖所示的窗口,表明GRID驅(qū)動正常工作。
背景信息
NGC(NVIDIA GPU CLOUD)是NVIDIA開發(fā)的一套深度學(xué)習(xí)生態(tài)系統(tǒng),可以使開發(fā)者免費(fèi)訪問深度學(xué)習(xí)軟件堆棧,建立適合深度學(xué)習(xí)的開發(fā)環(huán)境。
目前NGC在阿里云gn5實(shí)例作了全面部署,并且在鏡像市場提供了針對NVIDIA Pascal GPU優(yōu)化的NGC容器鏡像。通過部署鏡像市場的NGC容器鏡像,開發(fā)者能簡單快速地搭建NGC容器環(huán)境,即時訪問優(yōu)化后的深度學(xué)習(xí)框架,大大縮減產(chǎn)品開發(fā)以及業(yè)務(wù)部署的時間,實(shí)現(xiàn)開發(fā)環(huán)境的預(yù)安裝;同時支持調(diào)優(yōu)后的算法框架,并且保持持續(xù)更新。
NGC網(wǎng)站 提供了目前主流深度學(xué)習(xí)框架不同版本的鏡像(比如Caffe、Caffe2、CNTK、MxNet、TensorFlow、Theano、Torch),您可以選擇需要的鏡像搭建環(huán)境。
前提條件
在開始搭建TensorFlow環(huán)境之前,必須先完成以下工作:
· 注冊阿里云賬號,并完成 實(shí)名認(rèn)證 。
· 登錄 NGC網(wǎng)站,注冊NGC賬號。
· 登錄 NGC網(wǎng)站,獲取NGC API key并保存到本地。登錄NGC容器環(huán)境時需要驗(yàn)證您的NGC API Key。
操作步驟
1. 創(chuàng)建gn5實(shí)例。參考 創(chuàng)建ECS實(shí)例 創(chuàng)建一臺gn5實(shí)例,注意以下配置信息:
· 地域:只能選擇 華北1、華北2、華北3、華北5、華東1、華東2、華南1。
· 實(shí)例:選擇gn5實(shí)例規(guī)格。
· 鏡像:單擊 鏡像市場,在彈出對話框里,找到 NVIDIA GPU Cloud VM Image 后,單擊 使用。
· 公網(wǎng)帶寬:選擇 分配公網(wǎng)IP地址。
說明 如果這里不分配公網(wǎng)IP地址,則在實(shí)例創(chuàng)建成功后,綁定EIP地址。
·
· 安全組:選擇一個安全組。安全組里必須開放 TCP 22 端口。如果您的實(shí)例需要支持HTTPS或 DIGITS 6 服務(wù),必須開放TCP 443(用于HTTPS)或TCP 5000(用于DIGITS 6)端口。
ECS實(shí)例創(chuàng)建成功后,登錄ECS管理控制臺,記錄實(shí)例的公網(wǎng)IP地址。
2. 連接ECS實(shí)例:根據(jù)創(chuàng)建實(shí)例時選擇的登錄憑證,使用密碼驗(yàn)證連接ECS實(shí)例 或者 使用SSH密鑰對驗(yàn)證連接ECS實(shí)例 。
3. 按界面提示輸入NGC官網(wǎng)獲取的NGC API Key后按回車鍵,即可登錄NGC容器環(huán)境
4.
5. 運(yùn)行 nvidia-smi。您能查看當(dāng)前GPU的信息,包括GPU型號、驅(qū)動版本等,如下圖所示。
6.
7. 按以下步驟搭建TensorFlow環(huán)境:
i. 登錄 NGC網(wǎng)站,找到TensorFlow鏡像頁面,獲取 docker pull 命令。
iii. 下載TensorFlow鏡像。
試用
iv.
docker pull nvcr.io/nvidia/tensorflow:18.03-py3
v.
vi. 查看下載的鏡像。
試用
vii.
docker image ls
viii.
ix. 運(yùn)行容器,完成TensorFlow開發(fā)環(huán)境的部署。
試用
x.
nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3
xii.
8. 選擇以下任一種方式測試TensorFlow:
· 簡單測試TensorFlow。
試用
·
$python
·
試用
·
>>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> sess.run(hello)
·
如果TensorFlow正確加載了GPU設(shè)備,返回結(jié)果如下圖所示。
· 下載TensorFlow模型并測試TensorFlow。
試用
·
git clone https://github.com/tensorflow/models.gitcd models/tutorials/image/alexnet
python alexnet_benchmark.py --batch_size 128 --num_batches 100
·
9. 保存TensorFlow鏡像的修改。否則,下次登錄時配置會丟失。
【阿里云,阿里巴巴集團(tuán)旗下云計(jì)算品牌,全球卓越的云計(jì)算技術(shù)和服務(wù)提供商。海商(www.hydrodefense.cn)作為阿里云湖南唯一授權(quán)服務(wù)中心,國內(nèi)知名商城系統(tǒng)及商城網(wǎng)站建設(shè)提供商,專為企業(yè)提供專業(yè)完善電商整體解決方案、微商云、視頻云、醫(yī)療云等,咨詢阿里云服務(wù)器詳情可電聯(lián):18684778716(微信同號)】




立即掃碼關(guān)注

專注私域電商軟件的提供