Open ptheywood opened 5 months ago
Arm64 Github Actions runners are now in a public beta available for teams/enterprise customers for now, with wider roll out by the end of the year.
They are "larger runners" though so cost £ (but 37% cheaper than x64 runners),
https://github.blog/changelog/2024-06-03-actions-arm-based-linux-and-windows-runners-are-now-in-public-beta/ https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/
Grace-Hopper and Jetson systems have an ARM host, rather than x86-64.
Github actions does not provide ARM runners, so cross compilation would be the best option for generating binary wheels for ARM with our current CI setup.
We know that current (
v2.0.0-rc.1
) FLAME GPU 2 can be built nativley and executed on ARM (both jetson and grace-hoppper), but have not previously attempted cross-compilation.CMake does support corss compialtion via Tollchain files, but we would likely also have to change use of find_library/find_file/find_path. We may also need to make CMake changes based on
CMAKE_HOST_SYSTEM
env vars etc.Only supporting Linux->linux cross compilation would make life much simpler.
https://cmake.org/cmake/help/book/mastering-cmake/chapter/Cross%20Compiling%20With%20CMake.html
CMAKE_CROSSCOMPILING
will almost certainly be relevant.This will have some overlap with changes required for #1131 (conda-forge uses cross compilation by default, but we overrode relevant settings somewhere to make our find_package etc behave propperly in a non-cross compilation case.