AMD 短暂站上万亿美元:真正值得看的,是 GPU 之外的系统能力

2026-09-22 12 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

AMD 的市值在周一短暂突破 1 万亿美元。对芯片设计公司而言,这是一个极少见的量级。最直接的推动力当然是 AI:市场正在重新评估所有能够提供算力的厂商。但如果只把这次上涨理解为“AMD 也有 AI GPU”,就忽略了更关键的问题——客户最终购买的不是一块孤立的芯片,而是一套能够稳定运行真实工作负载的计算系统。

万亿美元是预期,不等于胜负已定

从市值对比看,AMD 已经把老对手英特尔甩在身后,但与接近 5.5 万亿美元的英伟达相比,仍有巨大距离。这也是它继续被称为“永远处于劣势的一方”的原因:AMD 获得了进入 AI 竞赛核心区域的资格,却还没有消除生态、规模和开发者心智上的差距。

市值在这里表达的主要是未来预期,而不是当前技术能力的精确刻度。它至少包含几层判断:

  • AI 训练与推理需要更多算力,市场不希望长期只有一个主要供应方。
  • 数据中心采购会同时考虑 CPU、加速器、内存、网络和软件栈,而不是只比较 GPU 峰值算力。
  • 客户愿不愿意迁移,取决于已有模型、算子和运维工具的适配成本。
  • 芯片能否交付、集群能否扩展、软件能否持续维护,都会影响实际收入。

因此,“突破万亿美元”更像市场发出的一张入场券,而不是宣布竞赛结束。市值本身也会波动,不适合直接当作技术领先程度的排名表。

为什么不能只盯着 GPU 参数

AI 集群里,GPU 很醒目,但不会独立工作。CPU 要负责数据预处理、任务调度和系统服务;内存容量与带宽会限制模型规模;互连决定多卡通信效率;编译器、运行时和算子库则决定理论性能能否真正释放。

这正是“AMD 靠的不只是 GPU”在工程层面的含义。评估一套 AMD 方案时,可以把问题拆成四层:

  1. 芯片层:目标精度下的吞吐、显存容量、带宽和功耗是否匹配工作负载。
  2. 节点层:CPU 与加速器之间的数据搬运是否形成瓶颈,NUMA 与 PCIe 拓扑是否合理。
  3. 软件层:框架、算子、编译工具、监控与容器镜像能否覆盖现有应用。
  4. 集群层:多机通信、故障恢复、调度和供应能力是否满足生产要求。

一块卡在矩阵乘法测试中领先,并不意味着整套推理服务的每请求成本更低。相反,如果模型包含大量不受支持的算子,或者迁移后需要频繁回退到 CPU,纸面上的峰值算力就很难转化为业务收益。

可以这样实践:先盘点环境,再跑可复现基准

下面是一套可以改造的最小评估流程。假设使用 Linux;如果机器安装了 AMD GPU 驱动与 ROCm 工具,脚本会额外输出相关信息。没有安装时也能运行,只会跳过对应项目。

cat > inspect-compute-stack.sh <<'EOF'
#!/usr/bin/env bash
set -u

echo '=== CPU ==='
lscpu | grep -E 'Model name|Socket|Core|Thread|NUMA|CPU\(s\)' || true

echo
echo '=== PCI devices ==='
lspci | grep -Ei 'vga|display|3d|amd|nvidia' || true

echo
echo '=== Memory ==='
free -h

echo
echo '=== ROCm tools ==='
if command -v rocminfo >/dev/null 2>&1; then
  rocminfo | grep -E 'Name:|Marketing Name:|Global Memory Size' | head -n 30
else
  echo 'rocminfo not found'
fi

if command -v rocm-smi >/dev/null 2>&1; then
  rocm-smi --showproductname --showmeminfo vram --showuse --showpower
else
  echo 'rocm-smi not found'
fi
EOF

chmod +x inspect-compute-stack.sh
./inspect-compute-stack.sh

硬件盘点之后,可以使用下面的 PyTorch 脚本做一个最小矩阵乘法测试。运行前需要安装与当前驱动匹配的 PyTorch;在 ROCm 版本的 PyTorch 中,设备接口仍通常表现为 torch.cuda,可以通过 torch.version.hip 判断是否使用 HIP/ROCm 后端。

# benchmark_matmul.py
import os
import statistics
import time
import torch

size = int(os.getenv("MATRIX_SIZE", "2048"))
rounds = int(os.getenv("BENCH_ROUNDS", "10"))
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.float16 if device == "cuda" else torch.float32

print(f"PyTorch: {torch.__version__}")
print(f"Device: {device}")
print(f"ROCm/HIP: {torch.version.hip}")
print(f"CUDA runtime: {torch.version.cuda}")

if device == "cuda":
    print(f"Accelerator: {torch.cuda.get_device_name(0)}")


def synchronize():
    if device == "cuda":
        torch.cuda.synchronize()


a = torch.randn(size, size, device=device, dtype=dtype)
b = torch.randn(size, size, device=device, dtype=dtype)

# 预热,避免把首次初始化和编译开销计入正式结果。
for _ in range(3):
    _ = a @ b
synchronize()

samples = []
for _ in range(rounds):
    start = time.perf_counter()
    _ = a @ b
    synchronize()
    samples.append(time.perf_counter() - start)

median_seconds = statistics.median(samples)
tflops = 2 * size**3 / median_seconds / 1e12

print(f"Matrix: {size} x {size}, dtype={dtype}")
print(f"Median latency: {median_seconds * 1000:.2f} ms")
print(f"Estimated throughput: {tflops:.2f} TFLOPS")

运行方式:

python benchmark_matmul.py
MATRIX_SIZE=4096 BENCH_ROUNDS=20 python benchmark_matmul.py

这只是验证驱动、框架和基础计算路径是否正常的合成测试,不能单独用于采购决策。更可靠的下一步,是换成自己的模型与数据,记录端到端延迟、每秒请求数、显存峰值、功耗以及失败率。例如,大语言模型推理应分别测试首个 token 延迟和后续 token 吞吐,而不是只看矩阵乘法 TFLOPS。

采用 AMD 方案时,检查的是迁移成本而非口号

对于准备引入第二套 AI 计算平台的团队,可以按以下清单做小规模验证:

  • 选择一到两个真实模型,避免只运行厂商优化过的演示程序。
  • 固定模型版本、精度、批大小和输入长度,确保不同平台结果可比。
  • 列出自定义 CUDA 算子、第三方扩展和专用推理引擎,逐项确认替代路径。
  • 同时测量性能、功耗、节点价格、工程改造时间和运维复杂度。
  • 做至少一次多卡或多机测试,观察通信开销和长时间稳定性。
  • 准备可回滚的容器镜像与部署配置,不要让试点直接绑定生产环境。

AMD 短暂站上万亿美元,说明市场相信 AI 算力供给不会永远只有一种选择。但对开发团队而言,真正有意义的信号不是股价,而是另一套计算平台是否已经能以可控的迁移成本承载生产负载。GPU 决定上限,CPU、软件、互连与交付能力共同决定这条上限能否被用到。


相关推荐