更快的機器學習即將來到 Linux 核心

贊 回覆發表於2017-06-11

Linux 核心新增的異構記憶體管理將解鎖加速 GPU 的新途徑,並挖掘其它的機器學習硬體的潛能

一項開發了很久的記憶體管理技術將會給機器學習和其它 GPU 驅動的程式很大幅度的提升,而它也將在接下來的幾個版本中進入 Linux 核心。

異構記憶體管理(HMM)可以允許裝置驅動為在其自身記憶體管理下的程式映象地址空間。正如紅帽的開發者 Jérôme Glisse 所解釋的,這讓像 GPU 這樣的硬體裝置可以直接訪問程式記憶體,而不用花費複製帶來的額外開銷。它還不違反現代作業系統提供的記憶體保護功能。

一類會從 HMM 中獲益最多的應用是基於 GPU 的機器學習。像 OpenCL 和 CUDA 這樣的庫能夠從 HMM 中獲得速度的提升。HMM 實現這個的方式和加速基於 GPU 的機器學習相似,就是讓資料留在原地,靠近 GPU 的地方,在那裡直接運算元據,儘可能少地移動資料。

像這樣的加速對於 CUDA(英偉達基於 GPU 的處理庫)來說,只會有益於在英偉達 GPU 上的操作,這些 GPU 也是目前加速資料處理的主要硬體。但是,OpenCL 設計用來編寫可以針對多種硬體的程式碼——CPU、GPU、FPGA 等等——隨著這些硬體的成熟,HMM 能夠提供更加廣泛的益處。

要讓 Linux 中的 HMM 處於可用狀態還有一些阻礙。第一個是核心支援,在很長一段時間裡都受到限制。早在 2014年,HMM 最初作為 Linux 核心補丁集提出,紅帽和英偉達都是關鍵開發者。需要做的工作不少,但是開發者認為程式碼可以提交上去,也許接下來的幾個核心版本就能把它包含進去。

第二個阻礙是顯示卡驅動支援,英偉達一直在自己單獨做一些工作。據 Glisse 的說法,AMD 的 GPU 可能也會支援 HMM,所以這種特殊優化不會僅限於英偉達的 GPU。AMD 一直都在嘗試提升它的 GPU 市場佔有率,有可能會將 GPU 和 CPU 整合到同一模具。但是,軟體生態系統依然更青睞英偉達;要使其兌現,還需要更多的像 HMM 這樣的中立專案,以及讓 OpenCL 提供和 CUDA 相當的效能。

第三個阻礙是硬體支援,因為 HMM 的工作需要一項稱作可重現頁面故障replayable page faults的硬體特性。只有英偉達的帕斯卡系列高階 GPU 才支援這項特性。從某些意義上來說這是個好訊息,因為這意味著英偉達只需要提供單一硬體的驅動支援就能讓 HMM 正常使用,工作量就少了。

一旦 HMM 到位,對於提供 GPU 例項的公有云提供商就會面臨壓力,他們需要支援最新最好一代的 GPU。這並不是僅僅將老款的開普勒架構顯示卡換成最新的帕斯卡架構顯示卡就行了,因為後續的每一代顯示卡都會更加優秀,像 HMM 這樣的支援優化將提供戰略優勢。

(題圖:Thinkstock)


via: http://www.infoworld.com/article/3196884/linux/faster-machine-learning-is-coming-to-the-linux-kernel.html

作者:Serdar Yegulalp 譯者:alim0x 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章