当前位置: 首页 > article >正文

双3060、Ubuntu22.04、cuda12.8安装deepseek 32b-Q8

以下是针对双RTX 3060显卡(12GB显存)在Ubuntu 22.04系统部署DeepSeek-R1-32b-qwen-distill-q8模型的完整流程,结合最新技术规范与魔塔社区资源:


一、驱动与CUDA环境配置

1. 禁用开源驱动
 

bash

sudo tee /etc/modprobe.d/blacklist-nouveau.conf <<< "blacklist nouveau
options nouveau modeset=0"
sudo update-initramfs -u && sudo reboot  # 参考网页2的驱动管理方法
2. 安装NVIDIA驱动570.57(适配CUDA 12.8)
 

bash

wget https://us.download.nvidia.com/XFree86/Linux-x86_64/570.57/NVIDIA-Linux-x86_64-570.57.run
sudo chmod +x NVIDIA-Linux-x86_64-570.57.run
sudo ./NVIDIA-Linux-x86_64-570.57.run --silent --no-opengl-files
sudo reboot

验证驱动:nvidia-smi应显示驱动版本570.57且双卡在线

3. 安装CUDA 12.8
bash
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_555.51_linux.run
sudo sh cuda_12.8.0_555.51_linux.run  # 取消勾选Driver选项
bash
echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

二、Python环境与PyTorch安装

1. 安装Python 3.10
bash
sudo apt update && sudo apt install python3.10 python3.10-venv
python3.10 -m venv ~/deepseek-env
source ~/deepseek-env/bin/activate
2. 安装PyTorch 2.3.1(适配CUDA 12.8)(这里使用了官方nightly编译版本,方法到官网复制)
bash
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

版本对应关系:CUDA 12.8 + 驱动570.57 → PyTorch 2.3.1+cu121

2

3


三、llama.cpp服务端部署

1. 获取源码(不使用git clone)

bash

wget https://github.com/ggerganov/llama.cpp/archive/refs/tags/b3117.tar.gz
tar -zxvf llama.cpp.tar.gz && cd llama.cpp-b3117
2. CMake编译双显卡优化版本

bash

mkdir build && cd build
cmake .. -DLLAMA_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=86 -DLLAMA_NVCC_FLAGS="--use_fast_math" -DLLAMA_AVX2=ON
cmake --build . --config Release -j $(nproc)  # 参考网页3的编译优化思路

关键参数说明:

  • -DLLAMA_CUDA=ON:替代已弃用的CUBLAS参数
  • -DCMAKE_CUDA_ARCHITECTURES=86:适配RTX 3060的Ampere架构
  • -DLLAMA_NVCC_FLAGS:启用快速数学优化

四、模型下载与部署

1. 魔塔社区下载地址
魔搭社区

bash

wget https://www.modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-32B-GGUF/resolve/master/DeepSeek-R1-Distill-Qwen-32B-Q8_0.gguf

注:需登录魔塔社区

1

3

2. 模型存放

bash

mkdir -p ~/models && mv deepseek-r1-32b-qwen-distill.Q8_0.gguf ~/models/

五、双显卡API服务配置

1. 启动命令

bash

./server -m ~/models/deepseek-r1-32b-qwen-distill.Q8_0.gguf \--host 0.0.0.0 --port 11434 \--n-gpu-layers 99 \             # 全量GPU计算层--tensor-split 11,11 \          # 显存分配(每卡11GB)--parallel 2 \                  # 双卡张量并行--main-gpu 0 \                  # 主卡ID--ctx-size 4096 \--mlock \--flash-attn \--batch-size 512
2. 性能优化技巧
  • 显存分配:根据网页3建议,实际可用显存=总显存-2GB系统保留
  • PCIe带宽优化sudo nvidia-smi -i 0,1 -pm 1保持高性能模式

    2

  • 冷启动加速:添加--preload参数预加载模型至显存

    1


六、服务验证

bash

# GPU利用率监控
nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv -l 2# API压力测试
curl http://localhost:11434/v1/completions \-H "Content-Type: application/json" \-d '{"prompt": "如何优化双显卡的深度学习推理性能?", "max_tokens": 500}'

