GPU 高性能编程 CUDA : CUDA 架构和准备工作

NVIDIA GPU 是基于 CUDA 架构而构建的,要在 CUDA GPU 上编程需要使用 CUDA C 语言,CUDA C 是在 C 上进行了一些扩展,使其能够在 NVIDIA GPU 这样大规模并行机上进行编程

早起 GPU 的主要目标是通过可编程的计算单元为屏幕上的每一个像素计算出一个颜色值,这些计算单元也称为像素着色器。像素着色器根据像素在屏幕上的位置(x,y)以及一些其他的信息,对各种输入信号进行合并并计算出最终的颜色值。后来,输入的颜色其实可以是任意数据,程序员发现可以对着色器进行编程从而对输入值执行任意计算

CUDA 架构

NVIDIA 希望可以使 GPU 可以适用于通用计算而不是只是用传统的图形计算

CUDA 架构包含了一个统一的着色器流水线,使得执行通用计算的程序可以对芯片上的每一个数学逻辑单元(ALU)进行排列,GPU的执行单元不仅可以任意的读/写内存,同时还能访问软件管理的缓存,也称共享内存

但是硬件层面的改进还需要使用面向图形的着色语言(例如 OPENGL 的 GLSL 或者 Microsoft 的 HLSL)来编写计算代码

NVIDIA 使用 C 语言并增加了一小部分关键字来支持 CUDA 架构的特殊功能,CUDA C 就成为了在 GPU 上编写通用计算的编程语言

准备:

支持 CUDA 的 GPU,相应的 NVIDIA 设备驱动程序

之后,由于 CUDA C 应用程序将在两个不同的处理器上执行计算,因此需要两个编译器,一个是 CUDA 工具箱为 GPU 编译代码,一个是 VS 为 CPU 编译代码



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值