中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 15927|回复: 41

GPU 硬件设计该怎么学习?

[复制链接]
发表于 2009-6-14 12:44:54 | 显示全部楼层 |阅读模式
尤其是对初学者,我觉得可以参考做相关研究的大学的博硕士论文,一般会讲的比较仔细一点,基于他们的理解,从arch到实现都会提到

我是小菜鸟,不知道版上其他高手怎么看这个问题
发表于 2009-6-14 19:46:19 | 显示全部楼层
楼上大牛很谦虚,我说说自己浅薄的看法。我觉得作GPU不能光盯着Arch,不然很容易就变成到知其然但不知其所以然……

我07年中旬开始接触Graphics的,之前也是做IC Front-end也搞Processor Urach。过来刚开始也是上来就要搞所谓的Arch,以为和CPU的那套一样。但是后来发现,这样速成到最后你会发现你没有办法看到未来,GPU的未来是什么?OGL es规范只是过去时,不是未来。你永远没办法提出自己的体系结构,GPU的体系结构是完全基于应用的,作为Research来说,还有什么比这个更痛苦?(不考虑钱的情况下 赫赫 :〉)
发表于 2009-6-15 17:02:41 | 显示全部楼层
呵呵,同意IC.expert的观点,我现在正试图了解一些过时的技术,也许这是一个必经的过程。对于这个,我不好评价什么,等待自我的成长过程吧。
发表于 2009-6-20 16:06:46 | 显示全部楼层
我现在也是做IC Front-end,对GPU有兴趣,ic.expert 大哥能否介绍点经验,该从什么地方入手呢?我之前一直从事视频方面的开发
发表于 2009-6-20 16:45:27 | 显示全部楼层
楼上大侠是H264还是Mpeg2 或是其它的标准?我开了一个视频/图像压缩技术的版面,如果有兴趣,欢迎楼上光顾~

多写写3D程序先,其他的日后再说~
发表于 2009-6-20 23:52:44 | 显示全部楼层
我做解码,multi-format,主流格式都做过一点点,不过解码相对没啥技术含量,就是根据spec或者c code用硬件实现就可以了。

3D程序是指软件方面吧,有没有什么推荐入门的书籍或者网站什么的,谢谢了!一直以来都只是看过c,写verilog,没写过软件方面的代码,还算个门外汉呢
发表于 2009-6-21 12:06:01 | 显示全部楼层
其实视频编解码还是有很大技术含量的,如何获得更好质量以及更好的压缩比?比如H263和H264之间怎么权衡?为什么会产生不同的效果?

其实图像这边还是有很多事情要做的,比如我们能否从OpenCV中抽象出来一个Programming Model?从而抽象出来一个硬件?还比如我们能否通过更加灵活的Image-based Rendering来提高视频压缩比?

D3D/OGL的书很多,你在China-pub上找一本就好了:〉
发表于 2009-6-21 16:44:49 | 显示全部楼层
谢谢老大
发表于 2009-6-21 20:43:09 | 显示全部楼层
楼上大牛可以发一些资料到Image/video Compression版面阿,这样不比灌水强 :〉

其实图像编解码还是很重要的一个方向。要深入理解需要些时间。举个例子,我们都知道图像视频技术都是使用YUV而非RGB。为什么呢?为什么图形处理里面不时用YUV?

首先,从技术的兼容性角度考虑,YUV可以使得黑白-彩色技术的过渡更加平滑。但是这并不是最重要的。最重要的是YUV可以表达更大的色彩范围。相比于RGB,YUV的Y相当于模拟了一种浮点机制。这使得我们可以在一幅图像里面可以同时轻松的表现极亮和极暗的区域。当然,RBG也可以控制显示器表现极亮和极暗的区域,但是并不轻松。所以在DX9以前的游戏里面,当PS还是定点的时候,我们是看不到任何的HDR效果的。但是现在我们通过HDR技术,可以实现比YUV更大的动态颜色域!所以图形上,在对像素颜色计算的时候我们始终不需要YUV。但是代价就是chip的Gate Count以及Power。

