查看: 53|回覆: 2

Windows平台下CUDA安装及llama.cpp使用教程

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-5-29
發表於 2026-4-29 09:10:00 | 顯示全部樓層 |閲讀模式

本文将详细讲解Windows平台下,如何安装与NVIDIA RTX显卡匹配的CUDA工具包,并正确配置、使用llama.cpp加载大模型,实现模型高效运行(将模型几乎全放入显卡,提升推理速度),全程结合实操截图与具体命令,新手可直接跟着操作。

1.首先需要下载与RTX对应的CUDA驱动,此处必须保证完全一致,执行nvidia-smi命令获取版本信息,这里最高支持CUDA Version: 12.8版。

{6B5BDD06-56B3-41F2-9D47-14CF816CB525}

{52029944-99B5-47D1-B412-C9DB91C7C1F8}

2.接着下载Cuda 12.4并选择自定义安装。

https://developer.nvidia.cn/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local

{DA44A7A6-BB83-4481-8893-1D918A1A20FB}

3.大模型加载器需要是12版,所以就只能下载llama.cpp12系列的,其他版本会报错。

image

4.执行命令直接启动llama.cpp,模型几乎全放进显卡。

使用30层。

llama-server.exe -m qwen.gguf --host 127.0.0.1 --port 11433 -c 1024 --n-gpu-layers 30

{A493AA74-D504-4758-89CC-DCE1DED1C2F9}

运行之前把防火墙关闭,不然可能会无法连接。

{B1BD4F81-CBF0-42D9-8D4D-5542462C82B5}

5.准备好测试脚本,如下所示,让其输出500个字的概述。

import json
from urllib import request, error

url = "http://127.0.0.1:11433/completion"
headers = {"Content-Type": "application/json"}
data = {
    "model": "qwen.gguf",
    "prompt": "你好,请用500字介绍一下通义千问",
    "temperature": 0.7,
    "max_tokens": 512,
    "ctx_size": 4096,
    "stop": ["<|im_end|>"]
}

try:
    data_json = json.dumps(data).encode("utf-8")
    req = request.Request(url, data=data_json, headers=headers, method="POST")
    with request.urlopen(req, timeout=60) as response:
        result = json.loads(response.read().decode("utf-8"))

    print("生成结果:")
    print(result["content"])
except error.HTTPError as e:
    print(f"调用失败(HTTP错误):{e.code} - {e.reason}")
except error.URLError as e:
    print(f"调用失败(连接/网络错误):{e.reason}")
except Exception as e:
    print(f"调用失败(其他异常):{e}")

运行结果如下:

{A74D02F7-7625-4879-B365-3F237A1BC18F}

回覆

使用道具 舉報

0

主題

720

回帖

4441

積分

琼殿精英

金币
3721
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-5-8 07:30:39 | 顯示全部樓層
感谢楼主的详细教程!

看到这么详细的Windows平台CUDA+llama.cpp部署攻略,对新手来说确实很友好。我之前在配置环境的时候踩了不少坑,今天终于找到一篇说得这么清楚的了。

想请教几个问题:

1. 关于CUDA版本,楼主提到驱动最高支持12.8,但安装的是12.4,这两个版本兼容性怎么样?我看有些教程说最好装和驱动匹配的版本,是这样吗?

2. 关于GPU层数设置,30层这个数字是怎么确定的?是不是层数越多越好?还是说要根据自己显卡的显存大小来调整?

3. 防火墙部分,如果不想关闭防火墙的话,需要开放哪些端口或者添加什么规则?

另外补充一点个人经验,如果大家用的是CUDA 12.4的话,记得在环境变量里检查一下CUDA_PATH和CUDA_PATH_V12_4是否都配置正确,有时候安装程序没自动加进去,手动加一下可以避免很多奇怪的问题。

NVIDIA CUDA下载页面这边也可以直接选版本,比帖子里的链接更全一些。

再次感谢楼主的分享,期待更多类似的实战教程![emot]smile[/emot]
回覆

使用道具 舉報

0

主題

67

回帖

84

積分

琼殿精英

金币
17
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-9-27
發表於 2026-5-8 07:30:52 | 顯示全部樓層
感谢楼主的详细教程! 看到这么详细的Windows平台CUDA+llama.cpp部署攻略,对新手来说确实很友好。我之前在配置环境的时候踩了不少坑,今天终于找到一篇说得这么清楚的了。 想请教几个问题: 1. 关于CUDA版本,楼主提到驱动最高支持12.8,但安装的是12.4,这两个版本兼容性怎么样?我看有些教程说最好装和驱动匹配的版本,是这样吗? 2. 关于GPU层数设置,30层这个数字是怎么确定的?是不是层数越多越好?还是说要根据自己显卡的显存大小来调整? 3. 防火墙部分,如果不想关闭防火墙的话,需要开放哪些端口或者添加什么规则? 另外 ...

这位朋友问的几个问题都很关键,我来分享一下我的理解。

关于CUDA版本,驱动支持的“最高版本”是指你的显卡驱动能兼容的CUDA工具包的上限。通常安装低于这个上限的版本(比如这里的12.4)是完全可以的,而且很多时候为了稳定,会选择比驱动支持版本稍低一些的CUDA。只要在支持范围内,兼容性一般没问题,不必强求完全一致。

GPU层数的设置,绝对不是越多越好。这个参数决定了有多少层模型参数会被卸载到显卡显存中运行。理想情况是设置一个能让你模型绝大部分(比如90%以上)参数都跑在GPU上的层数。30层可能是一个针对楼主所用特定模型和显卡显存容量(比如8GB或12GB)的经验值。你需要根据你的实际显存大小和模型文件的大小来调整,目标是尽可能多地利用显存,但不要超过导致内存溢出的临界点。可以先尝试一个值,观察运行时的显存占用情况来微调。

防火墙的问题,如果你不想完全关闭,通常需要允许llama.cpp相关应用程序(或你用来启动服务的命令行工具)通过防火墙。更具体一点,如果后续涉及到网络访问(比如作为API服务),你可能需要在防火墙中为这个服务所使用的特定端口(例如常见的8080端口)添加一条“入站规则”,允许该端口的连接。可以先保持防火墙开启,如果运行时出现连接问题,再根据错误信息去配置对应的规则。

希望这些补充能帮到你,大家一起交流学习!
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部