wsl linux CUDA安装、卸载、清理、版本降级、升级过程详解

1 前言

  最近折腾Genesis的开发环境,遇到了Segmentation fault (core dumped)错误,官方说要降NVIDIA Driver的版本降为550CUDA的版本要降为12.1。结果降了以后,不仅错误还在,而且连Hello Genesis也跑不起来了,也是这个Segmentation fault (core dumped)错误。无奈之下只能再把版本给升级回来,一顿折腾,这里做下记录。

2 卸载与重新安装

2.1 列出所有与 CUDA 相关的包

dpkg -l | grep cuda

在这里插入图片描述

2.2 卸载 CUDA

sudo apt-get --purge remove ‘cuda*’
sudo apt-get --purge remove ‘nvidia*’

2.3 删除残留文件

sudo rm -rf /usr/local/cuda*

2.4 移除 CUDA 仓库包

sudo dpkg --purge --force-all cuda-repo-wsl-ubuntu-12-1-local

2.5 删除仓库目录

sudo rm -rf /var/cuda-repo-wsl-ubuntu-12-1-local

2.6 移除所有 CUDA 相关包

sudo apt-get purge ‘cuda*’
sudo apt-get autoremove -y

2.7 删除 CUDA 的优先级配置文件

sudo rm /etc/apt/preferences.d/cuda-repository-pin-600

2.8 查看所有 APT 源中的 CUDA 条目

grep -r “cuda” /etc/apt/sources.list /etc/apt/sources.list.d/

在这里插入图片描述

2.9 移除或禁用不需要的 CUDA 仓库源

sudo rm /etc/apt/sources.list.d/cuda-wsl-ubuntu-12-1-local.list

2.10 删除所有 APT 列表文件

sudo rm -rf /var/lib/apt/lists/*

2.11 重新生成 Packages.gz

sudo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

2.12 更新 APT 包列表

sudo apt-get update

2.13 创建或编辑 APT 优先级文件

sudo nano /etc/apt/preferences.d/cuda-local.pref

将版本改成自己想要升级或降级的版本,按 Ctrl+O 保存,Ctrl+X 退出,如果不知道版本,全部删掉即可。
在这里插入图片描述

2.14 安装新CUDA

runfile方式:参考windows wsl linux环境下搭建 Genesis 引擎开发环境
deb方式:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-wsl-ubuntu-12-4-local_12.4.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-4-local_12.4.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4

2.15 编辑环境变量

vim ~/.bashrc

i 进入编辑模式,esc 退出编辑, :wq 保存并退出
修改下面两行为自己的版本即可:
export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH

2.16 刷新环境变量

source ~/.bashrc

2.17 查看版本信息

nvcc -V

在这里插入图片描述

3 总结

  本文详细讲述了wsl linux环境下(Ubuntu)CUDA的安装、卸载、清理、版本降级、升级过程,对整个过程中的命令进行了详细的解释,是自己的实践经验,也希望对读者有所帮助,另外作者创建了一个Genesis群,有想加的同学可以公众号回复Genesis交流群,回见~

### Avalonia UI框架教程与开发指南 #### 了解Avalonia的基础概念 Avalonia是一个用于.NET平台的跨平台UI框架,支持Windows、macOS和Linux等多个操作系统[^1]。此框架允许开发者构建具有现代化界面的应用程序,并且其核心特性之一是在多个平台上提供一致的用户体验。 #### 安装与配置环境 为了开始学习如何使用Avalonia进行应用开发,首先需要设置好工作环境。可以从[Avalonia官方文档](https://docs.avaloniaui.net/)获取详细的安装指导,这里包含了关于.NET SDK版本的选择以及Visual Studio或其他IDE插件的支持说明[^2]。 #### 创建第一个Avalonia应用程序 一旦完成了必要的软件安装之后,就可以着手建立首个基于Avalonia的应用实例了。通过命令行工具或集成开发环境中提供的模板来快速启动一个新的项目结构。对于初学者来说,尝试模仿一些简单的例子是非常有帮助的;这些可以在GitHub仓库中的示例部分找到。 ```csharp using Avalonia; using Avalonia.Controls.ApplicationLifetimes; class Program { public static void Main(string[] args) => BuildAvaloniaApp() .StartWithClassicDesktopLifetime(args); public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>() .UsePlatformDetect(); } ``` 这段C#代码展示了最基础的一个Avalonia应用程序入口点是如何编写的。`BuildAvaloniaApp()`方法负责初始化并返回一个配置好的应用程序对象,而`.StartWithClassicDesktopLifetime(args)`则会处理运行时生命周期管理的任务。 #### 学习XAML布局设计 熟悉XAML(可扩展应用程序标记语言)是掌握Avalonia的关键所在。这种声明式的XML风格语法被用来定义用户界面上的各种元素及其属性。深入研究有关绑定数据源到视图组件的技术也是必不可少的一部分,因为这有助于实现动态更新的内容展示功能。 #### 探索高级特性和最佳实践 随着技能的增长,探索更多复杂的主题如样式化控件、动画效果制作或是响应式设计原则将会进一步提升所创建产品的质量。同时也要关注社区内分享的最佳实践经验,这对于提高效率和解决潜在问题都大有益处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIGIS.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值