(轉)深入瞭解GPU--學習教材 (摘自opengpu) . .

(轉)深入瞭解GPU--學習教材 (摘自opengpu) . .

1. 入門:

   NEHE  http://nehe.gamedev.net         中文版  http://www.owlei.com/DancingWind/

   OpenGL Superbible 4ed      《OpenGL超級寶典(第4版)》

2.OpenGL Shading Language 2ed
這本書有中文版,但是我強烈不建議看,除非你不像學會這門語言。上一本書主要講解了API使用,但是對於GLSL講解得不多。所以在用這本書打打牢基礎。Shader Programing是現代圖形硬件的關鍵,有相當多的算法仰仗SHader,必須給與足夠重視。


3.《OpenGL編程指南 7ed》
這本書俗稱紅寶書,沒有必要專門看,但是作爲工具字典書還是很有必要的,查一查API使用。其實最好的API查閱還是看OGL Spec~~~  :>而且要設計GPU的話,OGL/D3D Spec也是要反反覆覆看個三四遍得!(順便提一下,微軟的D3D Spec / Ref Code是需要和微軟籤NDA協議才能拿到手的,我記得浙大CAD那邊偷偷搞到手過這些文檔是源代碼,後來泄漏了,還被微軟發信警告了某公司~~)

對於D3D編程來說看微軟的SDK文檔就夠了也不用折騰去買什麼書,微軟SDK文檔就是最好的書籍,還免費~:〉


4. 《3D繪圖程序設計:使用Direct3D 10/9和OpenGL 2.0》
接下來就是練習各種圖形算法以及效果,這裏先挑一本簡單的書聯繫一下,這本書寫得非常工業化,都是相對來說遊戲中比較實用的技術。儘管錯誤不少,但是學習是足夠了。到此爲止,你對圖形學的學習算是度過第一階段了,基本完成了入門。接下來要看一系列的中級教程。


5.GPU Gems 1/2/3
這是NV組團出版的一本書,可以說是論文集,包含GPU的各個領域,寫得非常好,這三本書必讀。這是閱讀圖形學論文的前提。


6. Graphics Gems 系列
這各系列的書雖然有些老,但是也很經典,多多瞭解從前的設計,從前的圖形算法,有助於理解CG的演變以及近些年來優化的主要方向~~

7.ShaderX 系列
應朋友的要求把這本書加上,這個系列的書我還沒來得及看過,(我OUT了……)懂得朋友們可以評價一下~

8.Real-time rendering 2/3ed
本書絕對必讀!!!本書在GPU Architecture中的地位堪比CPU中的《量化方法》那本書,包括Reference等論文一定也要看,都是作者精心挑選的,非常經典~~   對於自己的算法只是也是非常開闊的。

9.  Procedural Elements for Computer Graphics (2E)
《計算機圖形學的算法基礎(原書第2版)》
對於GPU架構設計來說,本書也是絕對必讀!這本書實驗必須一一過關,本書講解最底層的圖形算法,這些算法不依賴於任何硬件,雖然年代久遠,但是在實時圖形學裏OGL仰仗的大部分圖形算法不也都是七八十年代的麼,包括Z/S-buffer/Edge function Rasterization/vertex Transform /Ground Shading等等……所以本書必讀!

===============計算機架構師=====================

第一階段步入先做一個CPU架構師~[/b]

首先是計算機體系結構(Computer Architecture),因爲無論是GPU還是CPU歸根到底都是處理器(Processor),而計算機體系結構就是講解處理器如何工作以及如何權衡取捨各個模塊特性參數的一門課程。主要參考書目如下:(讀書順序如編號,參考書目可以根據興趣穿插在其中~)

1.計算機組成和設計:硬件/軟件接口
Computer Organization & Design:The Hardware/Software Interface
本書就不多說了,組成原理是體系結構的專業基礎課程,本書必讀!

2.《大型RISC處理器設計——用描述語言Verilog設計VLSI芯》
本書的閱讀要包括沒有翻譯的高級本,這本書是教你如何組一個工業級別的CPU。可以獲得很多硬件上的定量分析的知識。

