【走近CUDA】_并行计算与CUDA简介

并行计算

随着硬件技术的发展,并行计算已经逐步走进大家的生活。你在用社交软件聊天的同时,可能需要浏览网页,播放音乐。而只能打电话的手机,已经不是大家期待的手机。这些都受益于并行计算的发展。

早期的并行计算主要是在CPU上完成的。提升CPU的性能主要有以下两种方式:

        1)提高处理器的时钟频率

        2)增加处理器的数量

早期的GPU主要负责对显示器做图形的渲染。而在图形处理上执行通用计算是一个新概念。将GPU用于图形渲染以外领域的计算成为GPGPU(General Popose computing on Graphics Processing Units)。早期这类计算仍然需要伪装为图形渲染问题,通过像素着色器根据像素在屏幕上的位置以及输入颜色、纹理坐标等信息,为屏幕上的每个像素计算出一个颜色值。将这些输入的颜色换为任意数据,对每个像素着色器进行编程从而对输入值执行任意计算,计算结果交回GPU作为像素的最终“颜色”。这些任务类似于标准的渲染任务,但要将GPU用于通用计算,却存在以下几个问题:

        1)  输入的限制(只能是颜色值)

        2)  内存的写入限制

        3)  浮点数据的运算

        4)  异常处理

此外,用户只能通过图像API(OpenGL或DirectX)与GPU进行交互,比较复杂。

CUDA

CUDA(Compute Unified Device Architecture)则很好的解决了这些问题,使用统一的着色器流水线使得执行通用计算的程序能对芯片上的每个数学逻辑单元进行排列。支持CUDA的GPU的ALU满足IEEE单精度浮点运算的需求,且GPU上的执行单元能任意的读写内存。这都保证了CUDA能高效的执行通用计算。

nVidia采用工业标准的C语言,增加一部分关键字在支持CUDA的特殊功能,还提供专门的硬件驱动程序来发挥其大规模计算功能。用户不再需要了解OpenGL或DirectX就可以直接用CUDA执行通用计算。

2006年的GeForce 8系列开始支持CUDA架构。只有在Geforce 8及其之后的GPU版本才能通过Cuda toolkit中的QueryDevice。

2008年的GeForce 9系列支持CUDA计算能力1.1,GT200支持CUDA计算能力1.3。Tegra系列主打移动处理器市场。

之后还发布了Quadro系列(用于图形工作站)和Tesla系列(用于高性能通用计算的产品线)。

 

参考资料:

        nVidia官网:http://www.nvidia.cn/page/home.html

文档:(需要文档的请留言)

        CUDA_C_Best_Practices_Guide 4.0

        CUDA_C_Programming_Guide 4.0

       【中文版】GPU高性能编程CUDA实战

       【英文版】CUDA By Example: An Introduction to General-Purpose GPUProgramming 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值