快捷键

后端最佳实践 ¶

x86 CPU

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

您可以通过使用 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 进一步提高工作负载的性能。


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

查看 PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源