新電腦世代 - CPU加GPGPU的組合

>> 2009年5月31日 星期日

如果說Windows95當年是使用者經驗(User Experience)的一個大躍進,那這個大躍進的成功背後兩大誘因:
一)大部份中央處理器(CPU - Central processing unit)已提供了浮點運算器(FPU) - 由於80486後的CPU已整合了浮點運算器而不再需要另外購買數位輔助處理器(Coprocessor),所以其後大部份軟件都直接使用浮點運算指令,因此大大增強了電腦浮點運算能力。
二)繪圖加速晶片的出現 - 當年出現了很多專爲Windows設計的繪圖加速卡,其原理是用硬件來處理圖像操作好像BitBlt等,因此使用者介面(UI - User Interface)的反應快了很多

等了這多年,Windows的使用者經驗(User Experience)好像再沒有多大的突破,我認爲原因之一是沒有相關的硬體技術的突破,新版本的Windows只會用愈來愈多的系統資源(System Resource),令系統愈來愈慢。而GPGPU(General-Purpose Graphics Processing Units通用繪圖處理器)和OpenCL(Open Computing Language開放運算語言)的出現會是一個新突破.

傳統來說CPU(Central Processing Unit)和GPU(Graphic Processing Unit)兩者河水不犯井水。CPU是十八般武藝樣樣通,尤其擅長處理無可預知的任務;GPU則是精通一種任務,尤其是高度平行(highly parallel)的任務。GPGPU的慨念是以GPU來進行通用的計算,運用GPU裡內含的數十個(高階晶片裡甚至有數百個)處理核心,來加速處理任務。這些任務若交給中央處理器(CPU)來做,其執行效率可能比較差。因此GPU可以作爲CPU的協同處理器,GPU的高速運算能力讓他們在許多不同的應用上都能有很大的助益。

隨著市售的GPU可程式化程度的提升,愈來愈多的應用將會出現。這正是CUDA和OpenCL切入之處,讓開發者能有效率地利用目前閉鎖在繪圖處理器內的運算效能。CUDA是Nvidia提供用來的程式化GPU的API,而OpenCL是一種支援異質運算(heterogeneous computing)的程式設計環境。所謂異質運算,意指混用多核心的CPU與繪圖處理器(GPU)。在和NVIDIA的合作下,Apple於2008夏季向Khronos遞交OpenCL的提案,希望能為GPU運算打造一個跨平台。NVIDIA的內容發展副總裁Neil Trevett擔任OpenCL工作小組的主席一職,Nvidia的軟體研發團隊並直接為此組織提供支援。支持OpenCL的廠商包括Apple(蘋果)、AMD、Intel(英特爾)、Nvidia等,雖然Microsft(微軟)不支持OpenCL,但其程式設計介面(API)DirectX 11亦將會提供使用GPU的API。

已有軟件廠商利用CUDA技術,研發了一個Adobe Premiere Pro的外掛程式。通過外掛程式,使用者就可以利用GPU去加速H.264/MPEG-4 AVC的編碼速度。速度是單純利用CPU作軟件加速的7倍左右。而Mathematica亦將支援使用CUDA來提高計算速度。其它可受惠的應用還包括經常使用FFT(Fast Fourier Transform快速傅立葉轉換)的圖像處理(e.g. JPEG編碼), SSL編碼, Realtime harddisk Encryption等。

OpenCL將成為蘋果作業系統(Snow Leopard)的一部分,而DirectX 11將成為Windows 7的一部分(我相信未來Linux亦會有針對 OpenCL 的支援)。這對消費者的意義是,如果你的筆記型電腦內建Nvidia GPU或ATI (AMD) GPU,作業系統就會跑得比較快,因為作業系統基本上是用兩個處理器來執行。這個CPU加GPGPU的組合,對運算力有相當要求的 H.264 技術有很大的幫助,因為在一些較低規格的電腦,有圖形處理器的幫助,可以很流暢播放 H.264 的片段。就算在智能手機都有高速的圖形處理器和數碼訊號處理器,藉這些硬件來彌補手機處理器運算能量的不足。

使用CPU加GPGPU的組合是電腦史上的其中一大重大改變,短期內未必會改變電腦業界的發展,但長遠而言對電腦業界的版圖,會帶來相當大的改變。但令用戶更充分使用硬件的資源,無論如何都會是一件值得高興的事。

Read more...

從另類搜尋引擎Wolfram Alpha說起到圖靈機(Turing Machine)

>> 2009年5月17日 星期日

