事先, 你需要确认你运行的是啥终端, 右键点击桌面上的开始菜单图标, 会有一个新菜单, 写着终端(管理员)。你最好应该运行的是它——也就是咱在Win+Q搜索x64 Native Tools Command Prompt for VS 2022得到的终端工具。否则我们之间可能讲的不是一个故事...
在本文发表的时候,基本没有人在其他Windows终端上编译成功。这意味着你需要事先安装Visual Studio 2022
笔者是在这里使用python venv创建的虚拟环境下跑的, 激活了虚拟环境之后, 笔者在命令行通过以下python脚本排查了torch是否支持cuda核心
import torch print(torch.__version__) # 输出版本号(如 2.6.0+cu124) print(torch.cuda.is_available()) # 如果你确认你是想跑ktransformer, 你必定是有显卡的, 这里应该返回 True
如果发现打印出来的cuda是False, 证明当前conda虚拟环境安装的torch是纯cpu版本, 默认会安装纯cpu版本, 这显然不是我们想要的。
pip uninstall torch pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
用上述代码重新安装了带GPU版本的torch
英伟达官方给的cuda toolkit, 一般是会设置一个PATH变量, 但很不幸, 变量名称是CUDA_PATH, 会搞出这个bug, 那你需要在此电脑->属性->高级系统设置->环境变量(N)...->下方的系统变量(S)的栏位里, 新建一个CUDA_HOME, 然后值那一栏填写和CUDA_PATH变量同样的值。
验证python安装脚本能正确识别CUDA_HOME
运行这个python脚本
import os print(os.environ.get("CUDA_HOME"))
应输出类似 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
我为什么要用cuda toolkit 12.4?
传说中有各种bug, 担心不适配, 等等问题。所以没用别的。