在5月舉行的GTC 2017大會上,Nvidia創辦人暨執行長黃仁勳宣布推出Nvidia GPU Cloud(NGC),當時他們描述NGC是基於雲端服務的平臺,將讓開發者更容易存取最新、優化的深度學習框架,以及最新GPU運算資源,開發者若要取用NGC提供的功能,可透過個人電腦、Nvdia DGX系列整合設備,以及雲端服務,並提到這是一份完整的軟體套裝環境,可用來駕馭人工智慧所帶來的強大轉型力量。

在GTC 2017大會上,Nvidia預告將推出GPU Cloud的雲端GPU加速平臺,當時提到會在7月開始進行Beta測試。
這是基於NVDocker(或稱為nvidia-docker,Docker Engine Utility for Nvidia GPUs),而整合GPU最佳化軟體的容器登錄服務,容器的內容組成,會由Nvidia來負責持續更新、維護與測試,而這些容器可部署在個人電腦或工作站、Nvidia DGX Systems系列應用設備,以及公有雲服務等環境當中。

事實上,NGC的軟體堆疊架構,有一部分就是源自於2016年推出的DGX-1,Nvidia已將這套設備整合的軟體打包成容器套件,而現在透過NGC的平臺,這些軟體將能夠更廣泛提供給眾人使用,並且將持續更新當中所使用的程式碼,同時調校這些軟體套件的執行效能。

NGC的容器登錄服務,所提供的部分是將多種深度學習框架一一打包而成的容器,裡面包含各種相依的系統元件,以及專屬的深度學習堆疊架構NGC Deep Learning Stack。
這套軟體堆疊與DGX Systems設備所用的軟體堆疊很相似,除了底層的作業系統,再上層是以NVDocker為基礎的容器環境,裡面整合深度學習框架SDK、Nvidia CUDA Toolkit,而使用者也能在容器內自行擴增其他應用程式。在Docker容器啟動時,系統會掛載以使用者模式執行的Nvidia驅動程式與GPU。

而NGC主要是針對多種深度學習領域的開發框架,提供了專屬的容器映像登錄(Registry),像是Google所主推的TensorFlow、微軟Cognitive Toolkit(CNTK),以及Caffe、Caffe2、MXNet、Theano、Torch,並且搭配好各自相依的軟體套件,使得開發者能夠能夠以更簡便的方式,取得、使用這些能夠支援GPU加速的框架。

同時,這裡也整合Nvidia本身發展的多種軟體,像是GPU深度學習訓練系統(Deep Learning GPU Training System,DIGITS)、深度學習軟體開發套件Nvidia Deep Learning SDK、Nvidia Docker、Nvidia GPU驅動程式,以及Nvidia CUDA Toolkit,以便加快深度神經網路的設計。

 

如果你不太熟悉何謂容器登錄(Registry),讓我們從Docker官方的文件的解釋來理解它的架構。
基本上,Docker本身採用了主從式架構,是由Docker client和Docker daemon(dockerd)所組成,前者是一般使用者連上Docker環境的操作介面,後者負責Docker container的建立、執行與發行。至於Docker registry登錄服務則是儲存Docker映像的地方,這當中還可區分為公共型和私有型的登錄服務,目前可存取的公有型容器登錄服務,有Docker Hub與Docker Cloud。
開發者可以執行docker pull的指令,即可將需要的容器映像從設定的登錄服務當中,下載到自己的容器環境上。反之,你也可以運用docker push的指令,將手上的容器映像上傳到登錄服務(但NGC似乎並未開放這部份的功能)。

 

NGC上線!第一波提供的GPU最佳化軟體整合容器環境,是針對多種深度學習框架而來,並拉攏公有雲服務龍頭AWS來合作推廣

到了10月26日,Nvidia終於明確表示NGC即將正式上場,而且更明確點出它的定位,是針對全球人工智慧開發者的容器登錄服務,並且歡迎有意使用者連至NGC專屬網站(ngc.nvidia.com)登記使用,即可下載打包成容器型態的相關應用軟體套件。

在這次發布的消息中,Nvidia再次強調NGC的軟體,具有預先整合到容器、更易於使用的特性,以及Nvidia對於這些環境,也將持續進行調校、測試與認證的作業。他們希望,透過NGC的容器登錄服務,能夠提供具備最佳效能的深度學習應用環境,使得用戶在雲端服務的Nvidia GPU運算過程當中,獲得理想的執行效能。

