CUDA C 编程权威指南 学习笔记:第一章 基于CUDA的异构并行计算

秒速五厘米 2022-05-30 02:07 305阅读 0赞

并行性

这个主要分为任务并行和数据并行,CPU适应任务并行,GPU更假适合数据并行,虽然CPU和GPU结构类似,但是其实很不一样,

  • CPU的核心比较重,用来处理非常复杂的控制逻辑,已优化串行程序执行
  • GPU的核心比较轻,用于优化具有简单控制逻辑的数据并行任务,注重并行程序的吞吐量

CUDA

CUDA提供两层API来管理GPU设备和组织线程

  • CUDA驱动API
  • CUDA运行时API

驱动API是更低级的API,相对来说较难编程,运行API是更加高级的DPI,它在驱动API上层实现,需要注意的是运行API和驱动API在性能上没有太大的差异。在设备端,内核如何使用内存和如何组织线程对性能有着更大的影响,这两种API是互斥的,必须使用两者之一,不可以混合使用,一般都是使用运行API

NVCC编译器

NVIDIA的CUDA nvcc编译器在编译过程中讲设备代码从主机代码中分离出来,主机代码是标准的C代码,有C编译器做编译,设备代码由CUDA C编写,使用nvcc编译。在链接阶段,在内核程序调用和显示GPU设备操作中添加CUDA运行时库。

cudaDeviceReset()函数用来想的释放和清空当前进程中与当前设备相关的所有的资源

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CUDA 并行计算

    CUDA 并行计算 并行计算可以被定义为同时使用许多计算资源 (核心或计算机) 来执行并发计算,一个大的问题可以被分解成多个小问题,然后在不同的计算资源上并行处理这些小

    相关 计算CUDA

    记录下关于异构计算的链接 [参考链接][Link 1] GPU和CPU执行程序是异步的,核函数调用后成立刻会到主机线程继续,而不管GPU端核函数是否执行完毕,所以上面