news 2026/4/18 9:37:37

ubuntu配置Cuda

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ubuntu配置Cuda

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
看显卡类型
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

lspci | grep -i nvidia
# 输出如下
01:00.0 VGA compatible controller: NVIDIA Corporation Device 2216 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 1aef (rev a1)
https://admin.pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci
查询显卡类型
Name: GA106 [RTX A2000 12GB]

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
安装适合本机显卡的nvidia驱动
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


https://blog.csdn.net/ytusdc/article/details/132403852?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-132403852-blog-143232570.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.4242.1&utm_relevant_index=3

# 锁定内核版本
sudo apt-mark hold linux-image-generic linux-headers-generic

# 如需恢复更新执行
sudo apt-mark unhold linux-image-generic linux-headers-generic

# 检查锁定状态:
apt-mark showhold


ubuntu-drivers devices

modalias : pci:v000010DEd00002571sv000017AAsd00001611bc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-570 - distro non-free
driver : nvidia-driver-570-server - distro non-free
driver : nvidia-driver-535 - distro non-free
driver : nvidia-driver-535-server-open - distro non-free recommended
driver : nvidia-driver-535-open - distro non-free
driver : nvidia-driver-570-server-open - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-535-server - distro non-free
driver : nvidia-driver-570-open - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin

sudo apt install nvidia-driver-535 (nvidia-driver-535-server-open是服务器驱动 不能用)


lsmod | grep nouveau查看通用驱动nouveau是否安装

禁用nouveau

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

末尾插入:
blacklist nouveau
options nouveau modeset=0


sudo reboot


lsmod | grep nouveau


sudo apt-get purge libnvidia-compute-535-server:i386 libnvidia-decode-535-server:i386 libnvidia-encode-535-server:i386 libnvidia-fbc1-535-server:i386
sudo apt-get autoremove
sudo apt-get autoclean
# 检查是否还有NVIDIA相关包
dpkg -l | grep -i nvidia

# 清理配置文件
sudo find /etc -name "*nvidia*" -exec rm -rf {} \; 2>/dev/null || true

# 清理库文件残留
sudo find /usr/lib -name "*nvidia*" -exec rm -rf {} \; 2>/dev/null || true
sudo find /usr/lib/i386-linux-gnu -name "*nvidia*" -exec rm -rf {} \; 2>/dev/null || true
sudo update-initramfs -u
sudo apt install nvidia-driver-535 (nvidia-driver-535-server-open是服务器驱动 不能用)

sudo update-initramfs -u
sudo reboot

nvidia-smi应该可以正常输出了


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
安装cuda
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

下载匹配驱动的安装包
nvidia-smi 右上角显示的版本

wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run

sudo sh cuda_12.2.0_535.54.03_linux.run


https://blog.csdn.net/weixin_43889476/article/details/124468958(安装中注意事项 尤其是取消 驱动安装 勾选 (上下箭头移动 空格勾选/取消勾选))


touch

#!/bin/bash ubuntu_.sh

vim ubuntu_.sh


echo "正在配置CUDA 12.2环境变量..."

# 备份原有的.bashrc文件
cp ~/.bashrc ~/.bashrc.backup.$(date +%Y%m%d%H%M%S)

# 添加CUDA环境变量到.bashrc
cat >> ~/.bashrc << 'EOF'

# CUDA 12.2 Environment Setup
export CUDA_HOME=/usr/local/cuda-12.2
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LIBRARY_PATH

EOF

echo "环境变量配置完成!"
echo "请执行以下命令使配置生效:"
echo "source ~/.bashrc"
echo "或者重新启动终端"

# 验证配置
echo -e "\n验证配置:"
echo "CUDA_HOME: $CUDA_HOME"
echo "PATH中的CUDA路径: /usr/local/cuda-12.2/bin"
echo "LD_LIBRARY_PATH中的CUDA路径: /usr/local/cuda-12.2/lib64"

chmod +x ubuntu_.sh

./ubuntu_.sh


source ~/.bashrc

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
构建cuda docker
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

docker构建流程:
mkdir xxx

cd xxx

touch Dockerfile

vim Dockerfile


# 基于您现有的SFM镜像
FROM sfm_docker:opencv

