预告 | Dataflow 芯片和编译器从入门到进阶

大家好!这里是 1nfinite 无限智域社区的第一个技术分享系列分享活动 — “Dataflow 芯片和编译器从入门到进阶”。本系列共 11 期,将由浅入深探讨 Dataflow 芯片和编译器的前沿技术,无论是小白还是大神,相信都能从这个系列中获得启发和收获。

预告 主题
第 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

3 Likes