摩尔线程 国产显卡 MUSA 并行编程学习笔记-2024/11/27

 Learning Roadmap:

Section 1: Intro to Parallel Programming & MUSA

  1. Deep Learning Ecosystem(摩尔线程国产显卡 MUSA 并行编程学习笔记-2024/11/20
  2. Ubuntu+Driver+Toolkit+conda+pytorch+torch_musa环境安装(摩尔线程国产显卡 MUSA 并行编程学习笔记-2024/11/24-CSDN博客
  3. C/C++ Review(摩尔线程国产显卡 MUSA 并行编程学习笔记-2024/11/22-CSDN博客
  4. GPU intros(摩尔线程国产显卡 MUSA 并行编程学习笔记-2024/11/25-CSDN博客
  5. GPU硬件架构 (摩尔线程国产显卡 MUSA 并行编程学习笔记-2024/11/26-CSDN博客)
  6. Write First Kernels (Here)
  7. MUSA API
  8. Faster Matrix Multiplication
  9. Triton
  10. Pytorch Extensions(摩尔线程国产显卡 MUSA 并行编程学习笔记-2024/11/21-CSDN博客
  11. MNIST Multilayer Perceptron

Section 2: Parallel Programming & MUSA in Depth

  1. Analyzing Parallel Program Performance on a Quad-Core CPU
  2. Scheduling Task Graphs on a Multi-Core CPU
  3. A Simple Renderer in MUSA
  4. Optimizing DNN Performance on DNN Accelerator Hardware
  5. llm.c

Ref:

摩尔学院 

https://www.youtube.com/watch?v=86FAWCzIe_4&t=1012s

https://www.youtube.com/watch?v=V1tINV2-9p4

https://gfxcourses.stanford.edu/cs149/fall24

线程层级

Ref:MUSA基础编程 | 摩尔学院 - MUSA基础编程 | High-Performance Computing with GPUs

一个典型的异构编程流程(Host:CPU,Device:GPU)

  1. 分配Host Memory,并进行数据初始化;

  2. 分配Device Memory,并将数据从Host Memory拷贝到Device Memory上;

  3. 调用kernel函数,在Device上执行指定的任务;

  4. 将Device Memory中的结果拷贝回Host Memory;

  5. 释放Device和Host上分配的Memory。

Kernels

functions run on GPU

Thread(线程)

  • 线程是GPU编程模型中执行计算或访存最底层的抽象

  • 每个Thread有自己的local memory 和Registers

Block(线程块)

  • Thread被Group到一个三维的Block中

  • 同一block内的线程可以利用shared memory进行数据共享

  • 同一个block通常被用来执行相同的kernels on different data

  • blockDim:线程块的维度

  • ThreadIdx:Thread在block中的唯一标识

Grid(网格)

  • Block被Group到一个Grid中

  • Grid中的Block中的Thread都可以访问global memory

  • MUSA中还存在两个只读的内存空间可供所有线程访问:constant memory和texture memory。global memory、constant memory和texture memory三个内存空间针对不同的内存使用进行了优化,texture memory还可以为某些特定数据格式提供不同的寻址模式以及数据过滤,在实际使用中可以根据需求选择不同内存空间来实现任务需求。

Wrap(线程束)

  • 每个内核通过线程束在block中管理线程

  • 线程束内所有线程在同一时间会执行相同指令,所以当它们拥有相同的执行路径时效率最高

拓展阅读:线程是如何被Map到GPU Core上的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值