Skip to content

enable kleidiAI in llama.cpp asahi build - #2765

Open
Biasio wants to merge 1 commit into
containers:mainfrom
Biasio:ramalama-KleidiAI/issue-2764
Open

enable kleidiAI in llama.cpp asahi build#2765
Biasio wants to merge 1 commit into
containers:mainfrom
Biasio:ramalama-KleidiAI/issue-2764

Conversation

@Biasio

@Biasio Biasio commented May 21, 2026

Copy link
Copy Markdown

Fixes: #2764

@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The build script for llama.cpp is updated to support KleiDIAI on Asahi. A new DEFAULT_KLEIDIAI_COMMIT constant and clone_and_build_kleidiai function clone, build, install, and clean up KleiDIAI sources. Asahi installs blis-devel, and CMake flag selection separates Vulkan and Asahi handling, adding native CPU flags and BLAS/FLAME configuration.

Changes

KleidiAI Asahi Integration

Layer / File(s) Summary
CMake flags and BLIS setup
container-images/scripts/build_llama.sh
dnf_install_asahi adds blis-devel; configure_common_flags appends -march=native -mtune=native and splits vulkan/asahi handling, with asahi enabling KleiDIAI and FLAME BLAS with BLAS_INCLUDE_DIRS=/usr/include/blis.
KleiDIAI clone and install
container-images/scripts/build_llama.sh
Adds DEFAULT_KLEIDIAI_COMMIT and clone_and_build_kleidiai(), which clones KleiDIAI at KLEIDIAI_PULL_REF, builds/installs it via CMake, and removes cloned sources outside debug mode.
Main build invocation
container-images/scripts/build_llama.sh
main runs clone_and_build_kleidiai when containerfile is asahi, before building llama.cpp.

Estimated code review effort: 2 (Simple) | ~15 minutes

Sequence Diagram(s)

sequenceDiagram
  participant main as main()
  participant clone_and_build_kleidiai as clone_and_build_kleidiai()
  participant git as git
  participant cmake as CMake
  participant configure_common_flags as configure_common_flags()

  main->>main: check containerfile == asahi
  main->>clone_and_build_kleidiai: invoke build step
  clone_and_build_kleidiai->>git: clone KleiDIAI at KLEIDIAI_PULL_REF
  clone_and_build_kleidiai->>cmake: configure, build, install
  main->>configure_common_flags: set CMake flags for llama.cpp
  configure_common_flags->>configure_common_flags: enable GGML_VULKAN, GGML_KLEIDIAI, FLAME BLAS
  main->>main: build llama.cpp
Loading

Suggested reviewers: olliewalsh, maxamillion, bmahabirbu, rhatdan, mikebonnet

Poem

A rabbit hops on Asahi silicon fast,
KleiDIAI kernels compiled at last,
BLIS in the mix, native flags aglow,
One clone, one build, then off we go!
🐇⚙️🚀

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The script now builds and installs KleidiAI for Asahi, matching the issue’s request to enable the CPU backend.
Out of Scope Changes check ✅ Passed No clearly unrelated changes stand out beyond the Asahi/KleidiAI build updates and supporting BLIS tweaks.
Title check ✅ Passed The title clearly states the main change: enabling KleidiAI for the Asahi llama.cpp build.
Description check ✅ Passed The description references issue #2764, which matches the KleidiAI/Asahi build change.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@container-images/scripts/build_llama.sh`:
- Around line 314-315: The build currently defaults kleidiai_commit to "main"
via kleidiai_commit="${KLEIDIAI_PULL_REF:-main}", which makes builds
non-deterministic; change the logic so kleidiai_commit defaults to a pinned,
immutable ref (e.g., a tested tag or commit SHA stored in a constant like
KLEIDIAI_DEFAULT_REF) and only uses KLEIDIAI_PULL_REF when explicitly provided;
update the assignment and any documentation so
git_clone_specific_commit("${KLEIDIAI_REPO:-...}", "$kleidiai_commit") pulls the
pinned reference by default while still allowing opt-in override via
KLEIDIAI_PULL_REF.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 8550cbaf-b14d-4f2e-8954-5cdbc9a69fb8

