feat: add rust kernels library for loading kernels #712
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Build and test kernel" | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| types: [opened, synchronize, reopened] # trigger on PRs | |
| paths-ignore: | |
| - "docs/**" | |
| - "*.md" | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Build kernels (${{ matrix.arch }}) | |
| strategy: | |
| matrix: | |
| include: | |
| - arch: x86_64-linux | |
| runner: aws-highmemory-32-plus-nix | |
| - arch: aarch64-linux | |
| runner: aws-r8g-8xl-plus-nix | |
| runs-on: | |
| group: ${{ matrix.runner }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| with: | |
| extra-conf: | | |
| max-jobs = 8 | |
| cores = 12 | |
| sandbox-fallback = false | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: huggingface | |
| authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
| env: | |
| USER: runner | |
| - name: Nix info | |
| run: nix-shell -p nix-info --run "nix-info -m" | |
| - name: Build all example kernels | |
| run: nix build -L ./examples/kernels#ci-build | |
| - name: Copy kernel artifacts | |
| run: cp -rL result/* . | |
| - name: Upload kernel artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: built-kernels-${{ matrix.arch }} | |
| path: | | |
| activation-kernel | |
| cutlass-gemm-kernel | |
| cutlass-gemm-tvm-ffi-kernel | |
| extra-data | |
| relu-kernel | |
| relu-tvm-ffi-kernel | |
| relu-kernel-cpu | |
| relu-backprop-compile-kernel | |
| silu-and-mul-kernel | |
| test: | |
| name: Test kernels | |
| needs: build | |
| runs-on: | |
| group: aws-g6-12xlarge-plus | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download kernel artifacts | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: built-kernels-x86_64-linux | |
| path: . | |
| - name: Build Docker image | |
| run: | | |
| docker build \ | |
| -t kernel-builder:latest \ | |
| -f nix-builder/tests/Dockerfile.test-kernel . | |
| - name: Run Tests | |
| run: | | |
| docker run --gpus all kernel-builder:latest |