Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add support for aarch64 #34

Merged
merged 11 commits into from
Dec 20, 2024
Merged

Add support for aarch64 #34

merged 11 commits into from
Dec 20, 2024

Conversation

andriish
Copy link

  • Add support for aarch64
  • Add CI that runs on Linux aarch64

Note: on aarch64, the float128 is equivalent to native long double and quadmath library does not exist.

@andriish
Copy link
Author

Hi @scarrazza, could you, please, have a look?

Nowadays people make a lot of claims how beneficial it is to do calculations on ARM, but totally forget to invest in the support of software on ARM.

Best regards,

Andrii

@scarrazza scarrazza self-requested a review December 17, 2024 19:31
Copy link
Owner

@scarrazza scarrazza left a comment

Choose a reason for hiding this comment

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

Dear @andriish, thanks for this, it looks good to me.

@scarrazza scarrazza merged commit 1c935cf into scarrazza:master Dec 20, 2024
2 checks passed
@matthewfeickert
Copy link
Contributor

matthewfeickert commented Dec 20, 2024

This is great @andriish. With this we can also get Linux aarch64 (and I think also macOS arm64) builds working for the conda-forge distribution: https://github.com/conda-forge/qcdloop-feedstock

(c.f. conda-forge/qcdloop-feedstock#8).

edit: @andriish Out of curiosity, have you patched aarch64 support into other libraries that use libquadmath? I know that this is also an issue with ninja (https://github.com/peraro/ninja) (c.f. hep-packaging-coordination/packaging-hep-simulation-stack#3)

@@ -66,7 +66,7 @@ configure_file(
"${PROJECT_SOURCE_DIR}/src/qcdloop.pc.in"
"${PROJECT_SOURCE_DIR}/src/qcdloop.pc"
)

IF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
Copy link
Contributor

@matthewfeickert matthewfeickert Dec 20, 2024

Choose a reason for hiding this comment

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

@andriish Doesn't this assume only the existence of x86 and aarch64? Won't this break ppc64le builds now?

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants