ILGPU v2.0: Docker Support + AI Readiness#1579
Open
m4rs-mt wants to merge 12 commits into
Open
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…tory. Co-Authored-By: Claude <noreply@anthropic.com>
…n jobs. Co-Authored-By: Claude <noreply@anthropic.com>
…once the new ILGPUC.Tests project lands on the tests PR. Co-Authored-By: Claude <noreply@anthropic.com>
db1021a to
3ded288
Compare
3ded288 to
dcbcf8b
Compare
This was referenced Apr 30, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR packages everything needed to run the compiler service in a container, deploy it to a remote host, and redesigns the canonical CI workflow to use those images for GPU-bound jobs. It also introduces
CLAUDE.md— an onboarding file that helps AI coding assistants navigate the repository.This PR is deliberately narrow — it contains only infrastructure / tooling / process files. No source-code changes.
The first three commits are PR placeholders for the runtime-library, AOT-compiler, and compiler-bindings PRs; once those land on
masterthey collapse into real merge commits.A note on authorship - AI warning
Much of the test-infrastructure work in this PR was done with AI-assistant pair programming (Claude via Claude Code).
What's in this PR
Docker images for the compiler service (
Src/docker/, 5 files)Three Dockerfiles, one per GPU-bound backend:
Dockerfile.cuda— NVIDIA CUDA toolkit +ILGPUC.CompilerServicefor emitting PTX/cubin.Dockerfile.rocm— AMD ROCm +hipccfor HIP code generation.Dockerfile.opencl— Intel ocloc + clang-for-OpenCL for OpenCL backends.Plus:
Src/docker/run.sh— multi-image launcher that selects the right image based on the target backend requested.Src/docker/README.md— explains how to build, tag, and publish the images and how they're consumed from CI.Deployment scripts (
Src/scripts/, 2 files)deploy-compiler-service.sh— systemd-based remote deployment helper. SSHes to a target host, pulls the relevant docker image, and registers / starts a systemd unit pointing at it.README.md— documents the deploy flow, required host prerequisites, and how to roll back a deployment.Root configuration
.dockerignore— excludes test artefacts, IDE files, andbin//obj/from Docker build contexts.GitHub Actions workflows (3 files)
.github/workflows/docker-publish.yml— monthly GHCR publish of the CUDA / ROCm / OpenCL compiler-service images..github/workflows/cleanup-ghcr.yml— monthly GHCR retention: keeps recent tags, prunes old ones so the container registry doesn't grow unbounded..github/workflows/ci.yml— the canonical CI workflow is redesigned around the new compiler-service images. Jobs now cover: the standalone build, the xUnit test suite (run against the CPU backend), and GPU-bound Docker-run jobs that exercise the full pipeline inside a containerized CUDA/ROCm/OpenCL toolchain. This replaces the previous ILGPU.Tests.CPU/Cuda test harnesses.Src/CLAUDE.mdAn AI-assistant onboarding file at the top of
Src/describing:--blame-hang-timeout 360sguard that prevents endless loops in compiler tests).ILFrontend→ModuleBuilder.Seal()→Optimizer→Backend.GenerateCode().Scope boundary
No test project (
ILGPUC.Tests/), no samples (Samples/), and no backend / compiler source changes.Depends on
PR #1578