“高效制勝、擴展無限—Dell HPC 行業應用實踐交流會”于2012年6月20日在北京悠唐皇冠假日酒店盛大召開,戴爾技術專家及行業技術精英和與會者切磋交流,共商HPC發展之大計。
以下是現場快遞。(聲明:本稿件來源為現場速記,可能有筆誤和別字,僅供參考)
主持人:今天最后一個發言的是Nvidia GPU并行計算高級顧問羅華平。
Nvidia GPU并行計算高級顧問羅華平
羅華平:大家下午好,今天我講的主要內容大概有四個方面,GPU簡單的介紹,另外應用我們Tesla產品的介紹,另外給大家簡單介紹一下GPU編程方式,另外我們GPU應用情況,主要是四個方面的內容。
什么是GPU計算?簡單講GPU計算是這幾年非常火的話題,現在正在德國漢堡舉行的國際超算年會上,GPU計算,或者加速器的計算方式也是比較熱門的話題。GPU計算簡單的講,在我們標準X86的架構上,加上GPU來做處理,為什么加GPU,GPU有非常強大的處理能力,通過它來彌補CPU處理能力的不足,可以把大量的計算任務交由GPU來計算,CPU和GPU同時協作計算。
其實我們回過頭來看一看Intel CPU發展情況,80年代初Intel剛剛發明CPU的時候,第一代8080,8086,其實那時候的CPU是沒有浮點運算能力的,后來Intel為了彌補CPU這個不足,后來又發明了另外一個芯片,8087,專門的浮點處理器,協助CPU做浮點運算工作。所以說這種CPU加GPU的架構,很多事情我們回過頭來看看有相似之處。所以說在這種架構中,我們也稱混合的計算環境。
為什么利用GPU來做并行計算,最重要的一點就是我們GPU浮點運算能力非常強大,GPU訪問帶寬速度非常快。GPU的浮點,綠色的是GPU,藍色的是CPU,CPU的浮點運算非常強。另外帶寬也是一樣,有很大的差距。上個月我們在美國硅谷我們還發布了新一代的Tesla產品,他的浮點運算能力又提高了至少一倍,我們現在跟CPU相比也能保持一個比較大的運算優勢。
我們有一個小小的圖可以看到編程的方式或者是數據流的工作模式,CPU把系統內存數據傳到GPU內存中其,傳完以后,對CPU發出指令去計算,GPU進行計算,計算完了以后再把結果傳回到CPU,CPU做進一步的處理,這是我們CPU+GPU異構架構的工作模式,這是我們基本的數據流程。現在CPU和GPU的這種架構,已經得到了業界廣泛的認可,在很多領域都得到了非常好的應用,在這里不詳細說了,前面的報告里面也都介紹了不同的應用類型,總體來講,GPU加速的方式,異構模式,對于我們絕大部分計算來說都有非常好的好處。我的印象中,我的客戶得到了加速最是中科院力學所,他的程序移到GPU以后,據他們講900倍的進行加速。
從我們每年超級計算機的排名我們也看到,這是在去年前年,我們在國內也是比較熱門的話題,上午演講中也提到過,天河一號,當初出來以后,是排名世界第一計算機,截止到這個月上個禮拜之前還保持在第二的位置,現在剛好是昨天在漢堡舉行的超算年會上,新一屆排名出來了,天河已經落到了第五位,星云已經落到第七位。這是最新的情況。但是在前十名中現在還有三名是用GPU來做的異構架構,在整個TOP500中,根據這次最新的排名,大概有13臺機器進入了前五百,在三年前,08年我們只有一臺機器進入前五百,現在已經有13臺。
總體來講,采用CPU+GPU異構架構對我們用戶有非常好的好處,用戶可以得到非常高的性能,用戶在同樣運算情況下可以得到更高性能的機器,性價比非常好,另外的話,能效非常好。同樣計算能力下為大家節約計算空間。
下面我們簡單看一下Tesla產品,我們剛剛發布新的產品,基于CUDA架構的GPU,我們每兩年性能會翻一倍。Tesla K10,這個產品主要針對單精度運算應用,不適合做雙精的應用。這個產品跟我們現在的M2090相比性能有了非常大的提高,他是在一個板上有兩個GPU,總共有三千多個核,它的浮點運算能力到了4.58個T,大概是M2090三倍左右,但是他的功耗非常低。K10我們主要是用在石油、電子資料處理、加密、解密、視頻解譯。我們今年下半年還發布了新產品,K20,雙精和單精性能都非常好的產品,大概是這樣,今年年底會推出。
現在對GPU運行修改方式三種,第一種就是利用GPU函數庫的方式,第二種是OpenACC的方式,第三種是CUDA/C Fortran的方式。這幾種方法也可以結合起來使用,也可以使用一種、兩種、三種,都可以。
我們稍微提一下OpenACC,OpenACC是一個開放的標準,現在不但要支持CPU還可以支持GPU,還有其他家的加速器,將來可以在不同的架構上運行。我們現在和PGI合作做了一個推廣,我們有一個30天免費的使用,用戶可以去下載應用。這種方式也非常有效,很多用戶用起來也非常好。還有其他的案例,OpenACC的編程方式是非常有效的,效果非常快。
另外CUDA編程在這不想多說,主要提兩點,第一點就是CUDA走向開放,以前CUDA是采用專有的編譯器,現在采用的是開源的編譯器,使CUDA支持新的硬件成為可能。第二點是開發CUDA X86。GPU的程序開發這個生態鏈是非常完善的,從硬件,Dell大廠家,然后我們的編譯器,我們的工具等等,還有軟件包等等。
GPU在幾個領域都得到了非常好的應用,工業主要在石油天然氣,GPU的機器目的成為了主流機器,最近中石油的處理中心購買了五百個GPU,我們Tesla中標了兩百個GPU,教育科研,生命科學的研究等等,性能有了比較好的加速。另外在制造業,做結構分析,流體分析都可以支持,特別是結構分析。另外在我們政府密碼破譯,指紋識別,GPU也有非常好的應用。另外在金融風險分析,股票價格定價等等都有比較好的應用。
在我們網站上有一個列表,所有支持GPU應用的軟件,我們都在這里詳細列出來了,軟件的名字,主要干什么的,然后它支持單GPU,多GPU,大概的加速是多少,我們都有一個介紹,用戶使用的軟件是否是GPU,可以到上面去查一查。
HPC最重要是并行化,從單GPU到多GPU,從單核到多核這樣的發展歷程。另外就是綜合處理器,又叫加速器這種方式,加速器的方式是我們GPU發展的方向。另外CPU和GPU的融合,現在我們的架構CPU和GPU還是獨立的,將來的發展是CPU和GPU會融合在一起,業界也做了一些工作。我的介紹就到這里,謝謝大家。