TVM是一个开源的深度学习编译器,同时也是推理框架,可以推理TVM支持的深度学习模型。
Keynote: PyTorch 2 0 – bringing compiler technologies to the core of PyTorch TVMCon2023
这是一场有关 PyTorch 2.0 的演讲,旨在将编译器技术带入 PyTorch 的核心。演讲者介绍了 PyTorch 1.x 的编译器解决方案,包括 TorchScript、Tracing 等。然而,由于 PyTorch 的 eager 模式和复杂的语义,以及庞大的操作表面,这些解决方案往往需要人工干预,效率较低。因此,PyTorch Compiler 团队推出了全新的 PyTorch 2.0,引入了 JIT 编译器,大大提高了性能和支持动态形状和分布式。
之前是:
- torch.jit.script
- torch.jit.trace
- torch.fx
- lazy tensor
TorchDynamo in a nutshell
TVM Unity for Dynamic Models - TVMCon2023
本文介绍了TVM Unity在动态模型方面的应用。动态模型可以分为三类:形状动态、数据动态和秩动态。TVM Unity支持使用符号变量进行形状分析,在数据动态方面使用Match cast机制提取张量中的值,并使用外部库进行秩动态处理。TVM Unity支持动态工作负载的后端处理,并可以通过BYOC接口集成动态库。相比于TVM主干,TVM Unity的一个主要优势是支持符号形状作为一级公民进行形状分析。
Enabling Data Movement and Computation Pipelining in Deep Learning Compiler - TVMCon2023
本次演讲的主题是如何在深度学习编译器中实现数据移动和计算流水线。演讲者介绍了当前GPU的发展趋势,从计算力不足到内存瓶颈再到硬件资源过剩但利用率不高。为了解决这些问题,演讲者提出了自动流水线技术,通过在数据移动和计算之间实现并行,提高GPU的利用率。具体来说,演讲者介绍了load-compute流水线的概念和实现方式,包括多阶段和多层次的流水线。该技术可以通过自动化编译器框架来实现。最后,演讲者介绍了一些评估结果,证明了这种技术的有效性。