We will have access to an Ampere Altra Max server soon that we plan on using with relion. Looking through the CryoSPARC worker package, it seems like the only thing explicitly requiring x86_64 is anaconda, which has an ARM64 build available on their website. We will not be using the server for GPU jobs, only CPU.
Is it possible to install the CryoSPARC worker package on ARM64 by replacing the anaconda build?
I will add, Nvidia does make arm cuda libraries. On AWS, there are G5g instances that combine AWS Graviton2 processors with NVIDIA T4G gpus. I’m curious how easy it would be to port all of cryosparc to arm.
CTFFIND requires the modification of some old x86 assembly to pure C before it will build and run.
RELION otherwise has no issues.
I built and tested RELION 3 (and 3.1) ages ago on a little nVidia Jetson Nano SBC. Other than the box size being extremely limited due to the anemic GPU (and needing a large swapfile or it would run out of RAM) it had no issues beyond the CTFFIND quirk mentioned.
Due to the upcoming Grace SuperChip that Nvidia is building, all modern Nvidia GPUs now support ARM64, so you could use an H100 in an ARM64 server and still have compatibility
This will unfortunately not suffice because we currently distribute some CryoSPARC components as x86_64 binaries. We have not yet determined a release date for arm64 support.