mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2025-09-10 17:14:36 +00:00
CUDA 12 CI (#815)
* Allow KCPP_CUDA to specify CUDA version * CUDA 12 CI Linux * CUDA 12 CI * Fix KCPP_CUDA indent * KCPP_CUDA ENV Fix StackOverflow is bad for advice sometimes.... * Lowcase cuda on output filename * Strip . from filename output
This commit is contained in:
parent
a34a09d196
commit
b6bfab128f
3 changed files with 83 additions and 5 deletions
33
.github/workflows/kcpp-build-release-linux-cuda12.yaml
vendored
Normal file
33
.github/workflows/kcpp-build-release-linux-cuda12.yaml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
name: Koboldcpp Builder Linux CUDA12
|
||||||
|
|
||||||
|
on: workflow_dispatch
|
||||||
|
env:
|
||||||
|
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
||||||
|
KCPP_CUDA: 12.1.0
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linux:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: concedo_experimental
|
||||||
|
|
||||||
|
- name: Dependencies
|
||||||
|
id: depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install git curl bzip2
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: make_build
|
||||||
|
run: |
|
||||||
|
./koboldcpp.sh dist
|
||||||
|
|
||||||
|
- name: Save artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: kcpp_linux_binary
|
||||||
|
path: dist/
|
34
.github/workflows/kcpp-build-release-win-cuda12.yaml
vendored
Normal file
34
.github/workflows/kcpp-build-release-win-cuda12.yaml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
name: Koboldcpp Builder Windows CUDA12
|
||||||
|
|
||||||
|
on: workflow_dispatch
|
||||||
|
env:
|
||||||
|
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
windows:
|
||||||
|
runs-on: windows-2019
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: concedo_experimental
|
||||||
|
|
||||||
|
- uses: Jimver/cuda-toolkit@v0.2.11
|
||||||
|
id: cuda-toolkit
|
||||||
|
with:
|
||||||
|
cuda: '12.1.0'
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
run: |
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -DLLAMA_CUBLAS=ON -DCMAKE_SYSTEM_VERSION="10.0.19041.0"
|
||||||
|
cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
|
||||||
|
|
||||||
|
- name: Save artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: kcpp_windows_cuda_binary
|
||||||
|
path: build/bin/Release/
|
21
koboldcpp.sh
21
koboldcpp.sh
|
@ -1,13 +1,24 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ ! -f "bin/micromamba" ]; then
|
if [ ! -f "bin/micromamba" ]; then
|
||||||
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
|
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
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "conda/envs/linux/bin/python" || $1 == "rebuild" ]]; then
|
if [[ ! -f "conda/envs/linux/bin/python" || $1 == "rebuild" ]]; then
|
||||||
bin/micromamba create --no-shortcuts -r conda -n linux -f environment.yaml -y
|
cp environment.yaml environment.tmp.yaml
|
||||||
bin/micromamba create --no-shortcuts -r conda -n linux -f environment.yaml -y
|
if [ -n "$KCPP_CUDA" ]; then
|
||||||
|
sed -i -e "s/nvidia\/label\/cuda-11.5.0/nvidia\/label\/cuda-$KCPP_CUDA/g" environment.tmp.yaml
|
||||||
|
else
|
||||||
|
KCPP_CUDA=11.5.0
|
||||||
|
fi
|
||||||
|
bin/micromamba create --no-shortcuts -r conda -n linux -f environment.tmp.yaml -y
|
||||||
|
bin/micromamba create --no-shortcuts -r conda -n linux -f environment.tmp.yaml -y
|
||||||
bin/micromamba run -r conda -n linux make clean
|
bin/micromamba run -r conda -n linux make clean
|
||||||
|
echo $KCPP_CUDA > conda/envs/linux/cudaver
|
||||||
|
echo rm environment.tmp.yaml
|
||||||
fi
|
fi
|
||||||
|
KCPP_CUDA=$(<conda/envs/linux/cudaver)
|
||||||
|
KCPP_CUDAAPPEND=-cuda${KCPP_CUDA//.}$KCPP_APPEND
|
||||||
|
|
||||||
bin/micromamba run -r conda -n linux make LLAMA_VULKAN=1 LLAMA_OPENBLAS=1 LLAMA_CLBLAST=1 LLAMA_CUBLAS=1 LLAMA_PORTABLE=1 LLAMA_ADD_CONDA_PATHS=1
|
bin/micromamba run -r conda -n linux make LLAMA_VULKAN=1 LLAMA_OPENBLAS=1 LLAMA_CLBLAST=1 LLAMA_CUBLAS=1 LLAMA_PORTABLE=1 LLAMA_ADD_CONDA_PATHS=1
|
||||||
|
|
||||||
|
@ -15,9 +26,9 @@ if [[ $1 == "rebuild" ]]; then
|
||||||
echo Rebuild complete, you can now try to launch Koboldcpp.
|
echo Rebuild complete, you can now try to launch Koboldcpp.
|
||||||
elif [[ $1 == "dist" ]]; then
|
elif [[ $1 == "dist" ]]; then
|
||||||
bin/micromamba remove -r conda -n linux --force ocl-icd -y
|
bin/micromamba remove -r conda -n linux --force ocl-icd -y
|
||||||
bin/micromamba run -r conda -n linux pyinstaller --noconfirm --onefile --collect-all customtkinter --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='./klite.embd:.' --add-data='./kcpp_docs.embd:.' --add-data='./rwkv_vocab.embd:.' --add-data='./rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-linux-x64"
|
bin/micromamba run -r conda -n linux pyinstaller --noconfirm --onefile --collect-all customtkinter --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='./klite.embd:.' --add-data='./kcpp_docs.embd:.' --add-data='./rwkv_vocab.embd:.' --add-data='./rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-linux-x64$KCPP_CUDAAPPEND"
|
||||||
bin/micromamba run -r conda -n linux pyinstaller --noconfirm --onefile --collect-all customtkinter --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='./klite.embd:.' --add-data='./kcpp_docs.embd:.' --add-data='./rwkv_vocab.embd:.' --add-data='./rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-linux-x64-nocuda"
|
bin/micromamba run -r conda -n linux pyinstaller --noconfirm --onefile --collect-all customtkinter --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='./klite.embd:.' --add-data='./kcpp_docs.embd:.' --add-data='./rwkv_vocab.embd:.' --add-data='./rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-linux-x64-nocuda$KCPP_APPEND"
|
||||||
bin/micromamba install -r conda -n linux ocl-icd -c conda-forge -y
|
bin/micromamba install -r conda -n linux ocl-icd -c conda-forge -y
|
||||||
else
|
else
|
||||||
bin/micromamba run -r conda -n linux python koboldcpp.py $*
|
bin/micromamba run -r conda -n linux python koboldcpp.py $*
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue