Skip to content

Bump CUDA Compiler JLL, test different compilers. - #300

Merged
maleadt merged 8 commits into
mainfrom
tb/compiler
Aug 12, 2026
Merged

Bump CUDA Compiler JLL, test different compilers.#300
maleadt merged 8 commits into
mainfrom
tb/compiler

Conversation

@maleadt

@maleadt maleadt commented Aug 11, 2026

Copy link
Copy Markdown
Member

No description provided.

@maleadt

maleadt commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Well, looks like this exposes a whole bunch of issues on anything but the version tested by CI (13.3).

maleadt and others added 6 commits August 11, 2026 12:17
Three classes of issues, one per compiler version:

- CUDA 13.1 predates tileiras, so its CUDA_Compiler_jll artifact does not
  provide the binary and package precompilation died with an UndefVarError.
  Detect tileiras availability explicitly (with a clear error at first use)
  and skip the kernel precompile workload without it. Since a 13.1 compiler
  cannot exist, the CI job now instead exercises v13.1 bytecode emission
  with the default compiler.

- CUDA 13.2: tests exercising v13.3+ features (pack/unpack, StridedView,
  GatherScatterView, view-based atomic reductions, Int64 indexing, mma
  extensions, "default"-keyed optimization hints) were not gated on the
  emitted bytecode version. Gate device tests on `bytecode_version()`, and
  pin codegen tests that check version-independent behavior to an explicit
  `bytecode_version`.

- CUDA 13.4: reflection emitted v13.4 bytecode that the v13.3 CUDA_Tile_jll
  disassembler cannot decode, breaking every FileCheck test. `code_tiled`
  now defaults to `reflection_bytecode_version()`, the emitted version
  clamped to what the disassembler supports, and codegen tests for
  v13.4-only features are gated on it. Also raise the CI timeout, which the
  13.4 job exceeded due to extra artifact downloads.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…meout.

The Documentation job rejects public-but-undocumented functions, and the
Julia group's 15-minute timeout does not fit a cold cuTile precompile plus
the test suite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There is no 13.1 tileiras, and v13.1 bytecode cannot target the A100 CI
agents (Tile IR on sm_80 requires v13.2+), so neither interpretation of a
"13.1" job can run there. v13.1 bytecode emission remains covered by the
codegen tests that pin bytecode_version explicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Codegen and other host-side tests only need tileiras, so instead of
requiring a functional GPU, the test suite now detects whether the first
device can execute the selected Tile IR bytecode version and otherwise
restricts itself to host-side tests. This restores the CUDA 13.1 CI job as
a host-only run emitting v13.1 bytecode: the A100 agents (sm_80, which
requires v13.2+) cannot execute it, and no 13.1 tileiras exists.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CUDA_Compiler_jll v0.5.0+1 now ships the 13.1 tileiras, so the 13.1 CI job
can select the compiler like every other matrix entry. On the A100 agents
the suite still restricts itself to host-side tests, since v13.1 bytecode
cannot target sm_80.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CUDA_Compiler_jll now ships tileirdisasm next to tileiras on CUDA 13.4+,
so the disassembler can always decode what the compiler accepts. Prefer it
over CUDA_Tile_jll's translator (which remains the fallback for older
toolchains), and drop reflection_bytecode_version: code_tiled defaults to
the emitted bytecode_version again. Codegen tests for v13.4 features now
gate on the disassembler version alongside the bytecode version.

The CUDA 13.4 CI job requires a CUDA_Compiler_jll build that includes
tileirdisasm; with an older artifact, reflection of v13.4 bytecode errors
out instead of displaying a downgraded encoding.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@maleadt

maleadt commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

I don't particularly like how the bytecode version and tileiras version axes are now completely orthogonal, which make some tests messy, but at least this improves compatibility across the board so let's go ahead.

@maleadt
maleadt merged commit b07b255 into main Aug 12, 2026
1 check passed
@maleadt
maleadt deleted the tb/compiler branch August 12, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant