深入了解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  虚拟机技术,其实可以算在编译系统中,不过这里也牵扯到不少架构的东西,这是未来云计算的关键,必须读~~!

  

你可能感兴趣的:(IC,Design)