/
redgpu
/
ispc
Обзор
Документация
Войти
/
redgpu
/
ispc
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/opensource-projects.yml
250 строк
8 KB
Arina Neshlyaeva
Revert "CI: use unofficial location for weights for lc0"
29 апр 2026, 07:31
29 апр 2026, 07:31
92df3d5
Код
Авторство
О чём код?
# Copyright 2025-2026, Intel Corporation # SPDX-License-Identifier: BSD-3-Clause name: Build opensource projects permissions: read-all on: pull_request: paths-ignore: - 'docs/**' - '*.md' - 'snap/**' - 'benchmarks/**' - 'tests/**' - 'examples/**' - 'tools/**' - 'utils/**' workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-ispc-linux: uses: ./.github/workflows/reusable.ispc.build.yml with: platform: linux artifact_name: ispc-archive runner: ubuntu-22.04 llvm_version: "21.1" llvm_tar: llvm-21.1.8-ubuntu22.04-Release+Asserts-x86.arm.wasm.tar.xz build-ispc-macos: uses: ./.github/workflows/reusable.ispc.build.yml with: platform: macos artifact_name: ispc-macos-arm runner: macos-14 llvm_version: "21.1" llvm_tar: llvm-21.1.8-macos-Release+Asserts-universal-x86.arm.wasm.tar.xz build-projects: name: Build ${{ matrix.project.name }} needs: build-ispc-linux runs-on: ubuntu-22.04 container: image: archlinux@sha256:2fcdd55448255f87dd337ef5c0fdbd5e4fec432345db1aa5faea4bf2764b4ca8 strategy: fail-fast: false matrix: project: - name: hfisher/nbody extra_packages: mercurial glfw build_cmd: | hg clone https://hg.sr.ht/~hfisher/nbody cd nbody sed -i 's/BUILD_ISPC 0/BUILD_ISPC 1/' CMakeLists.txt hg diff cmake -S ./ -B build -G Ninja cmake --build build - name: ISPCTextureCompressor build_cmd: | git clone https://github.com/GameTechDev/ISPCTextureCompressor.git cd ISPCTextureCompressor/ make -f Makefile.linux ISPC_ARCH=x86_64 ISPC_TARGETS=sse2,avx2,avx512skx-x16 ISPC=/usr/local/bin/ispc - name: GPSnoopy/RayTracingInOneWeekend build_cmd: | git clone https://github.com/GPSnoopy/RayTracingInOneWeekend.git cmake -G Ninja -B build -S RayTracingInOneWeekend/ispc cmake --build build --verbose - name: ispc-upwind build_cmd: | git clone https://gitlab.com/rossinelli/ispc-upwind.git cd ispc-upwind/ make TARGET=sse4,avx2,avx512skx-x16 - name: FlashAttentionGPTonCPU build_cmd: | git clone https://github.com/ZipXuan/FlashAttentionGPTonCPU.git cd FlashAttentionGPTonCPU/ ispc -O3 --target=avx2-i32x8 --arch=x86-64 --pic module.ispc -h module_ispc.h -o module_ispc.o - name: merle extra_packages: libx11 libxext build_cmd: | # Pinned to commit before VCPKG migration (fbfbdb7f12fb79a3280c45ea12ea81fa824a682f) # VCPKG builds are too complex/fragile for CI (deep dependency chains, libsystemd build failures) # This version uses git submodules and builds reliably git clone --recursive https://github.com/chinmaygarde/merle.git cd merle/ git checkout 3eecb311ac8862c41f0c53a5d9b360be923142bb git submodule update --init --recursive sed -i '/add_custom_command(/,/DEPENDS src\/texture.ispc/ s/--werror/--werror\n --pic/' CMakeLists.txt git diff cmake -B build -S ./ -G Ninja cmake --build build steps: - name: Setup Arch Linux run: | pacman-key --init pacman-key --populate archlinux # Update keyring first, then re-populate to trust new signing keys pacman -Sy --noconfirm archlinux-keyring pacman-key --populate archlinux pacman -Su --noconfirm pacman -S --needed --noconfirm base-devel git sudo cmake ninja ${{ matrix.project.extra_packages }} - name: Download ISPC artifact uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 with: name: ispc-archive path: /tmp/ispc-build - name: Install ISPC run: | cd /tmp/ispc-build ISPC_TAR=$(ls ispc-*-linux.tar.gz) tar -xzf "$ISPC_TAR" ISPC_DIR=$(basename "$ISPC_TAR" .tar.gz) cp -r "$ISPC_DIR"/* /usr/local/ chmod +x /usr/local/bin/ispc ispc --version - name: Build ${{ matrix.project.name }} run: ${{ matrix.project.build_cmd }} build-projects-with-builder: name: Build ${{ matrix.project.name }} needs: build-ispc-linux runs-on: ubuntu-22.04 container: image: archlinux@sha256:2fcdd55448255f87dd337ef5c0fdbd5e4fec432345db1aa5faea4bf2764b4ca8 strategy: fail-fast: false matrix: project: - name: Leela Chess lc0 extra_packages: gtest build_cmd: | su - builder -c " git clone --branch lc0 --single-branch https://github.com/archlinux/aur.git lc0 cd lc0 makepkg -s --noconfirm " # Open3D disabled because open-source default runners don't have enough disk space # - name: Open3D # extra_packages: minizip # build_cmd: | # # Build and install the required dependency for Open3D from AUR # su - builder -c " # git clone https://aur.archlinux.org/python-dash.git # cd python-dash/ # makepkg -si --noconfirm # # git clone https://aur.archlinux.org/nanoflann.git # cd nanoflann # makepkg -si --noconfirm # # git clone https://aur.archlinux.org/open3d.git # cd open3d # sed -i 's|-DUSE_SYSTEM_VTK=ON|-DUSE_SYSTEM_VTK=OFF -DISPC_USE_LEGACY_EMULATION=ON -DBUILD_ISPC_MODULE=ON -DCMAKE_ISPC_COMPILER=/usr/local/bin/ispc -DCMAKE_ISPC_INSTRUCTION_SETS=host|' PKGBUILD # git diff # makepkg -s --noconfirm # " steps: - name: Setup Arch Linux run: | pacman-key --init pacman-key --populate archlinux # Update keyring first, then re-populate to trust new signing keys pacman -Sy --noconfirm archlinux-keyring pacman-key --populate archlinux pacman -Su --noconfirm pacman -S --needed --noconfirm base-devel git sudo cmake ninja ${{ matrix.project.extra_packages }} - name: Create build user run: | useradd -m -G wheel -s /bin/bash builder echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers - name: Download ISPC artifact uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 with: name: ispc-archive path: /tmp/ispc-build - name: Install ISPC run: | cd /tmp/ispc-build ISPC_TAR=$(ls ispc-*-linux.tar.gz) tar -xzf "$ISPC_TAR" ISPC_DIR=$(basename "$ISPC_TAR" .tar.gz) cp -r "$ISPC_DIR"/* /usr/local/ chmod +x /usr/local/bin/ispc ispc --version - name: Build ${{ matrix.project.name }} run: ${{ matrix.project.build_cmd }} build-ispc-downsampler: name: Build ispc-downsampler on macOS ARM needs: build-ispc-macos runs-on: macos-14 steps: - name: Install Rust uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # master with: toolchain: stable - name: Download ISPC artifact uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 with: name: ispc-macos-arm path: /tmp/ispc-build - name: Install ISPC run: | cd /tmp/ispc-build ISPC_TAR=$(ls ispc-*-macos.tar.gz) tar -xzf "$ISPC_TAR" ISPC_DIR=$(basename "$ISPC_TAR" .tar.gz) sudo cp -r "$ISPC_DIR"/* /usr/local/ sudo chmod +x /usr/local/bin/ispc ispc --version echo "ISPC_EXECUTABLE=/usr/local/bin/ispc" >> "$GITHUB_ENV" - name: Checkout ispc-downsampler uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: repository: Traverse-Research/ispc-downsampler path: ispc-downsampler - name: Build and benchmark ispc-downsampler run: | source "$HOME/.cargo/env" cd ispc-downsampler cargo clean cargo build --features ispc cargo bench