3.量化方法第四版英文版
讀要包括附錄和習題以及參考論文,這本書是體系結構領域的聖經,不讀不足以成學過體系結構。

4. Modern Processor Design:Fundamentals of Superscalar Processors
《現代處理器設計——超標量處理器基礎》
這本書也必須做習題,本書講解了很多處理器設計的實例,要結合書後的參考論文一一閱讀。

5.  Chip Multiprocessor Architecture: Techniques to Improve Throughput and Latency
本書主要講解了面向Web Server的事務處理器的架構應該如何權衡,書中的研究成果來自SUN Niagara得第一手材料。非常具有代表性~書也不厚,可以當做小說來看。

6. Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
作爲VILW的代表作,必須閱讀,其實對VLIW支持可以算在編譯器領域,因爲VLIW處理器在架構上沒有太多難懂的地方。不過這裏作爲預覽,稍後再編譯技術學習的時候可以輕鬆一些。

7. VLSI Digital Signal Processing Systems:Design and Implementation
本書作爲DSP裏面最經典的微體系結構教材,必讀!這本書很工程,沒有太多廢話,寫作效率很高~~~

8.  Stream Processor Architecture
本書主要是斯坦福的對於流處理器設計的總結,其中大部份人都去了AMD或是NV做架構,對於研究GPGPU來說,本書必看!從目前已經有過的研究來看,GPGPU還是難以勝任流計算之外的通用計算任務。

9. Parallel Computer Architecture A Hardware/Software Approach(Second Edition)
本書作爲體系結構擴展學習的材料,對於並行計算機講解的相當深入淺出,雖然年代老了一些,但是技術是不分先進與落後的。要博觀約取,日後才能厚積薄發~~。此書我沒有通讀,所以留下遺憾,導致並行架構方面的知識大大欠缺,不足引經據典。日後有時間要補上~~

10.See MIPS RUN Second RD
《MIPS體系結構透視(英文影印版)(第2版) 》
這本書其實不是講解CPU如何設計的,但是講解了CPU如何與軟件互動,作爲一本補充閱讀的材料是非常的好的。即便軟件工程師也推薦閱讀。

另外,還包括各種總線技術,畢竟總線技術在未來的處理器以及處理器陣列中有不可或缺的意義!必須要搞明白,包括AXI、OCP、PCI、PCI-E,之後就可以看一些關於片上網絡(Network on Chip)的書籍和論文(主要是論文。)

另外還包括網格等技術相關的書籍和論文都要多多閱讀。體系結構的書籍還是相當多的,數目很多,面向方向包括目前非常火爆的低功耗技術如何與處理器架構聯繫在一起,也包括專門用於網絡傳輸的網絡處理器,容錯技術,可重構技術等。一腳下去深不見底……學無止境的。所以讀書前要確立好目標,千萬別看什麼NB就學什麼,來回換山頭。其實讀書永遠是一個人入門的階段,做到熟練之後就是大量的閱讀論文了,尤其是ACM的論文,不讀論文的話就不可能做到一個好的研究成果,因爲只有相對穩定和陳舊的理論纔回寫入書本。最新的科技都是寫在論文當中。多讀論文可以節省自己大量的時間。



ps:另外推薦幾本有代表意義的書
Computer Architecture Techniques for Power-Efficiency 必讀!未來的計算是屬於嵌入式的,所以低功耗計算是未來的趨勢~~~
Fault Tolerant Computer Architecture  研究容錯體系結構必讀,未來的處理器必定會建立在容錯片上網絡的基礎之上,這個技術對於Manycore來說必不可少。
Network Processors_Architectures, Protocols and Platforms  網絡處理器,可以觀摩一下另一種架構~~ :>
Virtual Machines: Versatile Platforms for Systems and Processes  虛擬機技術,其實可以算在編譯系統中,不過這裏也牽扯到不少架構的東西,這是未來雲計算的關鍵,必須讀~~!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章