Computex 2026 上,NVIDIA 和微软联合抛出了一枚重磅:RTX Spark——一颗把 Blackwell GPU 和 Grace CPU 封进同一颗芯片、面向消费级 PC 和笔记本的 ARM 超级芯片。1 Petaflop 的 AI 算力,台积电 N3E 工艺,完整 CUDA 和 RTX 生态,跑在 Windows 上。黄仁勋直接称之为"个人电脑的新起点"。
这不仅仅是又一颗显卡迭代。ARM 架构进入 Windows 消费级主力设备、Petaflop 算力下放到笔记本、CUDA 生态在非 x86 平台全面铺开——三件事同时发生,对开发者的冲击远比参数表来得深。
芯片架构:Blackwell + Grace,N3E 工艺下的异构整合
RTX Spark 的核心是把两块原本服务于数据中心的东西压进了消费级封装:
- Grace CPU:NVIDIA 自研的 ARMv9 处理器,原本搭配 Grace Hopper 超级芯片用在 HPC 和 AI 服务器里。现在它坐进了消费级 SoC,意味着 Windows PC 第一次有了非 x86、非 Apple Silicon 的 ARM 主力 CPU 选项。
- Blackwell GPU:NVIDIA 当前代际的 GPU 架构,第二代 Transformer Engine、FP4/FP8 精度支持、更密集的 Tensor Core 调度。1 Petaflop 的 FP8 算力就是从这里来的。
- N3E 工艺:台积电 3nm 增强版,相比 N5 功耗密度下降约 30%,这让笔记本形态的 Petaflop 变得物理可行。
关键在于两颗核心的互联方式。Grace Hopper 用的是 NVLink-C2C,带宽 900 GB/s;RTX Spark 很可能沿用类似的高带宽片间互联(具体规格尚未完全公开),但功耗预算会被大幅压缩。这意味着 CPU 和 GPU 之间的数据搬运不再是 PCIe 的瓶颈——对本地 LLM 推理、实时推理管线这类需要 CPU 预处理 + GPU 推理的负载,延迟和吞吐都会和传统 x86 + 独显的组合截然不同。
CUDA on ARM:软件生态的真正变量
硬件参数只是前半场。RTX Spark 能不能成,取决于 CUDA 生态在 ARM 上是否真的"完整"。
NVIDIA 在 Grace Hopper 上已经跑通了 CUDA on ARM 的基础设施:CUDA Toolkit 有 ARM64 原生编译支持,cuDNN、TensorRT、cuBLAS 等核心库都提供了 ARM64 版本。RTX Spark 继承这条线,但挑战不同——它要面对的是 Windows on ARM(WoA)的软件栈,而不是 Linux HPC 环境。
微软的参与正是为了补这一块。WoA 近两年进展很快:Visual Studio 2022 已支持 ARM64 原生编译,.NET 8+ 的 ARM64 JIT 性能接近 x64,WSL2 在 WoA 上已经稳定运行。RTX Spark 要让 CUDA 在 WoA 上无缝工作,至少需要三层对齐:
- CUDA Toolkit 的 WoA 原生版——编译器、驱动、运行时全部 ARM64 原生,不走模拟。
- 主流 AI 框架的 ARM64 CUDA 后端——PyTorch、ONNX Runtime、TensorFlow 的 Windows ARM64 + CUDA 版本。
- 游戏和创作软件的 ARM64 + RTX 路径——DirectX 12、Vulkan、OptiX 在 WoA 上的原生驱动。
前两层对开发者最直接。如果 PyTorch 能在 WoA 上原生调用 CUDA,本地推理的开发体验就和 x86 机器上几乎没有差别——这比 Apple Silicon 的 Metal 后端要省心得多,因为 CUDA 的生态深度远超 Metal。
本地 Petaflop 能干什么:从推理到微调的实际场景
1 Petaflop FP8 算力换算下来,大约等于 2×H100 的 FP8 密集算力(单卡 H100 FP8 约 500 TFLOPS)。当然,消费级芯片的内存带宽和容量远不如 H100(大概率是 16–32 GB 统一内存),但算力本身已经足够跑起一些以前只有云端才能做的事:
- 70B 参数模型的本地 INT4/FP8 推理:算力不是瓶颈,内存才是。如果统一内存做到 32 GB,70B 模型在 FP8 下需要约 70 GB——还是放不下。但 7B–14B 模型的 FP8 推理会非常流畅,延迟远低于云端 API。
- 实时多模态推理管线:视频帧预处理(CPU/ARM 端)→ 视觉编码(GPU)→ LLM 推理(GPU),NVLink-C2C 级互联让帧间数据搬运几乎零等待。
- 本地 LoRA 微调:算力足够,内存是限制。7B 模型的 LoRA 微调在 FP8 下完全可以本地完成,不再需要租云实例。
下面是一个在 RTX Spark(或任何 CUDA 设备)上跑本地 FP8 推理的 PyTorch 实际示例,使用 torch._float8 类型做前向推理。这段代码在当前 PyTorch 2.6+ 上可以运行,RTX Spark 上市后只需切换到 WoA 原生 PyTorch + CUDA 即可。
"""
本地 FP8 推理示例 —— 在 CUDA 设备上用 FP8 精度跑前向传播
适用于 Blackwell 架构(RTX Spark / B100 等)的 Tensor Core
运行前提:
- PyTorch 2.6+,CUDA 12.4+
- GPU 支持 FP8(SM_90 / SM_100)
- pip install torch --index-url https://download.pytorch.org/whl/cu124
注意:RTX Spark 上市后,在 WoA 上需使用 ARM64 原生 PyTorch 包
"""
import torch
import torch.nn as nn
# FP8 数据类型(PyTorch 2.6+ 实验性支持)
float8_e4m3fn = torch.float8_e4m3fn # E4M3 格式,前向推理常用
float8_e5m2 = torch.float8_e5m2 # E5M2 格式,反向传播/梯度常用
class FP8Linear(nn.Module):
"""FP8 线性层:权重存为 FP8,计算时利用 Tensor Core"""
def __init__(self, in_features, out_features):
super().__init__()
# 权重用 FP8 E4M3 存储,节省显存
self.weight = nn.Parameter(
torch.randn(out_features, in_features, dtype=torch.float32)
)
self.bias = nn.Parameter(
torch.randn(out_features, dtype=torch.float32)
)
def forward(self, x):
# 将权重和输入量化为 FP8 —— Blackwell Tensor Core 直接执行
w_fp8 = self.weight.to(float8_e4m3fn)
x_fp8 = x.to(float8_e4m3fn)
# FP8 GEMM,输出回到 FP32 累加
out = torch._scaled_mm(
x_fp8, w_fp8.T,
scale_a=torch.tensor(1.0, device=x.device),
scale_b=torch.tensor(1.0, device=x.device),
out_dtype=torch.float32
)
return out + self.bias
def demo_fp8_inference():
device = "cuda" if torch.cuda.is_available() else "cpu"
if device == "cpu":
print("⚠️ 无 CUDA 设备,回退到 CPU 模拟(FP8 将被自动提升为 FP32)")
# 构造一个小型推理网络
model = nn.Sequential(
FP8Linear(512, 256),
nn.ReLU(),
FP8Linear(256, 128),
).to(device)
# 模拟输入(如 token embedding)
x = torch.randn(1, 512, dtype=torch.float32, device=device)
with torch.no_grad():
output = model(x)
print(f"输入形状: {x.shape}")
print(f"输出形状: {output.shape}")
print(f"输出 dtype: {output.dtype}")
print(f"设备: {output.device}")
# 显存占用对比
if device == "cuda":
fp32_weight_mem = 512 * 256 * 4 + 256 * 128 * 4 # bytes
fp8_weight_mem = 512 * 256 * 1 + 256 * 128 * 1 # bytes
print(f"\nFP32 权重显存: {fp32_weight_mem / 1024:.1f} KB")
print(f"FP8 权重显存: {fp8_weight_mem / 1024:.1f} KB")
print(f"节省比例: {(1 - fp8_weight_mem / fp32_weight_mem) * 100:.0f}%")
if __name__ == "__main__":
demo_fp8_inference()
运行提示:当前在 x86 + CUDA 机器上即可运行此代码验证逻辑。RTX Spark 上市后,在 WoA 环境下需要安装 ARM64 原生 PyTorch(预计 NVIDIA 和微软会提供官方 wheel)。
torch._scaled_mm是 Blackwell 架构 FP8 Tensor Core 的 Python 入口,在旧架构上会回退到模拟模式。
开发者现在该做什么:准备清单
RTX Spark 大概率 2026 年下半年量产上市。作为开发者,现在就可以开始对齐:
- 把 CI 管线加上 ARM64 Windows 目标。Visual Studio 2022 已经支持 ARM64 编译,.NET 8 的 cross-compile 很简单。C++ 项目检查一下是否有 x86 内联汇编或 x86-only 的依赖库。
- 验证 CUDA 代码在 ARM64 上的编译。在 WSL2 + Grace Hopper 云实例(如 Lambda Labs 的 GH200 机器)上测试你的 CUDA kernel 编译和运行,这是目前最接近 RTX Spark CPU 侧的环境。
- 评估 FP8 接入路径。如果你的推理服务已经在用 TensorRT-LLM 或 vLLM,检查它们的 FP8 支持进度。Blackwell 的 FP8 和 Hopper 的 FP8 有细节差异(scale factor 处理方式不同),提前适配。
- 统一内存架构的代码调整。Grace + Blackwell 的统一内存意味着 CPU 和 GPU 共享物理内存,
cudaMemcpy的语义会变化——HostToDevice 不再是真正的跨设备拷贝。如果你的代码有大量显式拷贝,考虑重构为零拷贝路径。 - 关注 WoA 的 GPU 驱动发布节奏。NVIDIA 在 WoA 上的 CUDA 驱动是全新产品线,早期版本的兼容性和性能需要持续跟踪。
风险与边界
RTX Spark 的故事很完整,但有几个现实约束不能忽略:
- 统一内存容量:Petaflop 算力配 16–32 GB 内存,推理算力过剩但内存不足。大模型本地推理的瓶颈不在算力,在内存。这和 Apple M4 Ultra 192 GB 统一内存的路线形成了鲜明对比。
- WoA 软件缺口:游戏、Adobe 全家桶、大量工业软件的 WoA 原生版还在路上。x86 模拟层能跑,但性能损耗在 GPU 密集场景下不可忽视。
- 功耗与散热:笔记本形态下,N3E 帮了大忙,但 Blackwell GPU 的满血算力需要足够的供电和散热空间。实际产品可能分多个 TDP 等级,笔记本版的持续算力大概率低于台式机版。
- 生态冷启动:CUDA on WoA 是新组合,bug、驱动稳定性、框架兼容性都需要时间打磨。第一批用户会是开发者和技术爱好者,不是普通消费者。
RTX Spark 的意义不在于它今天就能完美替代你的 x86 工作站,而在于它打开了 Windows PC 的第二条架构路线——ARM + CUDA + 统一内存 + Petaflop 算力。这条路线和 Apple Silicon 的 ARM + Metal 路线平行,但生态深度完全不同:CUDA 背后是二十年积累的 GPU 计算生态,Metal 远没有这个厚度。
对开发者来说,现在最值得做的事不是等产品上市,而是让你的代码在 ARM64 + CUDA 上能编译、能跑。这一天来得会比很多人预期的更快。