# 添加NVIDIA CUDA官方APT源
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
gnupg2 \
ca-certificates \
&& wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb \
&& dpkg -i cuda-keyring_1.0-1_all.deb \
&& rm -rf /var/lib/apt/lists/*

# 更新包列表并安装CUDA运行时
RUN apt-get update && apt-get install -y --no-install-recommends \
cuda-cudart-12-2 \
cuda-command-line-tools-12-2 \
cuda-libraries-12-2 \
cuda-minimal-build-12-2 \
&& rm -rf /var/lib/apt/lists/*

# 设置CUDA环境变量
ENV CUDA_HOME=/usr/local/cuda-12.2
ENV PATH=${CUDA_HOME}/bin:${PATH}
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}

# 创建符号链接
RUN ln -s /usr/local/cuda-12.2 /usr/local/cuda

# 验证安装
RUN nvidia-smi || echo "CUDA环境配置完成"


docker build -t xxx .

docker run -it --gpus all -v ~/Mytool/ros2_test/sfm-cuda-upgrade:/app/data sfm_docker:cuda-opencv /bin/bash

sudo apt-get update

sudo apt-get install pip


sudo apt install -y cuda-toolkit-12-2


cmake -DCMAKE_PREFIX_PATH=/app/data/libtorch -DCUDA_NVCC_FLAGS="-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80" -Wno-dev ..

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
OpenSplat
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


~/Mytool/ros2_test/sfm-cuda-upgrade/OpenSplat/build$ meshlab ./splat.ply

部分编译Opensplat

部分编译color-map


本地编译liteviz-gs-master

target_link_libraries(liteviz-core
GLU
depends::glad
depends::glfw
depends::imgui
depends::tinyply
depends::tbb
depends::eigen # 原cmakelists没有这一行 编译失败
)

方法一:启用 X11 转发(推荐)
‌宿主机配置‌
在运行 Docker 容器前,允许本地 X 服务器接受容器连接:

xhost +local: # 重要 允许本地连接 ‌运行容器时挂载 X11 套接字‌ 使用以下命令启动容器:

bash
Copy Code
docker run -it --rm --gpus all\
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v ~/Mytool/ros2_test/sfm-cuda-upgrade:/app/data \
gaussian-splatting \
/bin/bash

apt-get install -y x11-apps

./viewer --lazy-load /app/data/OpenSplat/build/splat.ply
apt-get install -y x11-apps

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:43:38

17、邮件安全与Procmail入门指南

邮件安全与Procmail入门指南 1. 邮件系统安全措施 在邮件系统的运行中,保障其安全性至关重要。以下是一些有效的安全措施: - 限制IP接收邮件 :可以对Postfix进行配置,使其仅接受来自特定IP地址的邮件。这种设置在所有用户都在办公室环境下使用邮件时非常实用,能有效减…

作者头像 李华
网站建设 2026/4/18 5:35:29

哪吒监控:构建企业级服务器健康管理体系的智能解决方案

哪吒监控&#xff1a;构建企业级服务器健康管理体系的智能解决方案 【免费下载链接】nezha :trollface: Self-hosted, lightweight server and website monitoring and O&M tool 项目地址: https://gitcode.com/GitHub_Trending/ne/nezha 在数字化运维时代&#xff…

作者头像 李华
网站建设 2026/4/18 7:48:54

3步解决ViT模型部署难题:从臃肿到精干的实战指南

还在为Vision Transformer模型那庞大的体积发愁吗&#xff1f;当你满怀期待地在边缘设备上部署ViT模型时&#xff0c;却频频遭遇内存不足、推理缓慢的尴尬局面。别担心&#xff0c;今天我们就来聊聊如何通过剪枝技术让ViT模型"瘦身成功"&#xff0c;从1243MiB的"…

作者头像 李华
网站建设 2026/4/18 5:42:13

Unity角色移动系统完整解析:从《原神》到你的游戏项目

Unity角色移动系统完整解析&#xff1a;从《原神》到你的游戏项目 【免费下载链接】unity-genshin-impact-movement-system A movement system made in Unity that attempts to replicate Genshin Impact Movement. 项目地址: https://gitcode.com/gh_mirrors/un/unity-gensh…

作者头像 李华
网站建设 2026/4/17 8:35:11

高效掌握UpSetR:集合可视化难题的终极解决方案

高效掌握UpSetR&#xff1a;集合可视化难题的终极解决方案 【免费下载链接】UpSetR An R implementation of the UpSet set visualization technique published by Lex, Gehlenborg, et al.. 项目地址: https://gitcode.com/gh_mirrors/up/UpSetR 想要在R语言中优雅地展…

作者头像 李华
网站建设 2026/4/18 7:01:02

JAVA多合一:同城外卖跑腿团购服务新集成

借助 JAVA 微服务架构、高并发处理能力与生态兼容性&#xff0c;同城外卖、跑腿、团购服务可深度整合为一个高效、智能、无缝衔接的一体化平台&#xff0c;实现“一站式畅享”的多元服务体验。以下是具体实现路径与核心优势&#xff1a; 一、技术架构&#xff1a;JAVA微服务驱…

作者头像 李华