odelaneau / shapeit5

Segmented HAPlotype Estimation and Imputation Tool
https://odelaneau.github.io/shapeit5/
MIT License
56 stars 9 forks source link

feature request: Mac OS and Linux ARM64 compatibility? #95

Open pettyalex opened 3 months ago

pettyalex commented 3 months ago

I've had multiple researchers on my team lose some time this week assuming that shapeit5 is Mac OS compatible, but it is not. At the same time, the major cloud vendors continue to offer ARM64 processors at very significant discounts compared to Intel or AMD, meaning that even if vector performance is worse they can offer a better value.

At the same time, bioconda is starting to widely roll out ARM64 support not just for Mac OS, but also Linux: https://github.com/bioconda/bioconda-recipes/issues/23454 .

I'd be glad to update a PR that I developed and validated that enables ARM64 compatibility for Shapeit5 if you are interested in merging it: https://github.com/odelaneau/shapeit5/pull/68 . I think there might be a surprising amount of users out there that would love to have this.

pettyalex commented 3 months ago

I have one more thought: it's very likely that in the future, if shapeit does not merge ARM64 compatibility upstream in this repo, different outside packaging groups will start patching it in. I've seen that happen already for other genomics tools, and it would save a whole lot of extra work if we could get it into the upstream project instead.

rwk-unil commented 3 months ago

Hello, thank you for suggesting this. SHAPEIT5 is Mac OS compatible, at least for Intel based Macs. As I only have an Intel based Mac and have no access to an ARM64 Mac I was not able to try it out.

For the cloud we target Intel as it was the most common architecture, Mac OS in the cloud is rather expensive compared to Linux based instances so we did not bother. But your suggestion about ARM64 cloud instances makes a lot of sense, as indeed we see a shift towards very efficient ARM64 machines (e.g., AWS Graviton).

If you have the changes for ARM64 locally already, I think it is a good idea to issue a PR or update your current PR. I have several Linux based ARM64 machines so I can try it out and I'll update @srubinacci for merging this into the mainline repo.

Regards, Rick