Skip to content

Refactor CUDA workflow and remove ROCm steps - #105

Closed
MasterCool4389 wants to merge 3 commits into
PrismML-Eng:prism-v5from
MasterCool4389:prism
Closed

MasterCool4389 wants to merge 3 commits into
PrismML-Eng:prism-v5from
MasterCool4389:prism

Conversation

@MasterCool4389

@MasterCool4389 MasterCool4389 commented Aug 1, 2026

Copy link
Copy Markdown

Updated CUDA workflow to use only CUDA 13.3 and modified ccache keys for better artifact management. Removed unused ROCm steps and added artifact upload for CUDA builds.

Overview

Additional information

Requirements

  • I have read and agree with the contributing guidelines
  • AI usage disclosure: Yes to input what lines were required for fast iteration

Updated CUDA workflow to use only CUDA 13.3 and modified ccache keys for better artifact management. Removed unused ROCm steps and added artifact upload for CUDA builds.
@github-actions github-actions Bot added the devops label Aug 1, 2026
@khosravipasha

Copy link
Copy Markdown
Collaborator

Why is this change done?
Also don't think we are even using this one, we use the release-prism at the moment.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the manual Windows CUDA workflow into a CUDA 13.3 artifact build with expanded FlashAttention quantization support.

Changes:

  • Removes CUDA 12.4 and ROCm jobs.
  • Enables all-quant FlashAttention kernels.
  • Bundles CUDA runtime DLLs and uploads the packaged build.
Suppressed comments (1)

.github/workflows/build-cuda-windows.yml:81

  • The unconditional success masks missing source directories and failed copies, so the workflow can publish a package without required CUDA runtime DLLs. Keep normalizing robocopy's nonstandard success codes, but first verify that every required DLL pattern exists in the destination.
          exit 0 # robocopy's exit codes aren't normal 0=success; don't fail the step on partial matches

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

uses: ggml-org/ccache-action@v1.2.21
with:
key: release-windows-2022-x64-cuda-${{ matrix.cuda }}
key: release-windows-2022-x64-cuda-${{ matrix.cuda }}-fa-all-quants
@MasterCool4389

Copy link
Copy Markdown
Author

Hi,

This was done to allow for an optimised build of PrismML's llama.cpp for 13.3 CUDA on Windows to run with Flash attention, all quantisation, and working KV cache quantisation, as it was failing and producing a KV cache of full FP16, which is too high for 16 GB of VRAM when trying to run it. This allows for this model to run at full context (with KV cache at Q4), as fast as possible on consumer cards like a 5060 Ti 16 GB.

  • Removed the hip job
  • Added -DGGML_CUDA_FA_ALL_QUANTS=ON to the CUDA build step
  • Trimmed the matrix from ['12.4', '13.3'] to just '13.3'.
  • Added the packaging + upload steps it was missing — before, this workflow only built and warmed the ccache; it never produced anything downloadable.
  • Bumped the ccache key so it doesn't collide with the non-FA_ALL_QUANTS cache from the original job (otherwise you'd get stale cached objects that don't have the new kernels).

@MasterCool4389

Copy link
Copy Markdown
Author

You can push this into the release prism workflow if you want to.

Added attribution for the optimized builds of PrismML's llama.cpp engine.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 1, 2026
@khosravipasha

Copy link
Copy Markdown
Collaborator

@MasterCool4389 yes wer are not using the flows changed here so no reason to merge it
And sure happy to take a PR for "prism workflow" but each changes needs to be more clear in the PR description itself what problem its trying to resolve. e.g. not sure why removing cuda 12.4.

-fa-all-quants I think makes sense just need to see if it does not increase the build time too much.

@MasterCool4389

Copy link
Copy Markdown
Author

Alright, thanks for your feedback. I will try to be clearer in the PR description next time.

I removed CUDA 12.4 to reduce build time, since most users will be using the latest CUDA 13.3 anyway.

@khosravipasha
khosravipasha changed the base branch from prism to prism-v5 August 28, 2026 00:43
@khosravipasha

Copy link
Copy Markdown
Collaborator

Agent review: drafted and posted by the PrismML maintainers' coding agent from the maintainer account; the decision is the team's.

Thanks for the effort here, and sorry for the slow turnaround. Two things have moved underneath this PR since August:

  • Branch migration. The fork was rebuilt on top of current mainline llama.cpp (the prism-v7 line) and that became the new prism. The branch this PR targets, prism-v5, is frozen (final release prism-b9601-68faa14), and prism-v7 is frozen as well now that it has been promoted. Any change we take needs to be made against today's prism.
  • The release workflow was reworked in the meantime. Releases now come from .github/workflows/release-prism.yml on prism, which builds Windows CUDA 12.4, 13.3 and 13.4 (arm64), Windows HIP and Vulkan, Linux CUDA 12.4/12.8/13.3, ROCm, Vulkan and CPU, plus the Apple and Android slices, with per-job ccache keys and release-asset upload. That covers the artifact-upload and ccache parts of this PR, and it goes the other way on the two removals: we keep CUDA 12.4 because a meaningful share of users are still on it, and the ROCm and HIP builds are shipped assets people rely on.

So we are closing this one as superseded rather than asking for a rebase. If you see a further small, self-contained improvement to release-prism.yml on prism (a ccache key fix, a job-timing win, a missing artifact), please send it as its own PR with a line per change on what it does and why; those are easy for us to review and take.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devops documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants