業界 | AMD的GPU現在可以加速TensorFlow深度學習了

2021-12-30 機器之心

近日,AMD 宣布推出適用於 ROCm GPU 的 TensorFlow v1.8 接口,其中包括 Radeon Instinct MI25。AMD 稱,這是該公司在實現深度學習加速上的重要裡程碑。ROCm 即 Radeon Open Ecosystem,是 AMD 在 Linux 上的開源 GPU 計算基礎環境。這次的 TensorFlow 實現使用了 MIOpen——一個適用於深度學習的優化 GPU 例程庫。

目前,AMD 的深度學習加速解決方案已經官方支持 TensorFlow 和 Caffe 兩種框架。

AMD 提供了一個預構建的 whl 包,使安裝變得像 Linux 通用 TensorFlow 的安裝那樣簡單。AMD 已經發布了安裝說明以及一個預構建的 Docker 映像。

除了支持 TensorFlow 1.8,AMD 目前還在致力於對 TensorFlow 主存儲庫進行所有針對 ROCm 的強化。其中一些補丁已經在上遊合併,另外幾個正在積極審查中。在全面更新增強功能時,AMD 還將發布和維護未來支持 ROCm 的 TensorFlow 版本,如 v1.10 版。

AMD 相信深度學習的優化、可便攜性以及可擴展性的未來在於特定領域編譯器的基礎之上。其開發者受到 XLA 早期結果的啟發,正在朝著為 AMD GPU 開放和優化 XLA 的方向發展。

有關 AMD 深度學習加速的更多內容可參照:www.amd.com/deeplearning

2017 年,AMD 發布了 ROCm 平臺,開始為開發者提供深度學習支持。同時,這家公司也開源了高性能機器學習庫 MIOpen。

準備能運行 ROCm 和 docker 的機器

以下教程假定了使用全新的機器來準備 ROCm+Docker 環境;除了典型的庫存包(stock package)更新以外,不需要安裝額外的軟體。

最新的公開 docker.re 發布,18.02 版本已知在 docker 鏡像下與非根帳戶共同使用時存在缺陷。請使用以下 deb 包更新 docker 包到 18.04 版本。

安裝包:https://download.docker.com/linux/ubuntu/dists/xenial/pool/nightly/amd64/docker-ce_18.04.0~ce~dev~git20180315.170650.0.8fabfd2-0~ubuntu_amd64.deb

首先推薦安裝 ROCm 內核,ROCm KFD 按 DKMS 模塊的方式分布,適用於 ROCm1.7.0 後的版本。AMD 推薦儘量升級到最新的通用內核。更新的內核通常能夠更好地支持 AMD 硬體,並且庫存視頻解析度和硬體加速性能也通常會得到改善。同時,ROCm 已經官方支持了 Ubuntu 和 Fedora Linux 分布。以下的 asciicast 展示了在 Ubuntu16.04 上更新內核。更多的細節可以在 Radeon Open Computer 網站上找到。

第1步:安裝 ROCm 內核

你需要鍵入(或複製)如下命令:

# OPTIONAL, upgrade your base kernel to 4.13.0-32-generic, reboot required
sudo apt update && sudo apt install linux-headers-4.13.0-32-generic linux-image-4.13.0-32-generic linux-image-extra-4.13.0-32-generic linux-signed-image-4.13.0-32-generic
sudo reboot 
# Install the ROCm rock-dkms kernel modules, reboot required
wget -qO - http:
sudo apt-get update && sudo apt-get install rock-dkms
sudo update-initramfs -u
sudo reboot
# Add user to the video group
sudo adduser $LOGNAME video

確保在安裝 ROCm 內核包後重啟計算機,以強制新內核在重啟時加載。你可以通過在提示符下鍵入以下命令來驗證是否加載了 ROCm 內核:

lsmod | grep kfd

在屏幕上打出的內容應該如下:

amdkfd                270336  4
amd_iommu_v2           20480  1 amdkfd
amdkcl                 24576  3 amdttm,amdgpu,amdkfd

第 2 步:安裝 docker

確認過新核正在運行之後,下一步就是安裝 docker 引擎。可以在 docker 的網站上找到安裝 docker 的手冊,但可能最簡單的方法時使用 docker 自己的 bash 腳本。如果允許在你的機器上運行從網際網路下載的 bash 腳本,打開一個 bash 提示符並執行以下命令行:

curl -sSL https:

用上面的腳本查看 Linux 發行版和安裝的內核,並正確安裝 docker。腳本將在 ROCm 平臺上輸出一條警告消息,表明它不能識別 ROCm 內核;這個是正常的,可以忽略。腳本可在無法識別內核的情況下進行正確的 docker 安裝。


第 3 步:驗證/更改 docker 設備存儲驅動程序

sudo docker info