版本兼容性矩阵

组件版本适配说明
NVIDIA驱动570.57CUDA 12.8最低要求
CUDA12.8.0需驱动≥570
PyTorch2.3.1+cu121通过cu121后缀兼容
llama.cppb3117支持张量并行

常见问题处理

  1. 显存不足:降低--tensor-split值(如10,10),或减少--ctx-size至2048
  2. 模型加载失败:使用md5sum校验模型文件,魔塔社区提供完整校验码
  3. 多卡未启用:检查PCIe连接状态,建议使用PCIe 4.0 x16插

相关文章:

双3060、Ubuntu22.04、cuda12.8安装deepseek 32b-Q8

以下是针对双RTX 3060显卡&#xff08;12GB显存&#xff09;在Ubuntu 22.04系统部署DeepSeek-R1-32b-qwen-distill-q8模型的完整流程&#xff0c;结合最新技术规范与魔塔社区资源&#xff1a; 一、驱动与CUDA环境配置 1. 禁用开源驱动 bash sudo tee /etc/modprobe.d/blackli…...

无再暴露源站!群联AI云防护IP隐匿方案+防绕过实战

一、IP隐藏的核心原理 群联AI云防护通过三层架构实现源站IP深度隐藏&#xff1a; 流量入口层&#xff1a;用户访问域名解析至高防CNAME节点&#xff08;如ai-protect.example.com&#xff09;智能调度层&#xff1a;基于AI模型动态分配清洗节点&#xff0c;实时更新节点IP池回…...

Chrome 调试器第二次连接不上?

一、连接不上 当使用 chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") 连接 Chrome 调试器时&#xff0c;调试一次后就连不上&#xff0c;可能由以下几种原因导致&#xff1a; 1. Chrome 实例关闭 原因&#xff1a;在调试…...

【深度学习|目标检测】YOLO系列anchor-based原理详解

YOLO之anchor-based 一、关于anchors的设置二、网络如何利用anchor来训练关于register_buffer训练阶段的anchor使用推理阶段的anchor使用 三、训练时的正负样本匹配静态策略&#xff1a;跨分支采样跨anchor采样跨grid采样 动态策略 总结起来其实就是&#xff1a;基于anchor-bas…...

Linux 入门:权限的认识和学习

目录 一.shell命令以及运行原理 二.Linux权限的概念 1.Linux下两种用户 cannot open directory .: Permission denied 问题 2.Linux权限管理 1).是什么 2).为什么&#xff08;权限角色目标权限属性&#xff09; 3).文件访问者的分类&#xff08;角色&#xff09; 4).文…...

搭建opensbi+kernel+rootfs及基本设备驱动开发流程

目录 一.编译qemu 运行opensbikernelrootfs 1.编译qemu-9.1.1 2.安装riscv64编译器 3. 编译opensbi 4.编译kernel 5.编译rootfs 设备驱动开发流程 1.安装 RISC-V 交叉编译工具链 2.驱动开发准备 3.编写简易中断控制器驱动&#xff08;PLIC&#xff09;​ 4.配置内核…...

QT非UI设计器生成界面的国际化

目的 UI设计器生成界面的国际化&#xff0c;比较容易实现些&#xff0c;因为有现成的函数可以调用&#xff0c;基本过程如下&#xff1a; void MainWindow::on_actLang_CN_triggered() {//中文界面qApp->removeTranslator(trans);delete trans;transnew QTranslator;trans…...

python | 输入日期,判断这一天是这一年的第几天

题目&#xff1a; 使用 python 编程&#xff0c;实现输入日期&#xff0c;判断这一天是这一年的第几天? 具体实现代码如下&#xff1a; import datetime year input(请输入年份&#xff1a;) month input(请输入月份&#xff1a;) day input(请输入天&#xff1a;) date…...

openai 标准化协议 Structured Outputs 具体示例教程

Structured Outputs 具体示例教程 场景&#xff1a;个人财务管理助手 假设我们要构建一个 AI 助手&#xff0c;帮助用户记录和管理个人财务支出。用户可以输入自然语言描述&#xff08;如“昨天我花了50元买了午餐”&#xff09;&#xff0c;助手将提取关键信息并以结构化 JS…...

