複製鏈接
請複製以下鏈接發送給好友

ATI Stream

鎖定
ATI Stream Technology,中文譯作ATI流處理技術,是AMD針對旗下圖形處理器(GPU)所推出的通用並行計算技術。
中文名
ATI流處理技術
外文名
ATI Stream

ATI Stream基本信息

利用這種技術可以充分發揮AMD GPU的並行運算能力,用於對軟件進行加速或進行大型的科學運算,同時用以對抗競爭對手的nVIDIA CUDA技術。與CUDA技術是基於自身的私有標準不同,ATI Stream技術基於開放性的OpenCL標準。
ATI Stream ATI Stream
2010年10月,隨着AMD Radeon HD6800系列顯卡發佈,ATI品牌正式被AMD品牌取代。相應的,ATI Stream技術也升級更名為AMD APP技術。

ATI StreamATI Stream概覽

ATI StreamATI 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個核心的計算能力。
OpenCL OpenCL
相比於CUDA基於nVIDIA自身的封閉架構不同,ATI stream技術是基於開放標準的,因為幾乎所有曾經存在的私有標準都消亡了。還活着的私有標準幾乎只剩下Nvidia的CUDA了,而同樣是Nvidia的標準,其早先的Cg已經看不見身影。相對的,開放性標準中,DirectX、OpenGL都是為我們所熟知的,而DVI、CDP、JEDEC也都還確實存在着。ATI企業級計算的產品專家Ed Buckingham表示,他們認為未來的標準將必然傾向於開放式,而其中最有前途的就是OpenCL和DirectX。因此ATI stream技術自從其誕生之日便是基於OpenCL和Directcompute這些開放標準。
CUDA的優勢在於給程序員提供了一個類似C語言的編程環境,使應用人員可以很容易的對GPU編寫程序。ATI Stream也提供了類似的工具,叫做Brook+。程序員只需要像以往一樣編程,通過調用接口程序,即可調用GPU進行大規模運算
Brook+是AMD出的顯卡編程語言,它和NVIDIA提出的CUDA C是對應的。只不過CUDA的基礎是C和C++,而brook+是彙編。brook+環境下寫程序不是那麼容易的,畢竟它屬於低級語言,但是那是程序員和推廣的問題,一旦寫出來了效率通常都很高的。所以説彙編是底層語言,效率很高但是兼容性和簡易型較差。

ATI StreamFusion理念

Fusion Fusion
無論是NIVIDA還是AMD,都意識到GPU強大的運算能力並不只在3D遊戲領域,在其他需要類似大型運算的領域裏,GPU同樣可以勝任,因此便有了GPU用於並行計算的概念。但與NVIDIA力推GPU最為重要或Intel堅持CPU更重要不同,AMD認為CPU和GPU同樣重要。AMD認為,GPU可用於大型運算,而CPU則繼續負責傳統的串行運算。只有兩個配件相互配合,發揮自己的優勢,才是最優化的平台,這也是AMD的“Fusion”理念。通過ATI Stream這項技術,AMD可以讓GPU和CPU聯合起來進行通用計算,大大提高計算機的速度。
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 StreamATI Stream技術的應用

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技術。

ATI Stream物理加速

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

ATI Stream科學研究

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

ATI Stream其他方面的應用

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