From b5d3dcb6c01c0faeec2d49383e7d4c5f0e4cdf06 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Wed, 29 Oct 2025 17:35:04 +0800 Subject: [PATCH] add workflow for older pc --- .../kcpp-build-release-win-olderpc.yaml | 103 ++++++++++++++++++ Makefile | 10 +- koboldcpp.sh | 8 +- make_pyinstaller_oldpc.bat | 3 + 4 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/kcpp-build-release-win-olderpc.yaml create mode 100644 make_pyinstaller_oldpc.bat diff --git a/.github/workflows/kcpp-build-release-win-olderpc.yaml b/.github/workflows/kcpp-build-release-win-olderpc.yaml new file mode 100644 index 000000000..a2ac3ba91 --- /dev/null +++ b/.github/workflows/kcpp-build-release-win-olderpc.yaml @@ -0,0 +1,103 @@ +name: Koboldcpp Windows OlderPC Nocuda + +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 + steps: + - name: Clone + id: checkout + uses: actions/checkout@v3 + 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@v2 + 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.11.0 psutil==5.9.5 + + - 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_CLBLAST=1 LLAMA_VULKAN=1 LLAMA_PORTABLE=1 -j ${env:NUMBER_OF_PROCESSORS} LLAMA_NOAVX1=1 + + - name: Package PyInstallers + id: make_pyinstaller + run: | + ./make_pyinstaller_oldpc.bat + + - name: Save artifact + uses: actions/upload-artifact@v4 + with: + name: kcpp_windows_pyinstallers + path: dist/ diff --git a/Makefile b/Makefile index cc799d77f..7b6d122d3 100644 --- a/Makefile +++ b/Makefile @@ -164,13 +164,19 @@ CXXV := $(shell $(CXX) --version | head -n 1) # For x86 based architectures ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686 amd64)) ifdef LLAMA_PORTABLE -SIMPLECFLAGS += -mavx -msse3 -mssse3 SIMPLERCFLAGS += -msse3 -mssse3 +ifdef LLAMA_NOAVX1 +FULLCFLAGS += -msse3 -mssse3 +SIMPLECFLAGS += -msse3 -mssse3 +else ifdef LLAMA_NOAVX2 -FULLCFLAGS += -msse3 -mssse3 -mavx +FULLCFLAGS += -mavx -msse3 -mssse3 +SIMPLECFLAGS += -mavx -msse3 -mssse3 else FULLCFLAGS += -mavx2 -msse3 -mssse3 -mfma -mf16c -mavx +SIMPLECFLAGS += -mavx -msse3 -mssse3 endif # LLAMA_NOAVX2 +endif # LLAMA_NOAVX1 else CFLAGS += -march=native -mtune=native SIMPLECFLAGS += -march=native -mtune=native diff --git a/koboldcpp.sh b/koboldcpp.sh index ad866be48..d8ef50815 100755 --- a/koboldcpp.sh +++ b/koboldcpp.sh @@ -27,12 +27,16 @@ fi KCPP_CUDA=$(