单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析

目录 第一点&#xff1a;为什么叫STM32F103C8T6 从资源手册拿到我们的对STM32F103C8T6的资源描述 第二件事情&#xff0c;关心我们的GPIO引脚输出 第三件事情&#xff1a;去找对应外设的说明部分 前言 本文章隶属于项目&#xff1a; Charliechen114514/BetterATK: This is…...

Maven | 站在初学者的角度配置

目录 Maven 是什么 概述 常见错误 创建错误代码示例 正确代码示例 Maven 的下载 Maven 依赖源 Maven 环境 环境变量 CMD测试 Maven 文件配置 本地仓库 远程仓库 Maven 工程创建 IDEA配置Maven IDEA Maven插件 Maven 是什么 概述 Maven是一个项目管理和构建自…...

【css酷炫效果】纯CSS实现3D翻转卡片动画

【css酷炫效果】纯CSS实现3D翻转卡片动画 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90490472 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&am…...

Go语言进化之旅:从1.18到1.24的语法变革

Gone 是一个基于 Go 语言开发的轻量级依赖注入框架&#xff0c;专注于通过模块化设计和代码生成技术&#xff0c;帮助开发者构建可测试、易维护的应用程序架构。 推挤你使用&#xff0c;项目地址&#xff1a;https://github.com/gone-io/gone 文章目录 里程碑变革&#xff1a;泛…...

玩转github

me github 可以给仓库添加开发人员吗 4o 是的&#xff0c;GitHub允许仓库管理员为仓库添加开发人员&#xff0c;并设置这些开发人员的角色和权限。这里是一个简单的步骤指导&#xff0c;教你如何给一个 GitHub 仓库添加开发人员&#xff1a; 前提条件 你必须有这个仓库的权限&…...

Spring Boot 实战:轻松实现文件上传与下载功能

目录 一、引言 二、Spring Boot 文件上传基础 &#xff08;一&#xff09;依赖引入 &#xff08;二&#xff09;配置文件设置 &#xff08;三&#xff09;文件上传接口编写 &#xff08;一&#xff09;文件类型限制 &#xff08;二&#xff09;文件大小验证 &#xff0…...

java 使用命令创建jar的常用参数整理

在Java中&#xff0c;创建JAR文件的命令是jar。以下是常用参数的表格展示&#xff1a; 参数信息含义使用场景使用示例c创建新的JAR文件用于创建一个新的JAR文件当需要打包类文件和资源文件时jar cf myapp.jar MyClass.classt列出JAR文件内容显示JAR文件中的内容列表查看JAR文件…...

用旧的手机搭建 MQTT Broker-Node_red

MQTT Broker搭建 在Android上搭建MQTT所需工具: termux 通过网盘分享的文件:termux-app_v0.118.1+github-debug_armeabi-v7a.apk 链接: https://pan.baidu.com/s/1Iii2szXAc02cKVGdP1EuzQ?pwd=fqsc 提取码: fqsc 在 Termux 中使用 MQTT(Message Queuing Telemetry Trans…...

并发编程面试题二

1、java线程常见的基本状态有哪些&#xff0c;这些状态分别是做什么的 &#xff08;1&#xff09;创建&#xff08;New&#xff09;&#xff1a;new Thread()&#xff0c;生成线程对象。 &#xff08;2&#xff09;就绪&#xff08;Runnable&#xff09;:当调用线程对象的sta…...

Spring Cloud Stream - 构建高可靠消息驱动与事件溯源架构

一、引言 在分布式系统中&#xff0c;传统的 REST 调用模式往往导致耦合&#xff0c;难以满足高并发和异步解耦的需求。消息驱动架构&#xff08;EDA, Event-Driven Architecture&#xff09;通过异步通信、事件溯源等模式&#xff0c;提高了系统的扩展性与可观测性。 作为 S…...

Android第三次面试总结(activity和线程池)

