Skip to content

Next iteration: move the stack to Python 3.14 and the latest PyTorch #383

Description

@amd-vivekag

Follow-up from #380. The CI base is now the newest published combination available on the classic ROCm layout:

rocm7.2.4_ubuntu24.04_py3.12_pytorch_release_2.10.0

Newer Python and PyTorch exist, but only behind two independent gates. This issue tracks clearing both.

Gate 1 — the images only ship newer Python/PyTorch on the wheel line

Surveyed from Docker Hub (477 tags):

ROCm line Layout Ubuntu Python PyTorch
7.14 wheel (TheRock) 24.04, 26.04 3.11–3.14 2.10, 2.11, 2.12
7.2.4 (current) classic 22.04, 24.04 3.10, 3.12 2.10.0

There is no py3.13/3.14 or torch 2.11+ on any classic-layout image, so this is blocked on #381 (layout-agnostic ROCm discovery), which is what makes the 7.14 line usable. Once #381 lands, ROCm 7.14 + py3.14 + torch 2.12 becomes reachable in one step.

Note the trap: ROCm 7.2 (older than our 7.2.4) does publish py3.13. Taking it would mean giving up three ROCm patch releases for one Python minor — the wrong trade for a ROCm debugging tool. Don't "solve" this by moving backwards on ROCm.

Gate 2 — our own packaging caps Python at 3.12

Independent of any image:

requires-python = ">=3.10"
Programming Language :: Python :: 3.10 / 3.11 / 3.12   # stops at 3.12

and cpu-tests.yml runs a 3.10/3.11/3.12 matrix. Running the GPU gate on 3.13/3.14 would be testing a Python we neither declare nor test anywhere else. This half is not blocked on #381 and can be done independently, which is probably the right order — it de-risks the image bump.

Scope

Python 3.13/3.14 support (do first, independent of #381)

  • Add the 3.13 (and 3.14 when appropriate) classifiers to pyproject.toml.
  • Extend the cpu-tests.yml matrix to cover the new versions. Note the KB#13 precedent: the matrix is gated by a non-matrix aggregator job for branch protection, so adding legs must not break the required check.
  • Check dependency support at the new versions. All extras are lower-bounded (>=) with no upper caps, so this is likely a no-op, but numpy/pandas/matplotlib are the ones to verify — and per KB#14, pin to the newest release whose requires_python still admits our floor.
  • Decide whether the floor moves too, or whether we keep supporting 3.10.

Stack move (after #381)

Sequencing

#383 (Python support) → #381 (layout-agnostic discovery) → flip to 7.14 + py3.14 + torch 2.12

Doing the Python work first means the eventual flip changes ROCm and layout only, keeping one variable at a time — the same reasoning that led #380 to move Ubuntu/Python ahead of the ROCm jump.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions