mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-01-15 01:48:23 -05:00
* nak works * TestOps::test_add works * testop has no crashes * fix bool casts * fix typo * add disassemble * RANGE and locals/regs * simplify NAKCompiler * disass cleanup * cleanup nir codegen * almost all tests passing * cleanup notes in extra/ * old notes * only import nak if NIR=1 * fix new SPECIAL syntax * fix local/shared memory * more tests passing * add DEFINE_VAR support * llvmpipe kinda works * diskcache * some mypy stuff * lvp passing test_ops.py * fix imports * actually fix imports * remove 'stdout' * fix llvm import * fix mypy issues * nicer errors * simpler test_dtype skips * test lvp in CI * fix github action syntax * fix more actions typos * switch to mesa 25.1.0 * diskcache_put * better generation for lvp nir_options * b64encode shader blobs * Revert diskcache changes This reverts commits930fa3de8aand8428c694b3. * general cleanup * better error messages * fix llvm import * fix windows tests * link with libm and libgcc_s * fix some errors * dont check for 'float4' * NIR uses pointer arithmetic * use tinymesa * bump tinymesa * bump tinymesa again * update lvp nir_options * print nir shader with DEBUG * simplify LVPCompiler * more tests * "gated" STORE * NAK is cacheable * more tests * all tests pass locally for NAK * test autogen in CI * autogen deps * more deps * fix uop_gc * fix macos * mypy * save 2 lines * save two more lines * save 1 line * save 4 lines * save more lines * Revert "save more lines" This reverts commitdd3a720c5a. * save more lines * fix LVP on windows * refactor * reorganize some code * refactor lib_gpu * move LVP check * out of order loads * remove support.mesa * bump tinymesa version * simplify LVP jit * macos * macos ci * shell: bash * testing * more testing * compute brew prefix * stupid typo * actually fix * lib * stdout on macos * inline gallivm_compile_module * Revert "inline gallivm_compile_module" This reverts commitb65983b151. * elf macos * semicolon * inherit from CPULLVMCompiler * ruff * disas test * fix libm linking * default is fine actually * arm works * add elf loader link test * fix NAK beam * pylint is too smart by half --------- Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com> Co-authored-by: nimlgen <138685161+nimlgen@users.noreply.github.com>
98 lines
3.5 KiB
YAML
98 lines
3.5 KiB
YAML
name: Autogen
|
|
env:
|
|
# increment this when downloads substantially change to avoid the internet
|
|
DOWNLOAD_CACHE_VERSION: '12'
|
|
PYTHON_CACHE_VERSION: '3'
|
|
APT_CACHE_VERSION: '1'
|
|
BUILD_CACHE_VERSION: '1'
|
|
CAPTURE_PROCESS_REPLAY: 1
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
PYTHONPATH: ${{ github.workspace }}
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- 'tinygrad/runtime/autogen/**/*'
|
|
workflow_dispatch:
|
|
paths:
|
|
- 'tinygrad/runtime/autogen/**/*'
|
|
|
|
jobs:
|
|
autogen:
|
|
name: Autogen
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 15
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
- name: Setup Environment
|
|
uses: ./.github/actions/setup-tinygrad
|
|
with:
|
|
opencl: 'true'
|
|
amd: 'true'
|
|
cuda: 'true'
|
|
webgpu: 'true'
|
|
llvm: 'true'
|
|
pydeps: 'pyyaml mako'
|
|
- name: Install autogen support packages
|
|
run: sudo apt-get install -y --no-install-recommends llvm-14-dev libclang-14-dev llvm-20-dev
|
|
- name: Verify OpenCL autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/opencl.py /tmp/opencl.py.bak
|
|
./autogen_stubs.sh opencl
|
|
diff /tmp/opencl.py.bak tinygrad/runtime/autogen/opencl.py
|
|
- name: Verify CUDA autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/cuda.py /tmp/cuda.py.bak
|
|
cp tinygrad/runtime/autogen/nv_gpu.py /tmp/nv_gpu.py.bak
|
|
./autogen_stubs.sh cuda
|
|
./autogen_stubs.sh nv
|
|
diff /tmp/cuda.py.bak tinygrad/runtime/autogen/cuda.py
|
|
diff /tmp/nv_gpu.py.bak tinygrad/runtime/autogen/nv_gpu.py
|
|
- name: Verify AMD autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/hsa.py /tmp/hsa.py.bak
|
|
cp tinygrad/runtime/autogen/kfd.py /tmp/kfd.py.bak
|
|
cp tinygrad/runtime/autogen/comgr.py /tmp/comgr.py.bak
|
|
cp tinygrad/runtime/autogen/amd_gpu.py /tmp/amd_gpu.py.bak
|
|
cp tinygrad/runtime/autogen/sqtt.py /tmp/sqtt.py.bak
|
|
./autogen_stubs.sh hsa
|
|
./autogen_stubs.sh kfd
|
|
./autogen_stubs.sh comgr
|
|
./autogen_stubs.sh amd
|
|
./autogen_stubs.sh sqtt
|
|
diff /tmp/hsa.py.bak tinygrad/runtime/autogen/hsa.py
|
|
diff /tmp/kfd.py.bak tinygrad/runtime/autogen/kfd.py
|
|
diff /tmp/comgr.py.bak tinygrad/runtime/autogen/comgr.py
|
|
diff /tmp/amd_gpu.py.bak tinygrad/runtime/autogen/amd_gpu.py
|
|
diff /tmp/sqtt.py.bak tinygrad/runtime/autogen/sqtt.py
|
|
- name: Verify Linux autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/libc.py /tmp/libc.py.bak
|
|
cp tinygrad/runtime/autogen/io_uring.py /tmp/io_uring.py.bak
|
|
cp tinygrad/runtime/autogen/ib.py /tmp/ib.py.bak
|
|
./autogen_stubs.sh libc
|
|
./autogen_stubs.sh io_uring
|
|
./autogen_stubs.sh ib
|
|
diff /tmp/libc.py.bak tinygrad/runtime/autogen/libc.py
|
|
diff /tmp/io_uring.py.bak tinygrad/runtime/autogen/io_uring.py
|
|
diff /tmp/ib.py.bak tinygrad/runtime/autogen/ib.py
|
|
- name: Verify WebGPU autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/webgpu.py /tmp/webgpu.py.bak
|
|
./autogen_stubs.sh webgpu
|
|
diff /tmp/webgpu.py.bak tinygrad/runtime/autogen/webgpu.py
|
|
- name: Verify LLVM autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/llvm.py /tmp/llvm.py.bak
|
|
./autogen_stubs.sh llvm
|
|
diff /tmp/llvm.py.bak tinygrad/runtime/autogen/llvm.py
|
|
- name: Verify mesa autogen
|
|
run: |
|
|
cp tinygrad/runtime/autogen/mesa.py /tmp/mesa.py.bak
|
|
./autogen_stubs.sh mesa
|
|
diff /tmp/mesa.py.bak tinygrad/runtime/autogen/mesa.py
|