事先, 你需要確認你運行的是啥終耑, 右鍵點擊桌面上的開始菜單圖標, 會有一個新菜單, 寫著終耑(管理員)。你最好應該運行的是它——也就是咱在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, 擔心不適配, 等等問題。所以沒用別的。