Skip to content

Commit af37bd4

Browse files
committed
distinguish different KCPP linux cuda versions
1 parent e0b0173 commit af37bd4

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

.github/workflows/kcpp-build-release-linux-cuda12.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Build
2525
id: make_build
2626
run: |
27-
./koboldcpp.sh dist
27+
./koboldcpp_cuda_12.1.sh dist
2828
2929
- name: Save artifact
3030
uses: actions/upload-artifact@v3

koboldcpp_cuda_12.1.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
3+
if [ ! -f "bin/micromamba" ]; then
4+
curl -Ls https://anaconda.org/conda-forge/micromamba/1.5.3/download/linux-64/micromamba-1.5.3-0.tar.bz2 | tar -xvj bin/micromamba
5+
fi
6+
7+
if [[ ! -f "conda/envs/linux/bin/python" || $1 == "rebuild" ]]; then
8+
cp environment.yaml environment.tmp.yaml
9+
if [ -n "$KCPP_CUDA" ]; then
10+
sed -i -e "s/nvidia\/label\/cuda-12.1.0/nvidia\/label\/cuda-$KCPP_CUDA/g" environment.tmp.yaml
11+
else
12+
KCPP_CUDA=12.1.0
13+
fi
14+
bin/micromamba create --no-rc --no-shortcuts -r conda -p conda/envs/linux -f environment.tmp.yaml -y
15+
bin/micromamba create --no-rc --no-shortcuts -r conda -p conda/envs/linux -f environment.tmp.yaml -y
16+
bin/micromamba run -r conda -p conda/envs/linux make clean
17+
echo $KCPP_CUDA > conda/envs/linux/cudaver
18+
echo rm environment.tmp.yaml
19+
fi
20+
KCPP_CUDA=$(<conda/envs/linux/cudaver)
21+
KCPP_CUDAAPPEND=-cuda${KCPP_CUDA//.}$KCPP_APPEND
22+
23+
bin/micromamba run -r conda -p conda/envs/linux make -j$(nproc) LLAMA_VULKAN=1 LLAMA_OPENBLAS=1 LLAMA_CLBLAST=1 LLAMA_CUBLAS=1 LLAMA_PORTABLE=1 LLAMA_ADD_CONDA_PATHS=1
24+
25+
if [[ $1 == "rebuild" ]]; then
26+
echo Rebuild complete, you can now try to launch Koboldcpp.
27+
elif [[ $1 == "dist" ]]; then
28+
bin/micromamba remove --no-rc -r conda -p conda/envs/linux --force ocl-icd -y
29+
bin/micromamba run -r conda -p conda/envs/linux pyinstaller --noconfirm --onefile --collect-all customtkinter --collect-all psutil --add-data './koboldcpp_default.so:.' --add-data './koboldcpp_cublas.so:.' --add-data './koboldcpp_vulkan.so:.' --add-data './koboldcpp_openblas.so:.' --add-data './koboldcpp_clblast.so:.' --add-data "./koboldcpp_failsafe.so:." --add-data "./koboldcpp_noavx2.so:." --add-data "./koboldcpp_clblast_noavx2.so:." --add-data "./koboldcpp_vulkan_noavx2.so:." --add-data "./koboldcpp_vulkan.so:." --add-data './kcpp_adapters:./kcpp_adapters' --add-data './klite.embd:.' --add-data './kcpp_docs.embd:.' --add-data './kcpp_sdui.embd:.' --add-data './taesd.embd:.' --add-data './taesd_xl.embd:.' --add-data './rwkv_vocab.embd:.' --add-data './rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-linux-x64$KCPP_CUDAAPPEND"
30+
bin/micromamba run -r conda -p conda/envs/linux pyinstaller --noconfirm --onefile --collect-all customtkinter --collect-all psutil --add-data './koboldcpp_default.so:.' --add-data './koboldcpp_openblas.so:.' --add-data './koboldcpp_vulkan.so:.' --add-data './koboldcpp_clblast.so:.' --add-data "./koboldcpp_failsafe.so:." --add-data "./koboldcpp_noavx2.so:." --add-data "./koboldcpp_clblast_noavx2.so:." --add-data "./koboldcpp_vulkan_noavx2.so:." --add-data "./koboldcpp_vulkan.so:." --add-data './kcpp_adapters:./kcpp_adapters' --add-data './klite.embd:.' --add-data './kcpp_docs.embd:.' --add-data './kcpp_sdui.embd:.' --add-data './taesd.embd:.' --add-data './taesd_xl.embd:.' --add-data './rwkv_vocab.embd:.' --add-data './rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-linux-x64-nocuda$KCPP_APPEND"
31+
bin/micromamba install --no-rc -r conda -p conda/envs/linux ocl-icd -c conda-forge -y
32+
else
33+
bin/micromamba run -r conda -p conda/envs/linux python koboldcpp.py $*
34+
fi

0 commit comments

Comments
 (0)