其实所有的东西都是有联系的~~ 图形和图像并不分家~
发表于 2009-6-26 15:53:30 | 显示全部楼层

回复 #9 ic.expert 的帖子

video compression 里面用 YUV也是针对人眼对亮度信号比较敏感,对色度信号不是很敏感的特点,这样才有可能对色度信号进行压缩,算是基于perceptual的compression吧
发表于 2009-6-26 19:50:55 | 显示全部楼层
恩,是的。楼上分析的很到位!正是利用这种技术所以视频传输才可以相对比较便宜的进行压缩和解压缩计算。不然都像GPU一样是Float32 * 4 lane,那就麻烦了。这也是自DX8以后GPU功耗激增的重要原因之一。

不过像基于“DCT+霍夫曼编码”的这种频域空间的图像压缩技术(可能术语不专业,大牛及时指正:〉),如JPEG,也很难用在GPU的纹理压缩当中,主要原因是解压缩的成本太高了。不过我对Jpeg没有过什么Research的研究,不知道如果把8*8的像素区域缩小到2*2或者是4*4,会在压缩率上有明显降低么?反正8*8有点困难。不过好像仍旧有一些带有Stream Architecture特性的Texture Cache来试图解决这个问题。
发表于 2009-6-29 11:07:55 | 显示全部楼层

回复 #11 ic.expert 的帖子

如果把8*8的block size 缩小到4*4,在压缩率上应该不会有明显改善,因为DC系数就占了很大一部分空间。在H.264里面最小用到了4*4的块,但是编码的复杂度也大了很多。
发表于 2009-6-29 16:34:32 | 显示全部楼层
恩,这会大大的打击压缩比~~ 不过图形中的纹理压缩比较差,是基于调色板的,所以Block Size一般都在4*4左右。最关键的好处在于如果想解压缩某个Pixel的颜色,是不需要访问4*4 Block内其他Pixel的。这显著的减小了计算量以及内部带宽。其实外部带宽也省不了多少,毕竟Cache/Local Storage和Off-chip Memory之间都是按照Block来相互传输数据的。主要还是节约计算量~
发表于 2009-6-29 21:18:26 | 显示全部楼层
不过我相信现有的纹理压缩技术还是不能永坐江山的。随着集成电路技术的发展,计算资源的价格越来越便宜,相比较通信的价格越来越贵。所以更好的更高的压缩比必然会有取而代之之势。而且随着集成电路技术的增长,纹理解码单元也不比要用完全的Fixed Function来实现,在未来会向Fixed和Programmable混合的方式过渡。这不但会加速GPU上运行更宽口径应用程序的能力,而且能够使得GPU获得解码诸如Jepg这种纹理压缩的能力。总得来说,这一切的背后的主宰就是集成电路技术的变化,以及应用的需求。
发表于 2009-6-29 22:39:46 | 显示全部楼层

回复 #14 ic.expert 的帖子

集成电路现在都成了附属行业了,仅仅是各种技术架构的硬件实现而已了啊。。。
发表于 2009-6-29 23:28:26 | 显示全部楼层
IC Design还是很重要的,如果没有Integrated Circuit上的限制,我们就不会有Memory Wall 、Power Wall等问题了,也不会知道计算一次MUL的功耗有可能还没有读一次DRAM的功耗大。如果IC技术允许我们大量的使用CAM,那么天下也许早不是冯诺依曼和图灵的了。 如果通信的代价可以规约,那么Scalability又是何难事呢?

集成电路和未来的集成光路技术还是很重要的 :〉 所谓的神圣的Arch Desing,其实不过就是在Application和IC Impelment之间作一些和稀泥的事情。所以就算Archtect可以被比喻为创造Computer System的“世界”的上帝,那这个上帝也要识时务,不然你构想出的“天堂”,也许在Developer眼中就是地狱……
发表于 2009-7-19 12:54:25 | 显示全部楼层
“和稀泥”也是要对上下两层的技术有深入的了解才做的了的,这正是我等努力的方向。
关于“计算一次MUL的功耗有可能还没有读一次DRAM的功耗大”,斑斑能给个参考链接么?
发表于 2009-7-19 13:14:50 | 显示全部楼层
具体我忘记了,很久很久以前看得,我现在很少有时间看Semiconductor技术相关的Paper了~~

