后端最佳实践

x86 处理器

在现代 x86 CPU 上,编译的工作负载通常通过单指令多数据(SIMD)指令集进行优化。SIMD 是一种用于高性能计算的典型并行处理技术,例如深度学习模型训练和推理。使用 SIMD 后,在任何给定的时间槽中,每个计算单元会执行相同的指令但处理不同的数据。最常用的启用 SIMD 的 x86 指令集架构(ISA)包括 AVX, AVX2, AVX-512AMX

你可以通过运行collect_env 脚本来检查你的机器支持的 ISAs。该脚本提供了 PyTorch 的完整环境信息,因此我们可以使用 grep 来提取包含 ISA 信息的那一行:

python collect_env.py | grep "a[(v|m)]x"

通常,如果支持 AVX-512,则应观察以“avx512”开头的指令(如 avx512favx512bwavx512_vnni)。如果支持 AMX,则应观察以“amx”开头的指令(如 amx_tileamx_bf16amx_int8)。

具体来说,对于开启了AMX指令的服务器,可以通过利用AMX进一步提高工作负载的性能。

本页目录