现在的位置: 首页 > 综合 > 正文

cuda和Cg

2018年05月05日 ⁄ 综合 ⁄ 共 693字 ⁄ 字号 评论关闭

from:http://hankjin.blog.163.com/blog/static/33731937201031001359341/

首先,这两个都是GPU技术,他们的全称是

GPU: Graphics Process Unit
GPGPU: General Purpose Graphics Process Unit
cuda: Compute Unified Device Architecture,
Cg: C for Graphics
Cg是一种GPU的图形图像渲染技术,可以用来代替传统的OpenGL固定管线技术,从而加速绘制。
Cuda是一种使用用GPU进行单机并行计算的技术,可以使程序并行运算,从而加快程序运行速度。
理论上讲,应该先有Cg,再有的Cuda,因为GPU首先是GPU,然后再是GPGPU,而且并行计算也是图形渲染的一种,可以用Cg实现许多Cuda运算。
所有的东西,都是建立的GPU硬件结构的基础上的,明白了GPU的硬件结构,再理解Cg和Cuda就是水到渠成了。
现在的CPU一直在喊加速,多核,并行,其实很简单,人多力量大嘛,可是CPU设计的初衷就是要做一个超人,而GPU则不然,有人将GPU比做农民起义,最基本的图形图像运算要求就是将整个屏幕的点同时输出,所以GPU天生就是进行X*Y个点同时处理的,如果将X*Y的矩阵当做一个屏幕点,每个矩阵的值当做点的颜色,着色的过程就是运算,所以Cg着色和Cuda在本质上讲就是一样的


当然,Cg是做渲染的,更侧重坐标变换和颜色计算;Cuda是做运算的,更注重算法复杂度。
但他们本质是用的GPU流水线,所以优化的本质是相同的:减少分支指令,合理分解和简化计算。

抱歉!评论已关闭.