Spyre
IBM推出的AI加速器芯片,通过torch-spyre项目成为PyTorch原生设备,支持设备调度、内存管理和异步执行
时间轴 (近 90 天)
当编译层趋于统一,AI 芯片硬件厂商的竞争焦点转移到芯片架构、互联带宽、内存带宽以及软件栈中真正独有的部分(如 Spyre 的特定数据流调度)。
IBM Spyre AI 加速器将其 torch.compile 后端从自研的 sendnn 编译栈切换为开源社区维护的 Inductor。
sendnn 是 IBM Spyre 加速器软件栈此前依赖的一套完全从零搭建的独立编译堆栈。
IBM 在 Spyre 的适配中,在 Inductor 之上做了 Spyre 专属的调度和内存层级适配,只需将 Inductor 输出的中间表示映射到 Spyre 指令集。
Inductor 作为通用后端,在延迟极度敏感或算子高度定制的工作负载中,其通用 pass 可能不如专用编译器,IBM 需保留针对 Spyre 关键算子的手写优化通道。
PyTorch 官方博客发布了一篇技术文章,介绍如何将 IBM 的 AI 加速器 Spyre 打造为 PyTorch 的原生设备。
注册完成后,用户可以使用 torch.device("spyre") 这类字符串直接指定硬件,PyTorch 会在内部把它映射到 PrivateUse1。
Spyre 实现了 PyTorch 的 allocator 接口,接管张量内存的申请与释放,这决定了内存复用策略和显存管理能否与框架的缓存机制协同,是性能表现的基础。
torch-spyre 将 PyTorch 的计算图对接至 Spyre 的运行时与固件,使算子能够被正确编译并下发到硬件执行。
Torch Spyre 是 IBM 面向其 Spyre 加速器打造的 PyTorch 后端
全部知识事实 (10)
当编译层趋于统一,AI 芯片硬件厂商的竞争焦点转移到芯片架构、互联带宽、内存带宽以及软件栈中真正独有的部分(如 Spyre 的特定数据流调度)。
50%待验证IBM Spyre AI 加速器将其 torch.compile 后端从自研的 sendnn 编译栈切换为开源社区维护的 Inductor。
50%待验证sendnn 是 IBM Spyre 加速器软件栈此前依赖的一套完全从零搭建的独立编译堆栈。
50%待验证IBM 在 Spyre 的适配中,在 Inductor 之上做了 Spyre 专属的调度和内存层级适配,只需将 Inductor 输出的中间表示映射到 Spyre 指令集。
50%待验证Inductor 作为通用后端,在延迟极度敏感或算子高度定制的工作负载中,其通用 pass 可能不如专用编译器,IBM 需保留针对 Spyre 关键算子的手写优化通道。
50%待验证注册完成后,用户可以使用 torch.device("spyre") 这类字符串直接指定硬件,PyTorch 会在内部把它映射到 PrivateUse1。
50%待验证Spyre 实现了 PyTorch 的 allocator 接口,接管张量内存的申请与释放,这决定了内存复用策略和显存管理能否与框架的缓存机制协同,是性能表现的基础。
50%待验证torch-spyre 将 PyTorch 的计算图对接至 Spyre 的运行时与固件,使算子能够被正确编译并下发到硬件执行。
50%待验证Torch Spyre 是 IBM 面向其 Spyre 加速器打造的 PyTorch 后端
50%待验证PyTorch 官方博客发布了一篇技术文章,介绍如何将 IBM 的 AI 加速器 Spyre 打造为 PyTorch 的原生设备。
50%