ATI Stream

基本信息,ATI Stream概覽,ATI Stream技術發展歷程,Fusion理念,ATI Stream技術的套用,視頻處理,物理加速,科學研究,其他方面的套用,

基本信息

ATI Stream Technology,中文譯作ATI流處理技術。是AMD針對旗下圖形處理器GPU)所推出的通用並行計算技術。利用這種技術可以充分發揮AMD GPU的並行運算能力,用於對軟體進行加速或進行大型的科學運算,同時用以對抗競爭對手的nVIDIA CUDA技術。與CUDA技術是基於自身的私有標準不同,ATI Stream技術基於開放性的OpenCL標準。
ATI Stream
2010年10月,隨著AMD Radeon HD6800系列顯示卡發布,ATI品牌正式被AMD品牌取代。相應的,ATI Stream技術也升級更名為AMD APP技術。

ATI Stream概覽

ATI Stream技術發展歷程

GPU通用計算技術,簡單的說就是讓GPU(顯示卡核心)處理圖形數據之外的其他數據。 在過去的幾年裡,GPU一直以每年或每半年更新一代的速度發展,其發展速度已遠把CPU拋在後面。隨著DirectX 10規範的出現,GPU開始採用統一渲染架構,其性能與功能也變得更為強大,它能做的事情已不單只是運行3D遊戲,不少科學計算領域已開始利用GPU的優勢進行計算。ATI最先提出通用計算的概念,與史丹福大學合作,在Folding@Home研究項目中利用ATI Radeon X1900作運算加速。通過GPU來模擬蛋白質合成,進而找尋有關蛋白質的疾病。自ATI R520 GPU問世以來,基於它的可程式架構,ATI投入大量資源研究通用計算,也就是說用GPU處理非圖形數據,處理一般在主流伺服器和桌面處理器上運行的軟體,性能比CPU高出10-30倍。
CPU採用的是串列架構,執行的是串列指令,雖然多核CPU在並行計算方面有所增強,但還是遠比不上採用並行架構的GPU。目前最高端的CPU只擁有6核心12執行緒,其並行計算能力遠不如GPU。GPU更適合並行計算
由於CPU與GPU在架構完全不同,軟體要在GPU上運行,就必須通過特定的環境或接口。為此,NVIDIA方面發布了CUDA技術,並放出了相應的開發包,程式設計師通過這個接口進行軟體開發,軟體就能在GeForce 8系列及其以上的顯示卡上運行。作為NVIDIA顯示卡市場上最大的競爭對手,AMD方面當然不甘落後,在08年12月發布了ATI Stream流處理技術回應NVIDIA的CUDA。這樣,NVIDIA與AMD-ATI的競爭便從3D性能擴展到GPU並行計算上了。
ATI Stream技術是一套完整的硬體和軟體解決方案,這個概念最初在2005年依據R580核心的流處理加速卡提出。隨後ATI被AMD收購,異構計算概念被越來越多的提及,Stream技術被定義為能夠使AMD圖形處理器(GPU)與系統的CPU協同工作,加速處理圖形和視頻以及其他大量套用。該技術使更加平衡的平台能夠以前所未有的速度運行要求苛刻的計算任務,為最終用戶提供更出色的套用體驗。 
AMD-ATI的ATI Stream流處理技術可使Radeon HD系列顯示卡發揮出其強大的並行計算能力。現在AMD的高端顯示卡Radeon HD5970擁有3200個流處理器,可以簡單理解成擁有3200個核心,通過ATI Stream便可發揮這3200個核心的計算能力。
相比於CUDA基於nVIDIA自身的封閉架構不同,ATI stream技術是基於開放標準的,因為幾乎所有曾經存在的私有標準都消亡了。目前還活著的私有標準幾乎只剩下Nvidia的CUDA了,而同樣是Nvidia的標準,其早先的Cg已經看不見身影。相對的,開放性標準中,DirectX、OpenGL都是為我們所熟知的,而DVI、CDP、JEDEC也都還確實存在著。ATI企業級計算的產品專家Ed Buckingham表示,他們認為未來的標準將必然傾向於開放式,而其中最有前途的就是OpenCL和DirectX。因此ATI stream技術自從其誕生之日便是基於OpenCL和Directcompute這些開放標準。
OpenCLOpenCL
CUDA的優勢在於給程式設計師提供了一個類似C語言的編程環境,使套用人員可以很容易的對GPU編寫程式。ATI Stream也提供了類似的工具,叫做Brook+。程式設計師只需要像以往一樣編程,通過調用接口程式,即可調用GPU進行大規模運算
Brook+是AMD出的顯示卡程式語言,它和NVIDIA提出的CUDA C是對應的。只不過CUDA的基礎是C和C++,而brook+是彙編。brook+環境下寫程式不是那么容易的,畢竟它屬於低級語言,但是那是程式設計師和推廣的問題,一旦寫出來了效率通常都很高的。所以說彙編是底層語言,效率很高但是兼容性和簡易型較差。

Fusion理念

