预告 | Dataflow 芯片和编译器从入门到进阶
编者荐语:
Dataflow 系列教程来袭!欢迎关注无限智域(1nfinite)社区,1nifinite 后续将会为大家带来更多系列技术分享。
预告 | 主题 |
---|---|
第 1 期 | 探索 Dataflow 架构:从理论到芯片实现 |
第 2 期 | Tenstorrent 数据流芯片 Grayskull 和 Wormhole |
第 3 期 | 探索 Tenstorrent 的 AI 开发软件栈:TT-BUDA |
第 4 期 | 深入解析 TT-BUDA 架构及编译执行过程 |
第 5 期 | 算子的从上而下映射:从算子到自定义指令 |
第 6 期 | 探索图编译器:实现高效的图计算 |
第 7 期 | 探索数据流芯片的应用领域 |
第 8 期 | 探索 TT-Metal:Tenstorrent 的 low-level 开发软件栈 |
第 9 期 | 深入 TT-Metal:自定义 Kernel 与跨核数据传输同步 |
第 10 期 | Tenstorrent 性能分析工具:profiler 和 benchmark |
第 11 期 | Dataflow 芯片加速 RTL 仿真:CIRCT 项目总览 |
探索 Dataflow 架构:从理论到芯片实现
“
本文将深入探讨 Dataflow 架构的理论基础和在芯片设计中的实际应用。Dataflow 架构是一种与传统冯诺依曼架构有着显著区别的计算模型,其核心思想是基于数据流动而非控制流程。我们将首先介绍 Dataflow 架构的基本概念和工作原理,然后探讨其在芯片设计中的优势和挑战。最后,我们将深入了解几种常见的 Dataflow 芯片,并分析它们的设计特点和应用场景。通过本文的阅读,读者将对 Dataflow 架构有一个全面的了解,并对其在未来计算系统中的发展趋势有所认识。
关键字:SISD,SIMD,SMP,SIMT,冯诺依曼架构,超算架构,内存墙问题,数据流架构,Tenstorrent,Groq
Tenstorrent 数据流芯片 Grayskull 和 Wormhole
“
本文将深入介绍 Tenstorrent 的前两代产品 Grayskull 和 Wormhole 的硬件架构、计算核心以及性能参数。我们将重点关注它们的设计理念、核心特性和创新之处,并对其在深度学习加速方面的性能表现进行详细分析。此外,我们还将探讨 Tenstorrent 硬件的横向扩展特性,以及如何利用这些特性来满足不同规模和复杂度的深度学习工作负载需求。
关键字:数据流,noc,partition,scale out,tensix,FPU,SFPU
探索 Tenstorrent 的 AI 开发软件栈:TT-BUDA
“
本文将深入介绍 Tenstorrent 公司为 AI 开发者提供的软件栈 TT-BUDA(Tenstorrent Unified Development Architecture),该软件栈为 AI 应用提供了全面的开发支持和优化工具。通过对 TT-BUDA 的详细解析,读者将了解到其包括的各个组成部分,如深度学习框架集成、图编译器、优化器、运行时系统等,以及它们在 AI 开发过程中的作用和优势。
关键字:pybuda,budabackend,深度学习框架集成,图编译
深入解析 TT-BUDA 架构及编译执行过程
“
本文通过结合源代码的方式,深入探讨 TT-BUDA 架构及其编译执行过程。我们将从 AI 模型到可执行文件的转化过程展开讨论,并重点关注 Netlist 在其中承上启下的关键作用。此外,我们还将详细介绍 Netlist 的格式,以及编译过程中涉及的路由配置文件等关键内容。通过本文的阐述,读者将全面了解 TT-BUDA 架构的内部运作机制,以及 AI 模型的计算图如何映射到硬件的计算单元中的原理。
关键字:编译 过程,可执行文件,路由配置文件,Netlist
算子的从上而下映射:从算子到自定义指令
“
本文将深入探讨 Tenstorrent 的 BUDA 架构,从用户层算子(op)到底层自定义指令的实现过程。我们将详细介绍算子的层次结构,探讨算子在 Netlist 中的配置以及其在高级核心(HLK)和低级核心(LLK)中的映射流程。此外,我们还将讨论如何封装自定义的 HLK 以支持当前不支持的算子,从而拓展 TT-BUDA 的应用范围。通过本文的阐述,读者将全面了解 TT-BUDA 架构的内部机制,以及如何实现和优化自定义指令以提升硬件加速性能。
关键字:HLK,LLK,自定义 HLK
探索图编译器:实现高效的图计算
“
本文将介绍图编译器的概念、原理和应用。图编译器是一种用于优化和提升代码运行速度的工具,旨在通过代码分割和优化,提高硬件仿真、物理粒子仿真和 AI 等领域的计算效率。该算法包括消除控制流、生成初始图、子图划分、迭代优化等步骤,目的是使图能尽可能满足满足负载平衡、最小化子图间切割边等约束,提升图的分割质量,从而提高代码的执行效率。通过本文的阅读,读者将了解到图编译器在提高计算效率、加速算法执行等方面的重要作用,以及未来发展的潜力和挑战。
关键字:控制流分析,数据流分析,图分割算法
探索数据流芯片的应用领域
“
本文将深入比较 Tenstorrent 数据流芯片与冯诺伊曼架构,探讨数据流芯片在程序运行时的主要优势和劣势,分析其在不同应用领域的潜力。最后,我们将通过一个实际的程序示例,详细展示如何将完整的程序映射到数据流芯片上,并利用其独特架构实现程序加速。
关键字:数据流架构分析,冯诺伊曼架构,非 AI 程序加速
探索 TT-Metal:Tenstorrent 的 low-level 开发软件栈
“
TT-Metalium 是 Tenstorrent 提供的底层软件平台,旨在为异构的 CPU 集合和 Tenstorrent 设备提供支持,使用户能够直接访问 Tensix Core 中的 RISC-V 处理器、NoC(片上网络)以及矩阵和向量引擎。本文将介绍 TT-Metalium 的设计原理、主要功能和使用方法。
关键字:host 端 API 介绍,device 端 API 介绍,tt-nn
深入 TT-Metal:自定义 Kernel 与跨核数据传输同步
“
TT-Metal 是 Tenstorrent 提供的底层软件平台,为了充分发挥其潜力,开发者需要掌握一些高级技巧。本文将深入介绍如何在 TT-Metal 中,使用 api 进行 Kernel 的自定义,包括如何自定义 FPU kernel 和 SFPUkernel。接下来,我们将重点关注同步技巧,包括在多个 Kernel 之间实现同步以及如何有效地管理资源和数据流。通过本文的阅读,读者将能够深入了解 TT-Metal 平台的高级功能,掌握自定义 Kernel 和同步技巧,从而更好地应用于实际的软件开发项目中。
关键字:自定义 kernel(fpu kernel 和 sfpi kernel),semaphore 的使用,tensix 的坐标和全局地址,demo
Tenstorrent 性能分析工具:profiler 和 benchmark
“
TT-Metal 作为 Tenstorrent 的底层软件平台,提供了强大的 Profiler 和 Benchmark 工具,可以帮助开发者深入了解 AI 模型在 TT-Buda 上的性能表现。本文将介绍如何使用 TT-Metal 的 Profiler 分析 kernel 在硬件上的运行情况。同时,我们将介绍如何使用 Benchmark 项目来分析和评估常用 AI 模型在 TT-Buda 上的性能。最后,本文还将通过编写一个程序复现内存墙问题,并比较 TT-Metal 版本的运行结果,以帮助读者更好地理解数据流编程是如何缓解内存墙问题的。
关键字:profiler、benchmark、测试程序
Dataflow 芯片加速 RTL 仿真:CIRCT 项目总览
“
传统 SPMD(Signle Processor Multiple Data)架构在日益增长的算力需求面前,不得不面对内存墙问题的桎梏。Dataflow 这一新的架构,显式的描述了程序的内存局部性。通过 CIRCT 项目,构建起从硬件代码到 Dataflow 加速平台的完整桥梁,从上层 Chisel,SV 语言编译生成 LLVM IR,再到图编译生成适用于 Tenstorrent dataflow 芯片的算子程序,基于网络互联的 Dataflow 计算流在应用于 AI 领域之外所面临的挑战、机遇,将在本文中一一介绍。
关键字:SPMD,CIRCT,Dataflow-based Programming,RTL Simulation
--------END--------
公众号