[Bioc-devel] Support for Linux ARM64

Martin Grigorov m@rt|n@gr|gorov @end|ng |rom gm@||@com
Fri Jan 6 08:01:00 CET 2023


Hello Hervé,

Thank you for your detailed response!

I very much agree with you that the number of combinations (OSes, OS
flavors, CPU architectures, ...) are endless and it is impossible to test
them all!

I work for one of the cloud providers and I can say that the demand for
Linux ARM64 deployments increases steadily in the last few years!
All of the major cloud providers started offering Linux ARM64 compute
instances in addition to the "standard" Linux x86_64 ([1], [2], [3], [4],
[5], [6]). Only IBM offers its own s390x [7] in addition to x86_64.

Microsoft is pushing hard for Windows on ARM64 [8] [9] too! I guess sooner
or later someone will contact the Bioconductor community with a request for
Windows on ARM64.

I hope the Bioconductor community will recognize Linux ARM64 as an
important platform to be supported!

1. https://aws.amazon.com/ec2/instance-types/ (A1)
2. https://cloud.google.com/compute/docs/instances/arm-on-compute (Tau T2A)
3.
https://azure.microsoft.com/en-us/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/

4. https://www.oracle.com/cloud/compute/arm/
5.
https://www.alibabacloud.com/product/ecs?spm=a3c0i.7938564.8215766810.5.20ff441eQxRIsn
6.
https://support.huaweicloud.com/intl/en-us/productdesc-ecs/en-us_topic_0035470096.html
(Kunpeng)
7. https://cloud.ibm.com/vpc-ext/provision/vs
8. https://www.microsoft.com/en-us/search/explore?q=arm64+windows
9.
https://devblogs.microsoft.com/visualstudio/arm64-visual-studio-is-officially-here/

Regards,
Martin

P.S. I am not a native english speaker! I recognize that "man power" is not
the most appropriate wording in my previous message. I meant "people"!


On Thu, Jan 5, 2023 at 8:43 PM Hervé Pagès <hpages.on.github using gmail.com>
wrote:

> Hi Martin,
>
> Linux runs on many architectures, ARM64 is just one of them.
>
> Our daily builds have traditionally focused on 3 platforms: Intel-based
> Linux (Ubuntu 22.04), Windows, and Intel-based Mac. Note that we
> recently added ARM64-based Mac to our daily builds.
>
> One big difference between Linux and the other platforms is that we only
> produce binary packages for the latter. More precisely:
>
> - on the Linux builders: the daily builds only run 'R CMD INSTALL', 'R
> CMD build', and 'R CMD check', on each Bioconductor package,
>
> - on the Windows and Mac builders: the daily builds run all the above
> plus an additional step that we call the BUILD BIN step that produces a
> binary for each Bioconductor package.
>
> This means that on Linux, as well as on any other Unix-like OS that is
> not macOS (e.g. FreeBSD, OpenBSD, Solaris, HP-UX, etc...), users will
> install all their packages (Bioconductor and CRAN) **from source**. This
> should work as long as they are on a platform where R is supported and
> have the required compilers (C, C++, and Fortran).
>
> Note that if officially supporting a given platform means running the
> daily builds on that particular platform, then there's no way for us to
> do that because platform == OS + architecture, and the list of
> combinations of Unix-like OS's (Linux, FreeBSD, Solaris, etc...) +
> architectures (Intel, ARM64, Sparc, powerpc) is endless. Even if we
> narrow this list to Intel-based Linux, there are hundreds of Linux
> distributions around that use different kernel, compilers, package
> managers, etc...
>
> All this to say that, as far as the daily builds are concerned, we had
> to make choices, and those choices are based on the most commonly used
> platforms. Since all Bioconductor packages are tested daily on
> Intel-based Linux (Ubuntu 22.04), Windows, Intel-based Mac, and
> ARM64-based Mac, we have some reasonable confidence that they will work
> properly on these 4 platforms (still not a 100% guarantee of course,
> there's nothing like that).
>
> My understanding is that ARM64-based Linux is still a marginally used
> platform so probably not worth for us to allocate resources on adding it
> to our daily builds at the moment. If it ever becomes more mainstream in
> the future, then we will certainly reconsider. That does not mean that
> you can't use Bioconductor on a ARM64-based Linux machine **now**. I see
> no reason a priori why you couldn't install (from source) Bioconductor
> packages on this platform, and use them, as long as:
>
> - R is supported on your ARM64-based Linux machine
>
> - you have compilers that are supported by R
>
> - you have the external libraries that are required by some CRAN and/or
> Bioconductor packages.
>
> Hope this helps,
>
> H.
>
> On 05/01/2023 02:01, Martin Grigorov wrote:
> > Dear community,
> >
> > Happy and successful new year!
> >
> > Appologies if this has been discussed before but
> > https://stat.ethz.ch/pipermail/bioc-devel/ does not provide search
> > facilities and my googling didn't help much!
> >
> > I'd like to ask whether Linux ARM64 is officially supported ?
> > I know that Mac ARM64 is supported since 3.16 [1] [2].
> > I cannot find such test results for Linux ARM64 and the site search [3]
> > also mentions "arm64" only in context of "macOS".
> > In addition the Docker images are also single-platform [4] (linux/amd64).
> >
> > How can we help to add support for Linux ARM64 ?
> > My employer is willing to donate VMs and man power if the community is
> > interested in adding support for Linux ARM64!
> >
> >
> > Regards,
> > Martin
> >
> > 1. https://bioconductor.org/news/bioc_3_16_release/
> > 2. https://bioconductor.org/checkResults/3.17/bioc-mac-arm64-LATEST/
> > 3. https://bioconductor.org/help/search/index.html?q=arm64/
> > 4. https://hub.docker.com/r/bioconductor/bioconductor_docker/tags
> >
> >       [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > Bioc-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> --
> Hervé Pagès
>
> Bioconductor Core Team
> hpages.on.github using gmail.com
>
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list