無論是NIVIDA還是AMD,都意識到GPU強大的運算能力並不只在3D遊戲領域,在其他需要類似大型運算的領域裡,GPU同樣可以勝任,因此便有了GPU用於並行計算的概念。但與NVIDIA力推GPU最為重要或Intel堅持CPU更重要不同,AMD認為CPU和GPU同樣重要。AMD認為,GPU可用於大型運算,而CPU則繼續負責傳統的串列運算。只有兩個配件相互配合,發揮自己的優勢,才是最最佳化的平台,這也是AMD的“Fusion”理念。通過ATI Stream這項技術,AMD可以讓GPU和CPU聯合起來進行通用計算,大大提高計算機的速度。
FusionFusion
GPU相對CPU具有著兩方面的特性,一是具備龐大的並行運算能力,任務越複雜,越能體現其運算優勢;另一個特性是因為GPU的並行能力,所以其編程環境和開發方法與CPU相比要有所不同。
AMD意識到GPU的強大運算潛力並不一定只該套用在圖形處理領域,在其他需要進行類似運算的領域裡,GPU同樣可以發揮作用。AMD認為,讓CPU充當一個指令翻譯或是將任務分解為很多小任務的工作,然後將這些任務交給GPU來運算,這會大大提高運算速度。於是有了Fusion的融合理念。
相比CUDA需要獨立的編程環境來針對GPU編程,ATI的ATI Stream SDK則是開放的。也就是說,通過後面第三方開發的接口程式,用戶甚至可以直接讓CPU充當翻譯的工作,只需要像以往一樣編程,也可以調用GPU來做大規模運算。
這個Fusion這個理念里,我們不會看到GPU取代CPU的想法,也不會看到CPU仍然把持主要計算,而讓GPU充當協處理器。實際上,GPU在某種程度上與CPU站在了一起,CPU和GPU真正融合,互相發揮長處,彌補不足,發揮更大性能。

ATI Stream技術的套用

視頻處理

AMD顯示卡驅動中自帶的ATI Video Converter便是基於Stream技術的視頻轉碼軟體,ATI Video Converter並非一個完全基於GPU轉碼的軟體,而是CPU+GPU聯合轉碼。它能夠讓AMD GPU與CPU共同加速,來一起完成以往僅有CPU參與的視頻壓縮,大大減少壓縮時間。與支持NVIDIA CUDA技術的Badaboom視頻壓縮軟體相比,ATI Video Converter擁有更好的轉換效率,並支持更多的格式,最重要的是ATI AVIVO是免費的,而Badaboom是收費的。
在視頻轉換的速度上,ATI Video Converter確實比Badaboom更快。轉換同一個視頻,HD 4870的電腦採用AVIVO僅需48秒就轉換完成,而GTX 280採用Badaboom則需要114秒。當然,速度不是唯一的標準,質量更為重要,ATI Video Converter的壓縮質量目前還比不上Badaboom,這點仍需要改進。
不過需要注意的是:ATI Video Converter並非調用顯示卡中的流處理器來進行轉碼,而是調用UVD引擎進行視頻轉碼。因此不同檔次的ATI顯示卡在使用ATI Video Converter轉碼時,能力是一樣的。而Badaboom是調用nVIDIA顯示卡的CUDA單元(流處理器)參與轉碼,CUDA單元多的顯示卡轉碼就會更快。
除了驅動自帶的ATI Video Converter之外,CyberLink公司的威力導演系列軟體,魅力四射系列軟體、ArcSoft TotalMedia公司的Theater軟體等均支持ATI Stream技術。

物理加速

nVIDIA公司非常成功的將PhysX物理引擎,通過CUDA技術與Geforce顯示卡相結合,誕生了nVIDIA PhysX物理加速技術。為了與之競爭,AMD推出了基於ATI Stream的“開放物理計畫”與之抗衡。開放物理計畫聯合了HavokBulletPixelux DMM三種物理引擎,基於OpenCL標準和ATI Stream技術,將AMD GPU中強大的並行計算能力運用到遊戲中去加速物理計算。同時開放物理計畫也貫徹了Fusion理念,由CPU+GPU聯合進行物理計算,GPU負責柔性材料模擬、流體模擬、爆炸模擬等大計算量的物理模擬計算。
開放物理計畫開放物理計畫
開放物理計畫尚沒有遊戲支持,但是已經不斷有新的DEMO在各個場合進行展出。

科學研究

ATI與史丹福大學合作,在Folding@Home研究項目中利用ATI Radeon X1900作運算加速。這是GPU第一次用於科學研究計算。在AMD收購ATI之後,雙方繼續進行合作。迄今為止,全球有不計其數的AMD GPU正在基於Stream技術摺疊蛋白質,以幫助科學家攻克人類疾病。
Folding@HomeFolding@Home
同時,ATI Stream技術在石油勘探,地震研究等方面也有很多套用。中國超級計算機天河一號”便使用了2560塊4870x2顯示卡做並行計算處理器,這同樣是基於Stream實現的。
Brown Deer技術公司是一個通過地動波來勘測石油天然氣的公司。在用到ATI Stream技術以後,該公司發現其地動波的實時運算比用CPU快了120多倍。而同樣,在中國高性能計算年會上獲得第二名的中國科學院的研究生用ATI Stream技術在HD 4870顯示卡上計算中型到大型規模的矩陣,在疊代次數達到3000以上的時候比CPU提升了至少27倍的效率。

其他方面的套用

Excel2010、PowerPoint2010、Internet Explorer 9、Adobe Flash 10.1等軟體均加入了對ATI Stream技術的支持。

相關詞條

熱門詞條

聯絡我們