在以前有個故事,是關于蛋白質學的。蛋白質是一種很復雜的化學分子,當細胞制造出蛋白質時,它會立即卷曲成特定形狀,,所以只有一部分會露在外面,而其他部分決定了其他蛋白質可以有什么樣的反應。如果我們能模擬出各種蛋白質的形狀,就可以利用化學知識進一步猜測,甚至設計特定的功能,比如增強免疫力,對抗癌細胞等等。但要計算蛋白質分子實在是太繁瑣,雖然數學公式就那些,但是怎么算都算不玩,得動用超級電腦日夜不停計算幾天幾夜,才能有一些成果。雖然實際工作很難進行,但科學家們采用了將一堆個人電腦拼湊出集群系統進行小規模計算,后來演變到通過網絡,將其他電腦限制的CPU拿來模擬蛋白質的折疊過程。此時有些科學家看著顯卡的強大性能,突然想到了GPU就是答案,但當時由于被幾個問題所限制,導致此成果無法快速普及。GPU的計算能力雖然是很強,但必須要對GPU的內部架構理解,才能安排數據以適當的方式進行處理,這就需要NVIDIA、ATI提供相關GPU架構資料,而且就算有了這些資料,但顯卡的驅動程式也是一個大問題。雖然當時有了OPEN GL規格,但采用OPEN GL來處理這種事情是相當麻煩的。為了做一些計算,必須要從GPU架構學起,一路學到怎么把你想的計算公式加入顯卡的驅動程式內才行,但最終的結果是比純CPU快20-40倍。
此事便促進了GPU+CPU異構架構在并行計算中的發展,目前市場上以NVIDIA的CUDA為主流,也有AMD的STREAM,以及即將入這個領域的INTEL Larrabee 。
在以前我們剛接觸計算機的時候,對于計算機的認識是從CPU開始的,當時認為只要CPU的主頻越快,計算機的性能越好。但隨著IT業的迅速發展,CPU主頻的反而是基本不變了,而是往多核的時代發展。回顧CPU歷史性的里程碑:1980年是“超標量架構”的誕生;1990年則是“流水線”的降臨;21世紀進入了多核時代,多個適當復雜度、低能耗的內核并行工作搭建了多核并行計算的硬件平臺。這預示著:未來的計算機硬件不會更寬,只會更快。
目前設計GPU+CPU架構平臺的思想是:讓CPU的更多資源用于緩存,GPU的更多資源用于數據計算。通過以下圖片對比,不難理解這一設計思想。
![寶德服務器: 寶德推出 基于CUDA的TESLA高性能計算機](http://big5.thethirdmedia.com/g2b.aspx/www.thethirdmedia.com/null.gif)