Wolfram Alpha是一個很特別的搜尋引擎,這個搜尋引擎最近相當受到網路界的矚目,許多網路觀察家都期待這個產品會成為挑戰 Google 的明日之星,媒體也利用大篇幅來報導這個即將上市的搜尋引擎,大家期待的程度真可說是未上市先轟動。但其實Wolfram Alpha的功能一點也不像Google,更不能說上它是谷歌(Google)殺手。


一般來說Google,Yahoo, MSN Live Search等搜尋引擎的用途是以文字搜尋相關網站 (i.e. 你輸入一個keyword,搜尋引擎幫你從茫茫網站中找到和你的keyword相關的網頁),但Wolfram Alpha的真正用途是查找數據,並從找到的數據進行運算,最後用圖表顯示資料。

可能你沒聽過Wolfram Research這間公司但或許會聽過Mathematica這個有名的數學軟件,Wolfram Alpha就是出品Mathematica的天才創辦人斯蒂芬·沃爾夫勒姆(Stephen Wolfram)的另一傑作。

斯蒂芬·沃爾夫勒姆(Stephen Wolfram)是廣泛地認為是當今科學和技術計算中最重要的革新者。他1959年出生於倫敦,先后在伊頓公學,牛津大學和加利福尼亞理工學院學習。他15歲時發表了他的第一篇學術論文。20歲就在加利福尼亞理工學院獲得了理論物理的博士學位。Wolfram早期的科研工作主要在高能物理、量子場理論和宇宙論方面,包括幾個當今著名的結果。Wolfram 從1973年起開始使用計算機,並且很快成為正在形成的科學計算領域中的領導者。1979,他開始構造SMP——第一個現代計算機代數系,並於1981年開始商業化發行。

由於早期在物理和計算方面的科研工作,1981年Wolfram成為最年輕的MacArthur獎學金獲得者。1981年後期, Wolfram 開始了一個雄心勃勃的新的科學方向:發展本質復雜性的一般理論。 Wolfram的關鍵思想是使用計算機實驗來研究稱作細胞自動控制的簡單計算機程序的行為。1982年,他首先獲得了關於復雜性原因的一系列令人吃驚的發現。Wolfram的關於細胞自動控制的論文的發表導致了科學思維的較大的轉變,並提出了一個新的科學領域的基礎,Wolfram稱該領域為『復雜系統研究』 。

20世紀80年代中期,Wolfram繼續進行復雜性的研究,發現了大量的計算和本質間的基本聯系。提出了諸如計算不可化簡性的概念。Wolfram的工作導致了廣泛的應用——提供了稱為復雜性理論和人工生命的流行運動的主要科學基礎。Wolfram本人使用自己的思想開發了一個新的隨機生成系統和計算流體動力學的新方法——這二者現在被廣泛的使用著。在他的復雜系統研究的工作之後,Wolfram於1986年創建了該領域的第一個研究中心和第一本雜志。接著,在非常成功的學術生涯——首先在加利福尼亞理工學院,然後在普林斯頓高級研究學院,最後在伊利諾斯大學作為物理、數學和計算機科學的教授。其後Wolfram 開辦了Wolfram Research公司。

Wolfram於1986年后期開始開發Mathematica。Mathematica第一版於1988年6月23日發行,作為計算領域的主要進步,立即得到了熱烈歡呼。在隨后的幾年中,Mathematica的流行度迅速增長。Wolfram Research公司成為世界軟件工業的領導。被公認為在技術和商業兩方面都是優秀的。在Mathematica第二版於1991年發行後,Wolfram開始將他的時間分配到Mathematica開發和科學研究兩個方面。從Wolfram Research公司建立起,Wolfram 一直是 Wolfram Research公司的總裁和執行總裁,並且仍然自己負責Mathematica核心系統的設計

2002年,Wolfram出版了一本書"A New Kind of Science"《一個種新科學》,書中他設定了一種特殊的圖靈機(Turing Machine):反復運用最簡單的法則,最後會發展成為一個可解釋宇宙現象的復雜模型。(圖靈機是英國數學家阿蘭·杜林(Alan Mathison Turing)于1936年提出的一種抽象計算模型,其更抽象的意義為一種數學邏輯機,可以看作等價于任何有限邏輯數學過程的終極強大邏輯機器。)

2007年5月,Wolfram 2,3圖靈機研究獎設立,獎勵給証明它是普適的或不是普適的人。2007年10月來自英國伯明翰的一名 20 歲大學生 Alex Smith 已經証明 Wolfram 2,3 圖靈機是通用的。Alex因此獨得了 Wolfram圖靈機研究獎的 25000美元獎金。你可以在這裡閱讀証明的 PDF 版本。現在我們可以確定地球其實可以用一台超級電腦來模擬。

Read more...

  © Free Blogger Templates Joy by Ourblogtemplates.com 2008

Back to TOP