docker 設備存儲驅動程序管理 docker 如何訪問圖像和容器。docker 官網上可以找到很多關於存儲驅動程序架構的文檔和詳細描述。通過在命令提示符下發出 sudo docker info 命令並查找「Storage Driver:」輸出,可以檢查哪個存儲驅動程序正被 docker 使用。我們很難預測安裝時存儲驅動程序 docker 會選擇什麼作為默認值,默認值會隨著時間的推移而變化,但在經驗中,我們發現尺寸較大的圖像會遇到 devicemapper 存儲驅動程序問題。它對圖像和容器的最大尺寸施加了限制。如果你在「大數據」領域工作,如在深度神經網絡的應用中,devicemapper 限制了 10GB 的默認值。如果遇到此限制,有兩個選項可用:

1. 切換到其他存儲驅動

2. 如果你必須使用「devicemapper」,請在服務啟動時傳遞「devicemapper」配置變量——dm.basesize,以增加潛在圖像的最大值。

在創建和使用「devicemapper」圖像後切換到「overlay2」存儲驅動程序的缺點是需要重新創建現有圖像。因此,AMD 建議在進行重要工作前驗證是否使用「overlay2」存儲驅動程序設置了 docker。

第 4 步 A:使用 docker CLI 構建 ROCm 容器


git clone https:
sudo docker build -t rocm/rocm-terminal rocm-terminal
sudo docker run -it --device=/dev/kfd --device=/dev/dri --group-add video rocm/rocm-terminal

(可選)第 4 步 B:使用 docker-compose 構建 ROCm 容器

git clone https:
sudo docker-compose run --rm rocm


第 5 步:驗證 ROCm-docker 容器是否成功構建

cd /opt/rocm/hsa/sample

sudo make

./vector-copy

參考內容:

https://medium.com/tensorflow/amd-rocm-gpu-support-for-tensorflow-33c78cc6a6cf

https://github.com/RadeonOpenCompute/ROCm-docker

本文為機器之心報導,轉載請聯繫本公眾號獲得授權

✄---

加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com

投稿或尋求報導:content@jiqizhixin.com

廣告 & 商務合作:bd@jiqizhixin.com