这个其实不用看数据,脑子想一下也知道阿,你算一下MUL运算的动态功耗,再算一下驱动一次Memory Access的功耗花费,即便从电容性的角度考虑,也明显不在一个数量级上。
发表于 2009-12-27 22:02:58 | 显示全部楼层
回复 9# ic.expert

大哥你对图形图像的理解实在太深邃了,佩服佩服
发表于 2009-12-27 22:18:31 | 显示全部楼层
回复 #9 #19 ic.expert 的帖子

视频处理中用YUV主要是因为U分量和Y分量可以压缩吧,譬如没有压缩的我们就叫做4:4:4,有压缩的的有4:2:2或4:2:0等几种。很多情况下我们用4:2:0的视频质量就很好了,没必要用4:4:4的,因为人眼对chroma的分辨能力不强。

评分

1

查看全部评分

发表于 2010-3-7 22:19:52 | 显示全部楼层
集成电路现在都成了附属行业了,仅仅是各种技术架构的硬件实现而已了啊。。。 ...
matrixwayne 发表于 2009-6-29 22:39

NO,永远不会是“XXX而已”,一个IC公司想在这个领域赚钱,最终能依靠的可能就只是这个“而已”。
所作的一切折衷都是最终的目的都是为了省钱,在商业领域省钱就等于赚钱!

评分

1

查看全部评分

发表于 2010-3-12 21:33:27 | 显示全部楼层
太佩服论坛中的牛人了,我也想入行,但不知道如何起步。最近看到威盛招ASIC验证和3D架构的实习生,争取能试试。

评分

1

查看全部评分

发表于 2010-3-14 16:11:39 | 显示全部楼层
太佩服论坛中的牛人了,我也想入行,但不知道如何起步。最近看到威盛招ASIC验证和3D架构的实习生,争取能试 ...
apolloeleven 发表于 2010-3-12 21:33



S3 GPU Arch我记得好像是写一写 C model,还可以多接触一些图形算法。比较偏重软件。ASIC验证更偏重硬件。也没有什么优劣之分,看大牛的喜好选择~~
发表于 2010-5-4 12:25:06 | 显示全部楼层
即将做graphics硬件设计,学习中!
发表于 2010-5-4 12:55:32 | 显示全部楼层
即将做graphics硬件设计,学习中!
dreamwing 发表于 2010-5-4 12:25


大牛要做哪个方面的设计呢:〉 学习一下~~~
发表于 2010-5-25 01:00:28 | 显示全部楼层
Thanks......
发表于 2010-6-6 23:59:52 | 显示全部楼层
业余的人路过
发表于 2010-6-7 13:40:53 | 显示全部楼层
不过我相信现有的纹理压缩技术还是不能永坐江山的。随着集成电路技术的发展,计算资源的价格越来越便宜,相 ...
ic.expert 发表于 2009-6-29 21:18


Texture load/filter在Graphics中之所以用fixed function实现,是因为其运算量巨大,需要专用电路来优化。通常来说texture decompression是在写L1 cache之前实现(S3),或在从L1 读出data后再做decompression(AMD)。总之是在filter之前。不知道你说的programe实现是不是用shader,如果是的话,跟现在通常的pipe顺序就不一致了。
   

评分

1

查看全部评分

发表于 2010-6-7 14:36:16 | 显示全部楼层
我下学期要学计算机图形学,请问学图形学是不是一定要对硬件有较好的了解才行啊?
发表于 2010-6-8 17:01:51 | 显示全部楼层
S3 GPU Arch我记得好像是写一写 C model,还可以多接触一些图形算法。比较偏重软件。ASIC验证更偏重硬 ...
ic.expert 发表于 2010-3-14 16:11

大牛,Cmodel这个词都知道的这么精确~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-6-24 03:19 , Processed in 0.059524 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表