极智开发 | 谈谈 cuda 线程束与内存模型

欢迎关注我的公众号 [极智视界],获取我的更多学习笔记

  大家好,我是极智视界,本文谈谈 cuda 线程束与内存模型。

  Cuda thread 组成 block,block 组成 grid,形成嵌套网格状结构,目的是为了矩阵并行计算时,能对应矩阵位置。

极智开发 | 谈谈 cuda 线程束与内存模型_第1张图片

文章目录

      • 1 线程束
      • 2 内存模型
      • 3 内存访问模式
      • 4 共享内存

1 线程束

  SM 是一种单指令多线程 (single Instruction MultipleThread, SIMT) 架构的处理器,线程束是 SM 中基本的执行单元,cuda 执行的实质是线程束的执行 (所有线程按照 SIMT 的方式执行,每一步执行相同的指令,但是处理的数据为私有数据)。

  当一个 grid 被启动后等价于 core 被启动,每个 core 对应自己的 grid,grid 里包含了 blocks,当线程块被分到 SM 之后会被分成多个线程束 (线程块分批在物理机器上运行,线程块内线程束可能进度不一样,线程束内线程进度一样),每个线程束一般有 32 个线程。

你可能感兴趣的:(极智开发,cuda,gpu,并行计算,深度学习,人工智能)