解读CUDA Compiler Driver NVCC - Ch.1 - Introduction

前言


从这个系列开始,我会解读《CUDA Compiler Driver NVCC》的内容。通过这本书,可以更深刻地了解GPU 编译的底层相关的设计。

CUDA Programming Model

CUDA Toolkit针对这样一类应用程序:它的控制部分由一个进程运行在一个通用计算设备(比如CPU)上,利用一个或多个GPU作为coprocessors来加速single program multiple data (SPMD)并行任务。这些任务可以由一系列GPU 线程来执行,而不用主机进程的干预;这样的话,就能通过并行图形硬件设备获得性能优化。

GPU 代码由编程语言开发的一系列函数进行开发,主要使用C++,带有一些注释,用于将它们与宿主代码区分开来,另外还有一些注释用于区分GPU上存在的不同类型的数据内存。在GPU程序生命周期内,主机进程可能会调度多个并行进程GPU任务。

CUDA Sources

CUDA应用程序的源文件包含一系列在host上执行的C++代码,以及一些在GPU上执行的核函数代码(kernel function)。CUDA 编译过程(compilation trajectory) 会把host code里的device函数分离出来,用合适的NVIDIA 编译器和汇编程序对这些device

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值