equinor / segyio

Fast Python library for SEGY files.
Other
469 stars 213 forks source link

OS X ARM64 Target #534

Closed tasansal closed 7 months ago

tasansal commented 1 year ago

Hi,

I have a MacBook Pro with the ARM based M1 architecture. Since that is not a target for the segyio builds, I have to run the x86_64 emulated version (via Rosetta 2) to be able to use segyio.

Are there any plans to support this architecture natively?

I can help you test if you don't have the right hardware to do so.

AFAIK, there is no GitHub action for OS X ARM64 at the moment https://github.com/actions/runner-images/issues/2187

However, it can be cross-compiled on a non-Apple container or action.

da-wad commented 1 year ago

Seems a fair request... as you're right that cross-compilation is possible. However my experience attempting this with zfpy is that delocating the cross compiled wheels fails to actually pull in the dependencies, see: this issue ... so I am afraid this may have to wait for native OSX ARM64 runners :-/

tasansal commented 1 year ago

Thanks @da-wad, in the meantime, I will compile from the source then. Any known issues there I should watch for?

tasansal commented 1 year ago

@da-wad I built ARM64 wheels for the latest segyio 1.9.11 for MacOS 11 cpython3.8-3.11 manually and posted them to this PR if anyone wants to upload to PyPI: https://github.com/equinor/segyio/pull/536#issuecomment-1532280601

ErlendHaa commented 9 months ago

Native runners are finally available! https://github.com/actions/runner-images/issues/8439

ajaust commented 7 months ago

We have just pushed a new release (1.9.12) for which Apple ARM packages are build. The packages are also on PyPI already and read to be used.

radeva commented 5 months ago

@ajaust You can try FlyCI's M1 and M2 runners. They are on average 2x faster and 2x cheaper than GitHub's and we have a free tier for OSS projects (see below).

Install Instructions

  1. Install FlyCI app and
  2. Easily replace one line of code and start using FlyCI runners:
jobs:
 ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m1
   steps:
   - name: 👀 Checkout repo
     uses: actions/checkout@v4

500 mins/month Free for Public Repos

Since your repo is public, FlyCI offers 500 mins/month of free M1 runner usage with the flyci-macos-large-latest-m1 runner for public projects.

Don't hesitate to contact us in case the free tier doesn't suit your needs or you experience any issues with the runners. Our team is here to support you!

Best Regards, Veselina Radeva Product Manager at FlyCI