📥 Commits

Reviewing files that changed from the base of the PR and between 7461f37 and fa8be48.

📒 Files selected for processing (1)
  • container-images/scripts/build_llama.sh

Comment thread container-images/scripts/build_llama.sh Outdated

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request adds KleidiAI and BLIS support to the Asahi build target in container-images/scripts/build_llama.sh. It introduces a new function to clone and build KleidiAI and updates the build flags for Asahi. Reviewers identified that the vulkan and asahi targets should be decoupled to avoid dependency issues on Vulkan builds. Additionally, feedback highlighted the need to specify installation paths and prefixes for KleidiAI to ensure it is correctly discovered by llama.cpp and included in the final container image.

Comment thread container-images/scripts/build_llama.sh Outdated
Comment thread container-images/scripts/build_llama.sh Outdated

@coderabbitai coderabbitai Bot 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.

♻️ Duplicate comments (1)
container-images/scripts/build_llama.sh (1)

272-274: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add BLIS runtime dependency for Asahi when enabling BLAS

Asahi builds llama.cpp with BLAS/BLIS (-DGGML_BLAS=ON and -DBLAS_INCLUDE_DIRS=/usr/include/blis) and installs blis-devel, but the Asahi runtime deps omit blis (they only add Vulkan packages), which can break runtime loading of BLAS/BLIS shared libraries.

Suggested patch
diff --git a/container-images/scripts/build_llama.sh b/container-images/scripts/build_llama.sh
@@
   elif [ "$containerfile" = "asahi" ]; then
     dnf copr enable -y `@asahi/fedora-remix-branding`
     dnf install -y asahi-repos
-    runtime_pkgs+=(vulkan-loader vulkan-tools mesa-vulkan-drivers)
+    runtime_pkgs+=(vulkan-loader vulkan-tools mesa-vulkan-drivers blis)

Also, KLEIDIAI_PULL_REF defaults to main, reducing reproducibility.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@container-images/scripts/build_llama.sh` around lines 272 - 274, The asahi
case that sets common_flags for building llama.cpp enables BLAS/BLIS but does
not include the BLIS runtime package, so add the runtime dependency "blis" (or
the distro package name used elsewhere) to the Asahi runtime deps list where the
asahi build variant is configured so BLIS shared libraries are present at
runtime; also remove the hard default of KLEIDIAI_PULL_REF="main" (or change it
to an empty/explicitly required value) so builds are reproducible by forcing
callers to provide a concrete commit/ref instead of defaulting to main. Ensure
you update the asahi runtime deps block and the variable default for
KLEIDIAI_PULL_REF accordingly, referencing the asahi case and the
KLEIDIAI_PULL_REF variable in the script.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@container-images/scripts/build_llama.sh`:
- Around line 272-274: The asahi case that sets common_flags for building
llama.cpp enables BLAS/BLIS but does not include the BLIS runtime package, so
add the runtime dependency "blis" (or the distro package name used elsewhere) to
the Asahi runtime deps list where the asahi build variant is configured so BLIS
shared libraries are present at runtime; also remove the hard default of
KLEIDIAI_PULL_REF="main" (or change it to an empty/explicitly required value) so
builds are reproducible by forcing callers to provide a concrete commit/ref
instead of defaulting to main. Ensure you update the asahi runtime deps block
and the variable default for KLEIDIAI_PULL_REF accordingly, referencing the
asahi case and the KLEIDIAI_PULL_REF variable in the script.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: f7f6fc39-9235-4f50-9114-f0a2c2d852ce

📥 Commits

Reviewing files that changed from the base of the PR and between fa8be48 and de7642d.

📒 Files selected for processing (1)
  • container-images/scripts/build_llama.sh

@Biasio
Biasio temporarily deployed to macos-installer May 22, 2026 09:12 — with GitHub Actions Inactive
@rhatdan

