CoolFace
Datasetpublic

echodict/llama.cpp

version https://git-lfs.github.com/spec/v1 oid sha256:cfc44b7ba25614df70e6b65e3341cae0310163bd32fd31a6b928a542df433faf size 30786

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes773downloads
build-cross.yml317 linesDownload Raw Back to workflows
1name: CI (cross)2on:3  # only manual triggers due to low-importance of the workflows4  # TODO: for regular runs, provision dedicated self-hosted runners5  workflow_dispatch:6  push:7    branches:8      - master9    paths: [10      '.github/workflows/build-cross.yml',11      'ggml/src/spacemit/*',12      'ggml/src/arch/loongarch/*'13    ]14  # run once every week15  schedule:16    - cron: '0 0 * * 0'17 18concurrency:19  group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}20  cancel-in-progress: true21 22 23jobs:24  # ubuntu-24-riscv64-cpu-cross:25  #   runs-on: ubuntu-24.0426 27  #   steps:28  #     - uses: actions/checkout@v629  #     - name: Setup Riscv30  #       run: |31  #         sudo dpkg --add-architecture riscv6432 33  #         # Add arch-specific repositories for non-amd64 architectures34  #         cat << EOF | sudo tee /etc/apt/sources.list.d/riscv64-ports.list35  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble main universe36  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe37  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe38  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe39  #         EOF40 41  #         sudo apt-get update || true    ;# Prevent failure due to missing URLs.42 43  #         sudo apt-get install -y --no-install-recommends \44  #                 build-essential \45  #                 gcc-14-riscv64-linux-gnu \46  #                 g++-14-riscv64-linux-gnu47 48  #     - name: Build49  #       run: |50  #         cmake -B build -DLLAMA_OPENSSL=OFF \51  #                        -DCMAKE_BUILD_TYPE=Release \52  #                        -DGGML_OPENMP=OFF \53  #                        -DLLAMA_BUILD_EXAMPLES=ON \54  #                        -DLLAMA_BUILD_TOOLS=ON \55  #                        -DLLAMA_BUILD_TESTS=OFF \56  #                        -DCMAKE_SYSTEM_NAME=Linux \57  #                        -DCMAKE_SYSTEM_PROCESSOR=riscv64 \58  #                        -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \59  #                        -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \60  #                        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \61  #                        -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \62  #                        -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \63  #                        -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \64  #                        -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH65 66  #         cmake --build build --config Release -j $(nproc)67 68  # ubuntu-24-riscv64-vulkan-cross:69  #   runs-on: ubuntu-24.0470 71  #   steps:72  #     - uses: actions/checkout@v673  #     - name: Setup Riscv74  #       run: |75  #         sudo dpkg --add-architecture riscv6476 77  #         # Add arch-specific repositories for non-amd64 architectures78  #         cat << EOF | sudo tee /etc/apt/sources.list.d/riscv64-ports.list79  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble main universe80  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe81  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe82  #         deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe83  #         EOF84 85  #         sudo apt-get update || true    ;# Prevent failure due to missing URLs.86 87  #         sudo apt-get install -y --no-install-recommends \88  #                 build-essential \89  #                 glslc \90  #                 gcc-14-riscv64-linux-gnu \91  #                 g++-14-riscv64-linux-gnu \92  #                 libvulkan-dev:riscv6493 94  #     - name: Build95  #       run: |96  #         cmake -B build -DLLAMA_OPENSSL=OFF \97  #                        -DCMAKE_BUILD_TYPE=Release \98  #                        -DGGML_VULKAN=ON \99  #                        -DGGML_OPENMP=OFF \100  #                        -DLLAMA_BUILD_EXAMPLES=ON \101  #                        -DLLAMA_BUILD_TOOLS=ON \102  #                        -DLLAMA_BUILD_TESTS=OFF \103  #                        -DCMAKE_SYSTEM_NAME=Linux \104  #                        -DCMAKE_SYSTEM_PROCESSOR=riscv64 \105  #                        -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \106  #                        -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \107  #                        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \108  #                        -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \109  #                        -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \110  #                        -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \111  #                        -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH112 113  #         cmake --build build --config Release -j $(nproc)114 115  # ubuntu-24-arm64-vulkan-cross:116  #   runs-on: ubuntu-24.04117 118  #   steps:119  #     - uses: actions/checkout@v6120  #     - name: Setup Arm64121  #       run: |122  #         sudo dpkg --add-architecture arm64123 124  #         # Add arch-specific repositories for non-amd64 architectures125  #         cat << EOF | sudo tee /etc/apt/sources.list.d/arm64-ports.list126  #         deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble main universe127  #         deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe128  #         deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe129  #         deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe130  #         EOF131 132  #         sudo apt-get update || true    ;# Prevent failure due to missing URLs.133 134  #         sudo apt-get install -y --no-install-recommends \135  #                 build-essential \136  #                 glslc \137  #                 crossbuild-essential-arm64 \138  #                 libvulkan-dev:arm64139 140  #     - name: Build141  #       run: |142  #         cmake -B build -DLLAMA_OPENSSL=OFF \143  #                        -DCMAKE_BUILD_TYPE=Release \144  #                        -DGGML_VULKAN=ON \145  #                        -DGGML_OPENMP=OFF \146  #                        -DLLAMA_BUILD_EXAMPLES=ON \147  #                        -DLLAMA_BUILD_TOOLS=ON \148  #                        -DLLAMA_BUILD_TESTS=OFF \149  #                        -DCMAKE_SYSTEM_NAME=Linux \150  #                        -DCMAKE_SYSTEM_PROCESSOR=aarch64 \151  #                        -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \152  #                        -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \153  #                        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \154  #                        -DCMAKE_FIND_ROOT_PATH=/usr/lib/aarch64-linux-gnu \155  #                        -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \156  #                        -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \157  #                        -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH158 159  #         cmake --build build --config Release -j $(nproc)160 161  debian-13-loongarch64-cpu-cross:162    runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}163    container: debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671164 165    steps:166      - uses: actions/checkout@v6167      - name: Setup LoongArch168        run: |169          rm -f /etc/apt/sources.list.d/*170          cat << EOF | tee /etc/apt/sources.list.d/debian-ports.list171          deb http://snapshot.debian.org/archive/debian/20250515T202920Z/ trixie main172          EOF173          ( echo 'quiet "true";'; \174            echo 'APT::Get::Assume-Yes "true";'; \175            echo 'APT::Install-Recommends "false";'; \176            echo 'Acquire::Check-Valid-Until "false";'; \177            echo 'Acquire::Retries "5";'; \178          ) > /etc/apt/apt.conf.d/99snapshot-repos179 180          apt-get update181          apt-get install -y ca-certificates debian-ports-archive-keyring cmake git zip182          dpkg --add-architecture loong64183 184          # Add arch-specific repositories for non-amd64 architectures185          cat << EOF | tee /etc/apt/sources.list.d/loong64-ports.list186          deb [arch=loong64] http://snapshot.debian.org/archive/debian-ports/20250515T194251Z/ sid main187          EOF188 189          apt-get update || true    ;# Prevent failure due to missing URLs.190 191          apt-get install -y --no-install-recommends \192                  build-essential \193                  gcc-14-loongarch64-linux-gnu \194                  g++-14-loongarch64-linux-gnu195 196      - name: Build197        run: |198          cmake -B build -DLLAMA_OPENSSL=OFF \199                         -DCMAKE_BUILD_TYPE=Release \200                         -DGGML_OPENMP=OFF \201                         -DLLAMA_BUILD_EXAMPLES=ON \202                         -DLLAMA_BUILD_TOOLS=ON \203                         -DLLAMA_BUILD_TESTS=OFF \204                         -DCMAKE_SYSTEM_NAME=Linux \205                         -DCMAKE_SYSTEM_PROCESSOR=loongarch64 \206                         -DCMAKE_C_COMPILER=loongarch64-linux-gnu-gcc-14 \207                         -DCMAKE_CXX_COMPILER=loongarch64-linux-gnu-g++-14 \208                         -DCMAKE_POSITION_INDEPENDENT_CODE=ON \209                         -DCMAKE_FIND_ROOT_PATH=/usr/lib/loongarch64-linux-gnu \210                         -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \211                         -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \212                         -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH213 214          cmake --build build --config Release -j $(nproc)215 216  debian-13-loongarch64-vulkan-cross:217    runs-on: ${{ 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}218    container: debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671219 220    steps:221      - uses: actions/checkout@v6222      - name: Setup LoongArch223        run: |224          rm -f /etc/apt/sources.list.d/*225          cat << EOF | tee /etc/apt/sources.list.d/debian-ports.list226          deb http://snapshot.debian.org/archive/debian/20250515T202920Z/ trixie main227          EOF228          ( echo 'quiet "true";'; \229            echo 'APT::Get::Assume-Yes "true";'; \230            echo 'APT::Install-Recommends "false";'; \231            echo 'Acquire::Check-Valid-Until "false";'; \232            echo 'Acquire::Retries "5";'; \233          ) > /etc/apt/apt.conf.d/99snapshot-repos234 235          apt-get update236          apt-get install -y ca-certificates debian-ports-archive-keyring cmake git zip237          dpkg --add-architecture loong64238 239          # Add arch-specific repositories for non-amd64 architectures240          cat << EOF | tee /etc/apt/sources.list.d/loong64-ports.list241          deb [arch=loong64] http://snapshot.debian.org/archive/debian-ports/20250515T194251Z/ sid main242          EOF243 244          apt-get update || true    ;# Prevent failure due to missing URLs.245 246          apt-get install -y --no-install-recommends \247                  build-essential \248                  glslc \249                  spirv-headers \250                  gcc-14-loongarch64-linux-gnu \251                  g++-14-loongarch64-linux-gnu \252                  libvulkan-dev:loong64253 254      - name: Build255        run: |256          cmake -B build -DLLAMA_OPENSSL=OFF \257                         -DCMAKE_BUILD_TYPE=Release \258                         -DGGML_VULKAN=ON \259                         -DGGML_OPENMP=OFF \260                         -DLLAMA_BUILD_EXAMPLES=ON \261                         -DLLAMA_BUILD_TOOLS=ON \262                         -DLLAMA_BUILD_TESTS=OFF \263                         -DCMAKE_SYSTEM_NAME=Linux \264                         -DCMAKE_SYSTEM_PROCESSOR=loongarch64 \265                         -DCMAKE_C_COMPILER=loongarch64-linux-gnu-gcc-14 \266                         -DCMAKE_CXX_COMPILER=loongarch64-linux-gnu-g++-14 \267                         -DCMAKE_POSITION_INDEPENDENT_CODE=ON \268                         -DCMAKE_FIND_ROOT_PATH=/usr/lib/loongarch64-linux-gnu \269                         -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \270                         -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \271                         -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH272 273          cmake --build build --config Release -j $(nproc)274 275  ubuntu-24-riscv64-cpu-spacemit-ime-cross:276    runs-on: ubuntu-24.04277 278    env:279      # Make sure this is in sync with build-cache.yml280      SPACEMIT_IME_TOOLCHAIN_VERSION: "1.1.2"281 282    steps:283      - uses: actions/checkout@v6284 285      #- name: Use SpacemiT Toolchain Cache286      #  uses: actions/cache@v5287      #  id: cache-toolchain288      #  with:289      #    path: ./spacemit_toolchain290      #    key: spacemit-ime-toolchain-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}-${{ runner.os }}291 292      - name: Setup SpacemiT Toolchain293        #if: steps.cache-toolchain.outputs.cache-hit != 'true'294        uses: ./.github/actions/linux-setup-spacemit295        with:296          path: ./spacemit_toolchain297          version: ${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}298 299      - name: Build300        run: |301          export RISCV_ROOT_PATH=${PWD}/spacemit_toolchain302          cmake -B build -DLLAMA_OPENSSL=OFF \303                         -DCMAKE_BUILD_TYPE=Release \304                         -DGGML_OPENMP=OFF \305                         -DLLAMA_BUILD_EXAMPLES=ON \306                         -DLLAMA_BUILD_TOOLS=ON \307                         -DLLAMA_BUILD_TESTS=OFF \308                         -DGGML_CPU_RISCV64_SPACEMIT=ON \309                         -DGGML_RVV=ON \310                         -DGGML_RV_ZFH=ON \311                         -DGGML_RV_ZICBOP=ON \312                         -DGGML_RV_ZIHINTPAUSE=ON \313                         -DRISCV64_SPACEMIT_IME_SPEC=RISCV64_SPACEMIT_IME1 \314                         -DCMAKE_TOOLCHAIN_FILE=${PWD}/cmake/riscv64-spacemit-linux-gnu-gcc.cmake315 316          cmake --build build --config Release -j $(nproc)317