manodeep / Corrfunc

⚡️⚡️⚡️Blazing fast correlation functions on the CPU.
https://corrfunc.readthedocs.io
MIT License
163 stars 50 forks source link

Add `arm64` (`armv8`) kernels to all pair-counters (targeting Apple M1 and above) #317

Open manodeep opened 2 months ago

manodeep commented 2 months ago

Is your feature request related to a problem? Please describe. Add armv8 kernels to all pair-counters

Describe the solution you'd like While Corrfunc now compiles and runs on arm64, at runtime only the fallback kernels are available. Ideally, we should have armv8 kernels to all pair-counters

Describe alternatives you've considered N/A

Additional context Based on my initial implementation, the armv8 kernels speed up the computations significantly on my M2, compared to the fallback kernels. However, that work stalled because there was no CI to test any implementation regularly and I didn't want to keep working on it without a working CI. Now, it looks like that the arm64 runners are available with macos-latest - so the CI should be able to handle testing the code.

But this also means that we need to add an additional CI OS to check for Intel macos