forked from LostRuins/koboldcpp
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathkcpp-build-release-win-oldpc.yaml
More file actions
137 lines (117 loc) · 5.02 KB
/
kcpp-build-release-win-oldpc.yaml
File metadata and controls
137 lines (117 loc) · 5.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: Koboldcpp Windows OldPC
on:
workflow_dispatch:
inputs:
commit_hash:
description: 'Optional commit hash to build from'
required: false
default: ''
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
jobs:
windows:
runs-on: windows-2022
permissions: write-all
steps:
- name: Clone
id: checkout
uses: actions/checkout@v5
with:
ref: ${{ inputs.commit_hash != '' && inputs.commit_hash || github.head_ref || github.ref_name }}
- name: Show Commit Used
run: |
echo "Building from ref: ${{ inputs.commit_hash != '' && inputs.commit_hash || github.head_ref || github.ref_name }}"
- name: Get Python
uses: actions/setup-python@v6
with:
python-version: 3.8.10
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install customtkinter==5.2.0 pyinstaller==5.12.0 psutil==5.9.5 jinja2==3.1.6
- name: Display full Visual Studio info Before
run: |
& "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -all -products * -format json
shell: pwsh
- name: Visual Studio 2019 Reinstall
shell: cmd
run: |
@echo off
echo Preparing setup
curl -fLO https://download.visualstudio.microsoft.com/download/pr/1fbe074b-8ae1-4e9b-8e83-d1ce4200c9d1/61098e228df7ba3a6a8b4e920a415ad8878d386de6dd0f23f194fe1a55db189a/vs_Enterprise.exe
vs_Enterprise.exe --quiet --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.CLI.Support --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --add Microsoft.VisualStudio.Workload.UniversalBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project
echo Waiting for VS2019 setup
set "ProcessName=setup.exe"
:CheckProcess
tasklist /FI "IMAGENAME eq %ProcessName%" | find /I "%ProcessName%" >nul
if %errorlevel%==0 (
ping 127.0.0.1 /n 5 >nul
goto CheckProcess
)
echo VS2019 Setup completed
exit /b 0
- name: Disable Visual Studio 2022 by Renaming
run: |
Rename-Item "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" "Enterprise_DISABLED"
shell: pwsh
- name: Display full Visual Studio info After
run: |
& "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -all -products * -format json
shell: pwsh
- name: Download and install win64devkit
run: |
curl -L https://github.com/skeeto/w64devkit/releases/download/v1.22.0/w64devkit-1.22.0.zip --output w64devkit.zip
Expand-Archive w64devkit.zip -DestinationPath .
- name: Add w64devkit to PATH
run: |
echo "$(Get-Location)\w64devkit\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
- name: Print System Environment Variables
id: printvars
run: |
echo "Number of processors: ${env:NUMBER_OF_PROCESSORS}"
echo "Processor Architecture: ${env:PROCESSOR_ARCHITECTURE}"
echo "Computer Name: ${env:COMPUTERNAME}"
wmic cpu get name
wmic os get TotalVisibleMemorySize, FreePhysicalMemory
- name: Build Non-CUDA
id: make_build
run: |
make LLAMA_VULKAN=1 LLAMA_PORTABLE=1 -j ${env:NUMBER_OF_PROCESSORS} LLAMA_NOAVX2=1
- uses: Jimver/cuda-toolkit@v0.2.35
id: cuda-toolkit
with:
cuda: '11.4.4'
use-github-cache: false
- name: Build CUDA
id: cmake_build
run: |
mkdir build
cd build
cmake .. -DLLAMA_CUBLAS=ON -DLLAMA_AVX2=OFF -DCMAKE_SYSTEM_VERSION="10.0.19041.0"
cmake --build . --config Release -j 2
cd ..
# note: The libraries that come from the github cuda directory seem to be larger, so they are not recommended
- name: Download CuBLAS Libraries
run: |
curl -L https://github.com/LostRuins/koboldcpp/releases/download/cuda11_cublas_libraries/cublas64_11.dll --output cublas64_11.dll
curl -L https://github.com/LostRuins/koboldcpp/releases/download/cuda11_cublas_libraries/cublasLt64_11.dll --output cublasLt64_11.dll
ls
# - name: Copy CuBLAS Libraries
# run: |
# copy "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\cublasLt64_11.dll" .
# copy "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\cublas64_11.dll" .
# ls
- name: Package PyInstallers
id: make_pyinstaller
run: |
./make_pyinstaller_cuda_oldpc.bat
- name: Save artifact
uses: actions/upload-artifact@v6
with:
name: kcpp_windows_pyinstallers
path: dist/
- name: Upload to GitHub Rolling Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload rolling dist/koboldcpp-oldpc.exe --clobber