透過瀏覽器連上https://ngc.nvidia.com之後,經過簡單的註冊程序,我們就可以登入NGC,接著,我們會看到這裡列出一些目前Nvidia所維護的軟體容器,最上面、也是最新推出的項目,是針對深度學習框架的應用,開發者可根據網頁上面的指示,取得所要用到的容器映像。

無獨有偶,同在NGC後續消息發布的這一天,公有雲服務業者的龍頭廠商AWS,也在Amazon EC2運算服務當中,推出新一代的GPU執行個體P3,當中採用Nvidia今年最新發表的Tesla V100 GPU,而在虛擬機器系統映像檔的搭配上,AWS市集提供Amazon Linux、Ubuntu 16.04、Windows Server 2012 R2、Windows Server 2016等環境之餘,他們也鼓勵大家使用Nvidia Volta Deep Learning AMI,而這套映像也整合了NGC提供的深度學習框架容器,開發者只需基於這套經過Nvidia認證的AMI,建立執行個體,然後下載所要使用的深度學習框架容器,接著就能立即開始執行深度學習的處理工作。

因此,NGC目前能以上述方式,來搭配Amazon EC2的P3執行個體使用,Nvidia也預告將支援更多雲端服務,微軟Azure將是其中之一。

 

在AWS市集上,我們可以搜尋、使用專為深度學習應用而設的系統映像檔,而其中的Nvidia Volta Deep Learning AMI,是專門用來支援NGC登錄服務提供的多種深度學習框架容器,本身也經過最佳化,並且能在AWS P3的執行個體當中執行。

 

 

 

緊接而來的NGC第二波發布!針對科學運算與高效能運算的常見系統,提供GPU最佳化與整合不同渲染引擎的軟體容器

而在11月中旬所舉行的超級電腦大會期間,Nvidia在NGC平臺上,宣布推出更多容器登錄服務項目,提供支援GPU最佳化的(HPC)軟體容器,涵蓋多種科學運算領域常見到的應用系統,以及針對HPC運算平臺的圖形化分析工具。

對於科學運算的支援上,NGC目前提供的應用系統容器映像,包括:通用原子分子電子結構系統(GAMESS),同為分子動力學模擬系統的LAMMPS與NAMD,以及冷凍電子顯微鏡資料分析軟體RELION(REgularised LIkelihood OptimisatioN)。

而在HPC圖形化分析系統的容器映像提供,Nvidia目前仍在進行Beta測試,NGC已列出3個登錄項目,都是基於ParaView這套軟體而成的系統整合環境,但差別在於各自整合了不同的Nvidia渲染引擎,例如:大規模渲染器IndeX、光線追蹤程式庫Optix,以及互動式即時圖像模擬系統Holodeck。

若要在高效能運算應用當中,取得並使用支援Nvidia GPU最佳化的軟體容器,NGC從11月中,已經針對GAMESS、GROMACS、LAMMPS、NAMD和RELION,提供對應的容器映像。
在此同時,在圖形化處理的應用系統上,Nvidia也選定ParaView這套開放原始碼的互動式分析軟體,整合搭配自家開發的軟體處理技術,例如:渲染引擎IndeX、光線追蹤函式庫Optix,以及即時互動、高畫質實境模擬平台Holodeck。

 

上面三張NGC的網頁操作介面,比起現今我們所看到的NGC,功能選項更為豐富,也開始透過圖表來呈現更多容器使用的資訊,而這些都是Nvidia於10月底於臺灣舉行的GTC大會期間,所揭露的最新畫面,所用的雲端服務也令人感到好奇,可能是Nvidia向AWS租用的環境——在加速運算環境(ACE)欄位上,所顯示的資訊是nv-us-west-1。

產品資訊

Nvidia GPU Cloud
●原廠:Nvidia(02)6605-5700
●建議售價:免費
●支援深度學習框架類型:NVCaffe、Caffe2、Microsoft Cognitive Toolkit、MXNet、PyTorch、TensorFlow、Theano、Torch
●支援科學運算應用系統:GAMESS、GROMACS、LAMMPS、NAMD、RELION
●支援高效能運算應用系統:ParaView
●整合Nvidia軟體:Nvidia Docker、CUDA Toolkit、DIGITS
●支援系統平臺:Nvidia DGX-1、Nvidia DGX Station、Amazon EC2 P3(Nvidia Volta GPU)

【註:規格與價格由廠商提供,因時有異動,正確資訊請洽廠商】


Advertisement

更多 iThome相關內容