🔔
🎄
🎁
🦌
🛷
NEW
Warp 1.5.0 推出基于Tile的编程以增强GPU效率 - Blockchain.News

Warp 1.5.0 推出基于Tile的编程以增强GPU效率

realtime news Dec 15, 2024 02:42

Warp 1.5.0 在Python中引入基于Tile的编程,利用cuBLASDx和cuFFTDx进行高效的GPU操作,大大提高了科学计算和模拟中的性能。

Warp 1.5.0 推出基于Tile的编程以增强GPU效率

Warp 1.5.0的最新发布引入了基于Tile的编程原语,旨在提高GPU的效率和生产力。根据NVIDIA的说法,新的工具利用cuBLASDx和cuFFTDx,使Python内核中的矩阵乘法和傅里叶变换更高效。这一进步对加速模拟和科学计算特别重要。

GPU编程的演变

在过去的十年中,GPU硬件从纯SIMT(单指令,多线程)执行模型过渡到高度依赖合作操作的模式,提高了效率。随着Tensor Core数学单元成为GPU计算的核心,对其进行高效编程至关重要。像BLAS这样的传统高级API,尽管提供了广泛的抽象,但在与用户程序接口时,通常在集成和效率方面表现不足。

Warp中的基于Tile的编程

基于Tile的编程模型,例如在Warp 1.5.0中引入的模型,允许开发者表达可由多个线程协同执行的Tile操作。此模型将Warp的内核编程扩展到包含基于Tile的操作,实现了从SIMT到基于Tile的执行的无缝过渡。它减少了手动索引和共享内存管理的需要,同时支持训练的自动微分。

Warp Tile原语

Warp的新Tile原语包括构建、加载/存储、线性代数和映射/归约操作。这些原语自然地扩展了Warp现有的内核编程模型。Tile可以在Warp内核中使用类NumPy操作构建,从而实现对CUDA块中的数据的高效管理。

增强的矩阵乘法

基于Tile的编程的关键优势之一是能够进行协作矩阵乘法。Warp 1.5.0 引入了wp.tile_matmul()原语,该原语利用cuBLASDx调度适当的Tensor Core MMA指令以获得最佳性能。这一进步允许显著的性能提升,对于大型矩阵达到了大约70-80%的cuBLAS性能。

案例研究和应用

Warp中的基于Tile的编程对于需要密集线性代数的应用非常有利,例如机器人模拟和信号处理。例如,在机器人模拟中,Warp的Tile原语可以高效计算正向动力学所需的矩阵乘积,通过减少全局内存往返和启动开销,超越了传统框架如Torch。

未来发展

未来版本的Warp和MathDx将包括对行级归约操作、基于lambda函数的Tile创建、改进的GEMM操作性能和新的线性代数原语的额外支持。这些增强将继续优化GPU编程效率。

欲了解更多详细信息,请访问官方NVIDIA 博客

Image source: Shutterstock