-
背景最近在做chatGLM3,但是发现模型升级到最新版后,输出反而变慢了。去官方询问得知是NVIDIA驱动版本旧了,需要升级常用命令查看显卡信息查看自己的显卡信息:lspci | grep -i nvidia我这里是A100的显卡,由于特殊原因无法显示。对于正常家用的GTX1080显卡,显示如下查看显卡状态nvidia-smi:GPU驱动版本,dirverAPI(支持的最高cuda版本)watch -n 1 nvidia-smi:动态监控显卡状态查看CUDAToolkit版本nvcc -V:CUDAToolkit版本,timeAPI(运行时API)更新CUDA版本找到NVIDIA版本列表:cid:link_1点击下载最新版:Download Latest CUDA Toolkit这里我的电脑是Centos,因此选择Linux。Architecture 可以使用如下命令查看使用uname -m可以查看当前Architecture架构(我这里是x86_64)CUDA 只支持Centos7基础安装在线安装方式如下sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo sudo yum clean all sudo yum -y install cuda-toolkit-12-4安装好后,使用该命令可以验证安装是否成功yum list installed | grep cuda-toolkit驱动安装sudo yum -y install nvidia-driver-latest-dkms sudo yum -y install kmod-nvidia-open-dkms在执行第二条命令时报错了,查阅资料,网上说是因为本机装了太多个NVIDIA驱动,因此要删除旧版驱动使用yum list installed | grep dkms 命令,可以在已安装的软件列表中,搜索关键词带有dkms的软件并且,此时使用nvidia-smi命令会报错如下:Failed to initialize NVML: Driver/library version mismatch需要去官网下载最新的驱动。cid:link_2因为我这台显卡是A100,CUDA用的是最新的12.4,因此选择如下产品类型:Data Center / Tesla产品系列:A-Series产品家族:NVIDIA A100操作系统:Linux 64-bit RHEL 7CUDA Toolkit:12.4语言:Chinese(Simplified)然后点击搜索点击下载,从windows这里复制下载地址,然后在centos中,使用wget命令进行下载wget https://cn.download.nvidia.cn/tesla/550.54.14/nvidia-driver-local-repo-rhel7-550.54.14-1.0-1.x86_64.rpm使用下面进行安装rpm -ivh nvidia-driver-local-repo-rhel7-550.54.14-1.0-1.x86_64.rpm然后按照文档还要执行如下几个命令rpm -i nvidia-driver-local-repo-rhel7-460.106.00-1.0-1.x86_64.rpm yum clean all yum install cuda-drivers reboot解决问题nvidia-smi 报错Failed to initialize NVML: Driver/library version mismatch NVML library version: 550.54cat /proc/driver/nvidia/version 输出如下NVRM version: NVIDIA UNIX x86_64 Kernel Module 515.86.01 Wed Oct 26 09:12:38 UTC 2022 GCC version: gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)把nvidia有关的包全部卸载,然后重装Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译。这个可以参考这篇博客:cid:link_3发生错误时,可以使用如下命令查看日志,对问题进行定位cat /var/log/nvidia-installer.log通过查看日志可以得知,是默认的gcc版本太低,切换成高版本的gcc后,通过NVIDIA官网脚本安装即可:cid:link_0
-
问题显示: File "/home/ma-user/work/DDA6/src/models.py", line 99, in backward loss.backward() File "/home/ma-user/anaconda3/envs/Pytorch-1.8.1/lib/python3.7/site-packages/torch/tensor.py", line 245, in backward torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs) File "/home/ma-user/anaconda3/envs/Pytorch-1.8.1/lib/python3.7/site-packages/torch/autograd/__init__.py", line 147, in backward allow_unreachable=True, accumulate_grad=True) # allow_unreachable flag RuntimeError: The size of tensor a (256) must match the size of tensor b (64) at non-singleton dimension 3问题描述:在pytorch框架下的代码,从cuda往cann迁移,在cuda正常运行,而在cann中可以开始训练,但会卡在 loss.backward() 求大佬帮忙
推荐直播
-
华为AI技术发展与挑战:集成需求分析的实战指南
2024/11/26 周二 18:20-20:20
Alex 华为云学堂技术讲师
本期直播将综合讨论华为AI技术的发展现状,技术挑战,并深入探讨华为AI应用开发过程中的需求分析过程,从理论到实践帮助开发者快速掌握华为AI应用集成需求的框架和方法。
去报名 -
华为云DataArts+DWS助力企业数据治理一站式解决方案及应用实践
2024/11/27 周三 16:30-18:00
Walter.chi 华为云数据治理DTSE技术布道师
想知道数据治理项目中,数据主题域如何合理划分?数据标准及主数据标准如何制定?数仓分层模型如何合理规划?华为云DataArts+DWS助力企业数据治理项目一站式解决方案和应用实践告诉您答案!本期将从数据趋势、数据治理方案、数据治理规划及落地,案例分享四个方面来助力企业数据治理项目合理咨询规划及顺利实施。
去报名
热门标签