相關焦點

  • 從零開始搭建深度學習伺服器:TensorFlow + PyTorch + Torch
    本教程轉載於深度學習中文社區(studydl.com).在深度學習大行其道的今天,我們不應該停留於觀望的階段,我們應該多多上手進行實踐,下面將為大家介紹一下最簡單也是最基礎的內容,配置一個自己的深度學習伺服器.1.
  • Tensorflow和Pytorch深度學習框架安裝教程
    目前主流深度學習框架有Tensorflow和pytorch,由於一些原因我只在windows10下安裝了以上兩個深度學習框架。
  • 手把手教你在windows7上安裝tensorflow-gpu開發環境
    3、安裝tensorflow-gpu版本anaconda中已經內置了pip,所以選擇直接用pip進行安裝:pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
  • 教程 | Docker Compose + GPU + TensorFlow 所產生的奇妙火花
    但是在數據科學和深度學習方面,使用 Docker 有一些阻礙。你必須記住所有的 Docker 標誌,以在主機和容器之間共享埠和文件,創建不必要的 run.sh 腳本,並處理 CUDA 版本和 GPU 共享。
  • 在 Ubuntu 16.04 中安裝支持 CPU 和 GPU 的 Google TensorFlow 神經網絡軟體
    這些神經網絡被訓練學習其所要執行的任務。由於訓練所需的計算是非常巨大的,在大多數情況下需要 GPU 支持,這時 TensorFlow 就派上用場了。啟用了 GPU 並安裝了支持 GPU 的軟體,那麼訓練所需的時間就可以大大減少。本教程可以幫助你安裝只支持 CPU 的和同時支持 GPU 的 TensorFlow。
  • 居然有免費的GPU可以跑深度學習代碼!
    ,深度學習代碼需要設計海量的數據,需要很大很大很大(重要的事情說三遍)的計算量,以至於CPU算不過來,需要通過GPU幫忙,但這必不意味著CPU的性能沒GPU強,CPU是那種綜合性的,GPU是專門用來做圖像渲染的,這我們大家都知道,做圖像矩陣的計算GPU更加在行,應該我們一般把深度學習程序讓GPU來計算,事實也證明GPU的計算速度比CPU塊,但是(但是前面的話都是廢話
  • 基於RTX2060構建TensorFlow-gpu(keras)學習平臺
    開始菜單運行anaconda navigator檢查是否安裝了notebook(默認有安裝)三、安裝tensorflow/keras在激活的環境中安裝:1. 如果機器上有gpu,則安裝gpu版本,沒有GPU就安裝cpu版。
  • 用GPU加速深度學習: Windows安裝CUDA+TensorFlow教程
    那麼到底是否可以在Windows系統上設置深度學習框架,開發深度學習模型呢?好消息是越來越多的深度學習框架開始支持Windows,這使得在Windows上使用GPU加速學習過程也變成了可能。很多朋友雖然沒有一塊很強勁的顯卡,但也可以以較低的代價來了解在GPU上運行深度學習模型的過程。
  • 深度學習與LabVIEW(一)
    深度學習模型可以被搭載在以下三個LabVIEW相關環境中運行:1、在裝有64位的LabVIEW 2018(及以上)的PC機中運行;2、在裝有32位/64位 LabVIEW 2016(及以上)的PC機中運行;3、在NI帶有RT和FPGA系列硬體中運行。
  • TFLearn:為TensorFlow提供更高級別的API 的深度學習庫
    TFlearn是一個基於Tensorflow構建的模塊化透明深度學習庫。它旨在為TensorFlow提供更高級別的API,以促進和加速實驗,同時保持完全透明並與之兼容。TFLearn功能包括:通過教程和示例,易於使用和理解用於實現深度神經網絡的高級API。
  • 【經驗】深度學習如何挑選GPU?
    https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/ 以 Quadro RTX 8000 為基準的針對Quadro RTX 8000的圖像模型訓練吞吐量
  • 深度學習環境配置指南:Pytorch、TensorFlow、Keras
    導讀本文介紹了作者使用RTX3090進行深度學習環境配置pytorch、tensorflow、keras等的詳細過程及代碼。筆者中山大學研究生,醫學生+計科學生的集合體,機器學習愛好者。-7.2.1.4-cp36-none-linux_x86_64.whl tensorflow_estimator-1.15.1-py2.py3-none-any.whl nvidia_tensorboard-1.15.0+nv20.10-py3-none-any.whlnvidia_tensorflow-1.15.4+nv20.10-cp36-cp36m-linux_x86_64.whl -i http
  • 深度學習環境搭建
    如果要學習如何在Linux作業系統中下載和安裝CUDA9.0、cudnn7.3、tensorflow_gpu1.10,請瀏覽本文作者的另外一篇文章《在谷歌雲伺服器上搭建深度學習平臺》,連結:https://www.jianshu.com/p/893d622d1b5a《在谷歌雲伺服器上搭建深度學習平臺》這篇文章中有部分內容是如何建立和連接雲虛擬機,這部分內容對於擁有Linux主機的讀者是無用的
  • Docker中部署TensorFlow GPU
    在docker中部署的好處在於,可以不用管driver,cuda,cudnn以及tensorflow版本之間的依賴關係,只需要gpu的driver安裝好,就可以了。幾臺工作站,每次這些依賴關係搞得頭大。
  • 小叮噹機器學習:Python3.6配置TensorFlow的GPU版詳細安裝教程
    (2)輸入命令:source activate tensorflow 激活環境,之後輸入命令:pip install tensorflow-gpu 安裝Tensorflow的GPU版。注意:tensorflow1.0版本以上是不支持cuda8.0以下的,何況我們安裝的是最新版得tensorflow-gpu 1.8.0版本。
  • 2020年深度學習如何挑選 GPU?這篇 GPU 最全攻略請查收
    深度學習是一個對計算有著大量需求的領域,從一定程度上來說,GPU的選擇將從根本上決定深度學習的體驗。
  • 【技術茶話會】如何在電腦上搭建 tensorflow 環境
    TensorFlow 是一個由谷歌開發和維護的基於數據流編程的符號數學系統,被廣泛應用於各類機器學習,完成版的支持 c 和 python 語言,但機器學習模塊大多使用 python 語言編寫,下面來介紹一下如何在自己的筆記本電腦上搭建 python 語言的 tensorflow 環境。
  • 安裝TensorFlow 2.0 preview進行深度學習(附Jupyter Notebook)
    【導讀】深度學習框架TensorFlow 2.0 (preview版)可以用pip進行安裝了。
  • RTX 3090 的深度學習環境配置指南:Pytorch、TensorFlow、Keras
    導讀本文介紹了作者使用RTX3090進行深度學習環境配置pytorch、tensorflow、keras等的詳細過程及代碼。筆者中山大學研究生,醫學生+計科學生的集合體,機器學習愛好者。還不支持cudatoolkit=11中下載cudnn)從https://developer.nvidia.com/rdp/cudnn-download下載cudnn,解壓後進入cuda/lib64路徑下,把裡面所有文件拷入對應虛擬環境(exp38)的lib中(6)裝tf2.5(不要裝tensorflow-gpu
  • 深度學習筆記15:ubuntu16.04 下深度學習開發環境搭建與配置
    作者:魯偉一個數據科學踐行者的學習日記。