电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

CUDA架构

CUDA架构_第1页
1/13
CUDA架构_第2页
2/13
CUDA架构_第3页
3/13
第二章 C U D A 架构 2.1 CUDA 的编程模型 CUDA(Compute Unified Device Architecture),是一种由NVIDIA 推出的并行计算架构,非常适合大规模数据密集型计算。CUDA 使 GPU 的超高计算性能在数据处理和并行计算等通用计算领域发挥优势 。它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。随着显卡的发展,GPU 越来越强大,在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡会造成计算能力的浪费,因此 NVIDIA 推出CUDA,让显卡可以用于图像渲染以外的目的。CUDA的GPU 编程语言基于标准的C 语言,通过在标准 C 语言的基础上增加一小部分关键字,任何有 C 语言基础的用户都很容易地开发 CUDA 的应用程序。CUDA3.0 已经开始支持 C++和 FORTRAN。 2.1.1 主机和设备 CUDA 编程模型在设计结构上采用了异构编程的模式,将CPU 作为宿主(Host),GPU作为设备(Device),在同一个系统中可以有同时存在多个设备,但是只能有一个宿主。 在 CUDA 程序架构中,主程序由CPU 来执行,而当遇到数据并行处理的部分,CUDA 就会将程序编译成 GPU 能执行的程序,并传送到GPU。CUDA 使用被称为块(Block)的单元 ,每 个块都由一些CUDA 线 程组 成,线 程是CUDA 中最 小的处理单元 ,将这 些 较 小的子 问 题 进 一步 划 分为若 干 更 小的细 粒 度 的问 题 ,我 们 便 可以使用线 程来解 决 这 些 问 题 了。对 于一个普 通的NVIDIA GPU,其 CUDA 线 程数目通常能达 到数千 个甚 至 更 多,因此,这 样 的问 题 划 分模型便 可以成倍 地提 升 计算机的运 算性能。GPU 是由多个流 水 多处理器 构成的,流 水 处理器 以块(Block)为基本 调 度 单元 ,因此,对 于流 水 处理器 较 多的GPU,它一次 可以处理的块(Block)更 多,从 而运 算速 度 更 快 ,时间 更 短 。而反 之 对 于流 水 处理器 较 少 的GPU,其 运算速 度 便 会较 慢 。 CUDA C 是C 语言的一个扩 展,它允 许 程序员 定 义 一种被称为内核 函 数(Kernel Functions)的C 函 数,内核 函 数运 行在 GPU 上,一旦 启 动 ,CUDA 中的每 一个线程都将会同时并行地执行内核 函 数中的代 码 。内核 函 数使用关键字__global__来声 明 ,运 行该 函 数的CUDA 线 程数则 通过<<<...>>>执行...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部