Conversation
…elper. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…sts. Co-Authored-By: Claude <noreply@anthropic.com>
…r (part 1/2). Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…rt 1/2). Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…(part 1/3). Co-Authored-By: Claude <noreply@anthropic.com>
…(part 2/3). 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>
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>
…part 1/2). 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>
…alue-tuple kernel samples (part 1/4). Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…enerated artifacts. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…/2). Co-Authored-By: Claude <noreply@anthropic.com>
…/2). 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>
… transformed at build time. Co-Authored-By: Claude <noreply@anthropic.com>
…ation. Co-Authored-By: Claude <noreply@anthropic.com>
…t is available on this branch. Co-Authored-By: Claude <noreply@anthropic.com>
…s to actually run.
This was referenced Apr 26, 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.
Adds the complete test suite that exercises every stage of the new AOT compiler pipeline: from IR emission and backend codegen through to actually launching kernels on CPU/GPU. Replaces the retired legacy
ILGPU.Tests,ILGPU.Tests.CPU,ILGPU.Tests.Cuda, andILGPU.Algorithms.Testsprojects with a single, layered suite aimed at the new compiler.Also registers the
Snapshotssubmodule that backs the IR snapshot tests, and ships a regeneration helper for updating those golden files. SeeILGPU-Snapshotsfor more information.The first commit is a PR placeholder for the runtime-library, AOT-compiler, compiler-bindings, and AI-readiness PRs; once those changes 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). Commits that genuinely reflect this shared authorship — the test framework itself, the Snapshots submodule registration, and the snapshot-regeneration helper script - carry a
Co-Authored-By: Claudetrailer so the credit is explicit.What's in this PR
Test suite structure (
Src/ILGPUC.Tests/, 309 files)TestBase,MsBuildRunnerfor subprocess builds,IntegrationProjectFixtureto materialize fixture projects on disk,CompilerManagerFactorywith per-backend env-var routing,KernelRegistry/KernelDiscovery,Availability/ backend-probe gating,ExecutionTestBase, and a subprocess output harness..ilfixtures provided by theSnapshotssubmodule. Covers every kernel family plus the pipeline-stage comparison harness..csprojfixtures the integration tests consume.tests.md— describes the suite structure for contributors.Snapshots submodule
Src/ILGPUC.Tests/Snapshots/is registered as a submodule (.gitmodulesadded) providing the golden.ilfixtures for the IR snapshot tests. Keeping them in a separate repo avoids bloating history with regeneration noise.Snapshot-regeneration helper
Src/scripts/update-snapshots.sh— runs the IR test suite withILGPU_UPDATE_IR=1, stages the resulting.ilchanges inside the submodule, and commits them.Solution update
Src/ILGPU.slnregisters the newILGPUC.Testsproject as the final commit.CI coupling
The canonical
.github/workflows/ci.ymlwas redesigned in the previous PR (new_ai_readiness) to include a build + tests + GPU Docker-run pipeline. This PR's final state matches that workflow expectation, so no workflow changes are needed here.Scope boundary
No Docker, no CI workflow changes, no samples, no compiler-source changes.
Depends on
PR #1578.
Fixes
Closes #1249
Testing
Test runs
dotnet build Src/ILGPU.sln- builds cleanly on the tip of this PR.dotnet test Src/ILGPUC.Tests/ILGPUC.Tests.csproj --blame-hang-timeout 360s