分離不同版本的CUDA環境來運行不同的程式 - leo895tw/- GitHub Wiki

目前我擁有sd-stable-diffusion-webui與Rope以及facefusion這些程式,我想問這三套有些使用CUDA11x有的用CUDA12x 我可以用上面方法分離嗎? ChatGPT 是的,你可以使用上面的方法分離不同版本的CUDA環境來運行不同的程式。具體來說,你可以為每個程式設置一個獨立的虛擬環境,並在虛擬環境中指定相應的CUDA版本。以下是如何設置的具體步驟:

為每個程式創建虛擬環境 首先,為每個程式創建一個虛擬環境。假設你使用的是Anaconda:

bash 複製程式碼 conda create -n sd-env python=3.10 conda create -n rope-env python=3.10 conda create -n facefusion-env python=3.10 安裝相應的CUDA版本 為每個虛擬環境安裝所需的CUDA版本和依賴庫。你可以在激活虛擬環境後安裝相應的CUDA包。例如,假設sd-stable-diffusion-webui需要CUDA 11.8,而Rope和facefusion需要CUDA 12.1:

bash 複製程式碼 conda activate sd-env conda install cudatoolkit=11.8

安裝其他依賴庫

bash 複製程式碼 conda activate rope-env conda install cudatoolkit=12.1

安裝其他依賴庫

bash 複製程式碼 conda activate facefusion-env conda install cudatoolkit=12.1

安裝其他依賴庫

設置環境變量 為每個虛擬環境設置CUDA的環境變量。例如,在sd-stable-diffusion-webui的環境中設置CUDA 11.8的環境變量:

bash 複製程式碼 set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin;%PATH% set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8 類似地,為Rope和facefusion設置CUDA 12.1的環境變量:

bash 複製程式碼 set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin;%PATH% set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1 運行程序 每次運行程序時,激活相應的虛擬環境並設置CUDA的環境變量。例如,運行sd-stable-diffusion-webui:

bash 複製程式碼 conda activate sd-env set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin;%PATH% set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

運行程序

python sd-stable-diffusion-webui.py 運行Rope或facefusion:

bash 複製程式碼 conda activate rope-env set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin;%PATH% set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1

運行程序

python rope.py 這樣,你可以在同一台機器上運行不同版本的CUDA來支持不同的程序。