rhatdan commented May 22, 2026

Copy link
Copy Markdown
Member

@Biasio Thanks,
Please squash and sign your commits, And address the AI Code reviews.

@olliewalsh

olliewalsh commented May 22, 2026

Copy link
Copy Markdown
Collaborator

@Biasio Thanks, Please squash and sign your commits, And address the AI Code reviews.

@rhatdan FYI I have some questions about this in #2764 (comment) before we should consider merging it

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
ramalama/shortnames.py (1)

123-140: ⚡ Quick win

Sort entry blocks, not bare mapping lines.

Only the mapping lines move here; comments and blank lines after [shortnames] stay in their original slots. If someone adds a per-entry comment, a rewrite will attach that comment to the wrong shortname. Sorting (leading comments + mapping) blocks avoids that drift.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ramalama/shortnames.py` around lines 123 - 140, Current logic sorts only bare
mapping lines (mappings) which detaches their preceding comments/blank-lines;
instead group each mapping with its leading comment/blank-line block and sort
those blocks. Scan entries to build blocks where each block is
(leading_comments_and_blanks + mapping_line) using is_mapping to detect mapping
lines, then compute keys for sorting using the mapping line inside each block
with entry_sort_key and entry_name, perform the two-pass stable sorts on the
blocks, and finally rebuild result by replacing the original blocks in entries
with the sorted blocks before writing the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ramalama/shortnames.py`:
- Around line 93-99: The sorter currently only recognizes mappings that start
with a double-quote which mismatches Shortnames.__init__'s accepted syntax;
update is_mapping and parse_key (and the duplicate functions later in the file)
to detect any non-comment line containing '=' as a mapping and to extract the
key as the trimmed text left of the '=' with optional surrounding quotes
removed. Concretely: change is_mapping to return True for lines that (after
strip) are non-empty, not starting with '#' and contain '='; change parse_key to
take the portion before the first '=' then strip whitespace and optional
surrounding single or double quotes and return that string so sort_file()
accepts the same mapping syntax as the runtime loader.

---

Nitpick comments:
In `@ramalama/shortnames.py`:
- Around line 123-140: Current logic sorts only bare mapping lines (mappings)
which detaches their preceding comments/blank-lines; instead group each mapping
with its leading comment/blank-line block and sort those blocks. Scan entries to
build blocks where each block is (leading_comments_and_blanks + mapping_line)
using is_mapping to detect mapping lines, then compute keys for sorting using
the mapping line inside each block with entry_sort_key and entry_name, perform
the two-pass stable sorts on the blocks, and finally rebuild result by replacing
the original blocks in entries with the sorted blocks before writing the file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 886d4692-5d67-45bd-9607-afd4c52adb41

📥 Commits

Reviewing files that changed from the base of the PR and between de7642d and 1512ab3.

📒 Files selected for processing (2)
  • container-images/scripts/build_llama.sh
  • ramalama/shortnames.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • container-images/scripts/build_llama.sh

@coderabbitai coderabbitai Bot 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.

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 1

🧹 Nitpick comments (1)
ramalama/shortnames.py (1)

123-140: ⚡ Quick win

Sort entry blocks, not bare mapping lines.

Only the mapping lines move here; comments and blank lines after [shortnames] stay in their original slots. If someone adds a per-entry comment, a rewrite will attach that comment to the wrong shortname. Sorting (leading comments + mapping) blocks avoids that drift.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ramalama/shortnames.py` around lines 123 - 140, Current logic sorts only bare
mapping lines (mappings) which detaches their preceding comments/blank-lines;
instead group each mapping with its leading comment/blank-line block and sort
those blocks. Scan entries to build blocks where each block is
(leading_comments_and_blanks + mapping_line) using is_mapping to detect mapping
lines, then compute keys for sorting using the mapping line inside each block
with entry_sort_key and entry_name, perform the two-pass stable sorts on the
blocks, and finally rebuild result by replacing the original blocks in entries
with the sorted blocks before writing the file.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ramalama/shortnames.py`:
- Around line 93-99: The sorter currently only recognizes mappings that start
with a double-quote which mismatches Shortnames.__init__'s accepted syntax;
update is_mapping and parse_key (and the duplicate functions later in the file)
to detect any non-comment line containing '=' as a mapping and to extract the
key as the trimmed text left of the '=' with optional surrounding quotes
removed. Concretely: change is_mapping to return True for lines that (after
strip) are non-empty, not starting with '#' and contain '='; change parse_key to
take the portion before the first '=' then strip whitespace and optional
surrounding single or double quotes and return that string so sort_file()
accepts the same mapping syntax as the runtime loader.

