5 Star 3 Fork 1

MetaX-MACA/mxmaca-performance-tuning-guide

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

MACA Performance Optimization Guide

  • ./guide: 性能优化文档
  • ./case: 文档对应实例代码
  • ./microbenchmark: 文档中测试MetaX C500/Nvidia A100微架构参数的工程

跨平台兼容

库中所有代码都在NVIDIA A100和MetaX C500上测试。为了保证代码在不同平台上的兼容性,需要注意以下几点:

  1. 部分代码需要手动修改kWarpSize,A100上为32,C500上为64
  2. 部分代码在不同平台上需要手动切换宏定义中的NVIDIA或者METAX 例如microbenchmark/common/common.mk中,

性能优化文档大纲

本文档希望能够帮助大家更好地理解MetaX C500的架构,以及如何在C500上进行性能优化。同时汇总了一些常用的性能优化技巧,以及一些常用的编译参数和环境变量。

目前sw-wiki上的内容大而全。本文档希望能将跟性能优化有关的内容汇总并维护一个最新版本,方便大家查阅。

  1. 初探异构编程.vectoradd:host代码的编写。Host memory与Device Memory的区别。Kernel launch,threadIdx与blockIdx。计时。抓取运行时错误。
  2. 曦云C500芯片架构:GPU的并行性与局域性,硬件编程抽象模型与硬件执行流程,microbenchmark写法。 3.Kernel编程入门.reduction:以reduction为例,介绍kernel基本编程技巧,以及访存密集型应用的性能上界。
  3. Kernel性能建模.SGEMM:Amdahl's Law,屋檐模型,延迟隐藏模型。优化单精度矩阵乘法。
  4. 性能优化技巧。
  5. 性能分析工具:探针,Tracer, Cycle trace, performance counter, compiler explorer。
  6. Host代码性能优化(施工中)
  7. 张量编程.HGEMM(施工中)
  8. C500 HW Limitation相关。
  9. 常用Compiler参数和Driver环境变量(施工中)

阅读顺序:

  • 熟悉C500 kernel开发的同学,直接阅读ch5开头的表格,查缺补漏。
  • 熟悉CUDA的同学,跳过ch1, ch3。
  • 不熟悉CUDA的同学,按顺序阅读。

欢迎大家提Issue和pull request。小错误也可以直接钉钉找李兆石。

词汇表

参与贡献

Pull request

  • Fork 本仓库
  • 新建 Feat_xxx 分支
  • 提交代码
  • 新建 Pull Request

空文件

简介

Kernel性能优化和编写指南 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/metax-maca/mxmaca-performance-tuning-guide.git
git@gitee.com:metax-maca/mxmaca-performance-tuning-guide.git
metax-maca
mxmaca-performance-tuning-guide
mxmaca-performance-tuning-guide
main

搜索帮助