1. Activity 的生命周期方法有哪些&#xff1f;调用顺序是什么&#xff1f; 回答思路&#xff1a;列举 7 个核心方法并说明其触发场景。回答示例&#xff1a; 完整生命周期&#xff1a;onCreate() → onStart() → onResume() → onPause() → onStop() → onDestroy()。可见但…...

突破连接边界!O9201PM Wi-Fi 6 + 蓝牙 5.4 模块重新定义笔记本无线体验

在当今数字化时代&#xff0c;笔记本电脑已成为人们工作、学习和娱乐的必备工具。而无线连接技术&#xff0c;作为笔记本电脑与外界交互的关键桥梁&#xff0c;其性能的优劣直接关乎用户体验的好坏。当下&#xff0c;笔记本电脑无线连接领域存在诸多痛点&#xff0c;严重影响着…...

C语言之 循环语句:程序运行的核心动力(上)

个人主页&#xff1a;strive-debug 在 C 语言中&#xff0c;分支结构可以通过 if、switch 语句来实现&#xff0c;循环结构则可以通过 for、while、do while 语句来实现。 if 语句 if 语句的语法形式如下&#xff1a; if (表达式)语句; 如果表达式成立&#xff08;为真&am…...

Python----计算机视觉处理(Opencv:图像颜色替换)

一、开运算 开运算就是对图像先进行腐蚀操作&#xff0c; 然后进行膨胀操作。开运算可以去除二值化图中的小的噪点&#xff0c;并分离相连的物体。 其主要目的就是消除那些小白点 在开运算组件中&#xff0c;有一个叫做kernel的参数&#xff0c;指的是核的大小&#xff0c;通常…...

【后端开发面试题】每日 3 题(十三)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12903849.html &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享后端开发面试中常见的面试题给大家&#xff0c;每天的题目都是独…...

一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们来新建一个的蓝图模块-班级模块&#xff0c;后面可以和学生模块&#xff0c;实现一对多的数据库操作。 blueprint下新建g…...

Matlab 风力发电机磁悬浮轴承模型pid控制

1、内容简介 略 Matlab 174-风力发电机磁悬浮轴承模型pid控制 可以交流、咨询、答疑 2、内容说明 磁悬浮轴承具有无接触、无摩擦、高速度、高精度、能耗低、不需要需润滑无油污染、可靠性高、寿命长和密封等一系列显著的优点。将磁悬浮技术应用于风力发电机中可以降低风机切入…...

FPGA中级项目1——IP核(ROM 与 RAM)

FPGA中级项目1——IP核&#xff08;ROM 与 RAM&#xff09; IP核简介 在 FPGA&#xff08;现场可编程门阵列&#xff09;设计中&#xff0c;IP 核&#xff08;Intellectual Property Core&#xff0c;知识产权核&#xff09;是预先设计好的、可重用的电路模块&#xff0c;用于实…...

Elasticsearch 向量检索详解

文章目录 1、向量检索的用途2、适用场景2.1 自然语言处理&#xff08;NLP&#xff09;&#xff1a;2.2 图像搜索&#xff1a;2.3 推荐系统2.4 音视频搜索 3、向量检索的核心概念3.1 向量3.2 相似度计算3.3 向量索引 4、案例&#xff1a;基于文本的语义搜索5、总结 向量检索是 E…...

Matlab 基于专家pid控制的时滞系统

1、内容简介 Matlab 185-基于专家pid控制的时滞系统 可以交流、咨询、答疑 2、内容说明 略 在处理时滞系统&#xff08;Time Delay Systems&#xff09;时&#xff0c;使用传统的PID控制可能会面临挑战&#xff0c;因为时滞会导致系统的不稳定或性能下降。专家PID控制通过结…...

Unity 笔记:在EditorWindow中绘制 Sorting Layer

在Unity开发过程中&#xff0c;可能会对旧资源进行批量修改&#xff0c;一个个手动修改费人费事&#xff0c;所以催生出了一堆批量工具。 分享一下在此过程中绘制 Sorting Layer 面板的代码脚本。 示意图&#xff1a; 在 EditorGUI 和 EditorGUILayer 中内置了 SortingLayerF…...