---

Nitpick comments:
In `@ramalama/shortnames.py`:
- Around line 123-140: Current logic sorts only bare mapping lines (mappings)
which detaches their preceding comments/blank-lines; instead group each mapping
with its leading comment/blank-line block and sort those blocks. Scan entries to
build blocks where each block is (leading_comments_and_blanks + mapping_line)
using is_mapping to detect mapping lines, then compute keys for sorting using
the mapping line inside each block with entry_sort_key and entry_name, perform
the two-pass stable sorts on the blocks, and finally rebuild result by replacing
the original blocks in entries with the sorted blocks before writing the file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 886d4692-5d67-45bd-9607-afd4c52adb41

📥 Commits

Reviewing files that changed from the base of the PR and between de7642d and 1512ab3.

📒 Files selected for processing (2)
  • container-images/scripts/build_llama.sh
  • ramalama/shortnames.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • container-images/scripts/build_llama.sh
🛑 Comments failed to post (1)
ramalama/shortnames.py (1)

93-99: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Make sort_file() accept the same mapping syntax as the runtime loader.

Shortnames.__init__() on Lines 60-64 accepts any key = value entry and only strips optional quotes, but is_mapping()/parse_key() only recognize lines that begin with ". Valid unquoted entries will be ignored by --check and never moved by the formatter, so the sorter and loader disagree on what a valid shortname entry is.

Proposed fix
-        def is_mapping(line: str) -> bool:
-            return line.strip().startswith('"')
+        def is_mapping(line: str) -> bool:
+            stripped = line.strip()
+            return bool(stripped) and not stripped.startswith(("#", ";")) and "=" in stripped

         def parse_key(line: str) -> str:
-            s = line.strip()
-            return s[1 : s.index('"', 1)]
+            key, _sep, _value = line.partition("=")
+            return key.strip().strip("'\"")

