如何在Google Compute Engine上更新ptxas(NVIDIA工具链)及相关问题
我使用搭载NVIDIA A100 40GB GPU的Debian系Google Compute Engine(GCE)实例,运行应用时收到如下警告:
external/org_tensorflow/tensorflow/compiler/xla/stream_executor/gpu/asm_compiler.cc:114]
*** WARNING *** You are using ptxas 11.0.221, which is older than 11.1.
ptxas before 11.1 is known to miscompile XLA code, leading to incorrect results or invalid-address errors.
当前已安装的NVIDIA相关包如下:
$ apt list --installed | grep nvidia libnvidia-container-tools/buster,now 1.13.1-1 amd64 [installed,upgradable to: 1.13.5-1] libnvidia-container1/buster,now 1.13.1-1 amd64 [installed,upgradable to: 1.13.5-1] nvidia-container-toolkit-base/buster,now 1.13.1-1 amd64 [installed,upgradable to: 1.13.5-1] nvidia-container-toolkit/buster,now 1.13.1-1 amd64 [installed,upgradable to: 1.13.5-1] nvidia-docker2/buster,now 2.13.0-1 all [installed]
请问ptxas是否包含在上述已安装的包中?如何更新ptxas?以及如何指定更新版本?
1. ptxas是否在已安装包中?
不在。你列出的所有包都是NVIDIA容器工具链相关组件,用于容器化GPU应用的部署。而ptxas是NVIDIA CUDA Toolkit的核心编译工具之一,负责将PTX代码编译为GPU可执行的二进制代码,不属于你当前安装的这些包。
2. 如何更新ptxas?
ptxas随CUDA Toolkit一起发布,更新它需要升级CUDA Toolkit版本,步骤如下:
- 确认当前CUDA和ptxas版本:
nvcc --version ptxas --version - 卸载旧版CUDA(若当前版本低于11.1):
sudo apt purge cuda* nvidia-cuda-toolkit* sudo apt autoremove - 添加NVIDIA官方CUDA Debian仓库:
wget https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb - 更新APT缓存:
sudo apt update - 安装CUDA Toolkit(完成后ptxas会自动更新):
sudo apt install cuda - 配置环境变量,确保系统能识别新的ptxas:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc source ~/.bashrc - 验证更新结果:
ptxas --version
3. 如何指定更新版本?
安装时通过cuda-<主版本号>-<次版本号>的包名即可选择特定版本,例如:
- 安装满足警告要求的最低版本CUDA 11.1:
sudo apt install cuda-11-1 - 安装稳定长期支持版本CUDA 11.8(兼容A100):
sudo apt install cuda-11-8 - 安装较新主流版本CUDA 12.2:
sudo apt install cuda-12-2
注意:A100 GPU需要CUDA 11.0及以上版本,推荐选择11.1以上的稳定版本,避免兼容性问题。
内容的提问来源于stack exchange,提问作者Gary Aitken

