Skip to content

fix: add aarch64 support#304

Merged
xiaguan merged 1 commit into
novitalabs:masterfrom
hxieustc:fix/add-aarch64-support
May 30, 2026
Merged

fix: add aarch64 support#304
xiaguan merged 1 commit into
novitalabs:masterfrom
hxieustc:fix/add-aarch64-support

Conversation

@hxieustc
Copy link
Copy Markdown
Contributor

Motivation

pegaflow is hard coded for x86_64. If we run pegaflow on GB200 or similar architectures, we need to add support for arm64.

Fix

Currently pegaflow does not bind to specific architectures. The only hardware platform architecture specific bindings are (1) 64-bit pointers, (2) 64-bit atomics via AtomicI64. Both of which are supported by arm64. Thus pegaflow can run on arm64 / aarch64 platforms.

The fix is very simple and straightforward:

Instead of using

#[cfg(not(all(target_arch = "x86_64", target_os = "linux")))]

We can use

+#[cfg(not(all(target_os = "linux", target_pointer_width = "64", target_has_atomic = "64")))]

to allow any architecture that supports linux (shared memory) and 64-bit points and 64-bit atomic. arm64/aarch64 naturally follows in this category.

@xiaguan xiaguan changed the title Fix/add aarch64 support fix: add aarch64 support May 30, 2026
LoadState only needs Linux shared memory, 64-bit pointer width, and
64-bit atomics, all of which aarch64-unknown-linux-gnu satisfies.
Relax the x86_64-only cfg guard accordingly.
Copy link
Copy Markdown
Collaborator

@xiaguan xiaguan left a comment

Choose a reason for hiding this comment

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

LGTM!

@xiaguan xiaguan merged commit a475860 into novitalabs:master May 30, 2026
12 checks passed
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.

2 participants