Also applies to: 123-136

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ramalama/shortnames.py` around lines 93 - 99, The sorter currently only
recognizes mappings that start with a double-quote which mismatches
Shortnames.__init__'s accepted syntax; update is_mapping and parse_key (and the
duplicate functions later in the file) to detect any non-comment line containing
'=' as a mapping and to extract the key as the trimmed text left of the '=' with
optional surrounding quotes removed. Concretely: change is_mapping to return
True for lines that (after strip) are non-empty, not starting with '#' and
contain '='; change parse_key to take the portion before the first '=' then
strip whitespace and optional surrounding single or double quotes and return
that string so sort_file() accepts the same mapping syntax as the runtime
loader.

@Biasio
Biasio force-pushed the ramalama-KleidiAI/issue-2764 branch from 1512ab3 to ea7c11a Compare July 7, 2026 08:34

@coderabbitai coderabbitai Bot 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ramalama/cli.py (1)

824-836: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Don't swallow KeyError from push(). New() only raises KeyError for unknown shortnames or unsupported transports, but this handler also catches KeyError from target_model.push(), which can come from unrelated transport failures. Split the fallback so only the lookup path is covered, or re-raise push-time KeyErrors.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ramalama/cli.py` around lines 824 - 836, The current exception handling
around New() and target_model.push() is too broad and can incorrectly treat
KeyError from push() as a lookup failure. Update the logic in the cli push flow
so that only the New(target, args) resolution path falls back on
KeyError/NotImplementedError, and ensure any KeyError raised by
target_model.push() is re-raised instead of triggering the OCI fallback. Use the
existing symbols New, target_model.push, MODEL_TYPES, and TransportFactory to
split the lookup failure handling from push-time failures cleanly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@ramalama/cli.py`:
- Around line 824-836: The current exception handling around New() and
target_model.push() is too broad and can incorrectly treat KeyError from push()
as a lookup failure. Update the logic in the cli push flow so that only the
New(target, args) resolution path falls back on KeyError/NotImplementedError,
and ensure any KeyError raised by target_model.push() is re-raised instead of
triggering the OCI fallback. Use the existing symbols New, target_model.push,
MODEL_TYPES, and TransportFactory to split the lookup failure handling from
push-time failures cleanly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: cdeb2b00-fea5-4e28-9e35-86bc88ad381e

📥 Commits

Reviewing files that changed from the base of the PR and between 1512ab3 and ea7c11a.

📒 Files selected for processing (4)
  • container-images/scripts/build_llama.sh
  • ramalama/cli.py
  • ramalama/transports/huggingface.py
  • test/unit/test_huggingface.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • container-images/scripts/build_llama.sh

@olliewalsh

Copy link
Copy Markdown
Collaborator

DCO is failing on 574a6c0

@rhatdan

rhatdan commented Jul 8, 2026

Copy link
Copy Markdown
Member

Please squash all of the commits into a single PR.

@Biasio
Biasio temporarily deployed to macos-installer July 8, 2026 11:03 — with GitHub Actions Inactive
@Biasio
Biasio force-pushed the ramalama-KleidiAI/issue-2764 branch from ea7c11a to b1b1d80 Compare July 9, 2026 06:27
@Biasio

Biasio commented Jul 9, 2026

Copy link
Copy Markdown
Author

Sorry, I am not so used to git versioning... Trying my best.

Now it should be all correct

Comment thread container-images/scripts/build_llama.sh Outdated
@Biasio
Biasio force-pushed the ramalama-KleidiAI/issue-2764 branch from b1b1d80 to 1b1aee4 Compare July 9, 2026 10:49
@Biasio
Biasio temporarily deployed to macos-installer July 9, 2026 12:47 — with GitHub Actions Inactive
@olliewalsh olliewalsh changed the title fix kleidiAI missing for asahi, issue #2764 enable kleidiAI in llama.cpp asahi build Jul 9, 2026
Comment thread container-images/scripts/build_llama.sh Outdated
@olliewalsh
olliewalsh temporarily deployed to macos-installer July 11, 2026 09:04 — with GitHub Actions Inactive
Comment thread container-images/scripts/build_llama.sh
Comment thread container-images/scripts/build_llama.sh Outdated

setup_build_env

if [[ "$containerfile" == "asahi" ]]; then

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Wonder if it would make sense to use KleidiAI on other arm64 platforms? E.g the 16gb rpi5?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

It should since armv8.2-A implements SME and KleidiAI benefits from SME support.
I don't own one, so I cannot test it myself.

Another interesting platform might be Android...

Regarding Apple Silicon, SME was first introduced with the M4 chip, mine is an M1 so the performance gap is small than it might be on a newer model.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I can test on rpi5 and M4

…ahi targets, issue containers#2764

Signed-off-by: Biasio <91698445+Biasio@users.noreply.github.com>
Signed-off-by: Biasio <alessandro.biasioli02@gmail.com>
@Biasio
Biasio force-pushed the ramalama-KleidiAI/issue-2764 branch from 666608e to 64d1b41 Compare July 29, 2026 12:17
@Biasio
Biasio temporarily deployed to macos-installer July 29, 2026 14:02 — with GitHub Actions Inactive
@rhatdan

rhatdan commented Jul 29, 2026

Copy link
Copy Markdown
Member

LGTM

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.

KleidiAI CPU backend isn't compiled by default for asahi hosts

3 participants