Compile Julia using experimental GNU GCC for apple silicon

Hello everyone! This is my first post in the forum. :grinning:

I was wondering, have any of you been able to compile Julia using the experimental GCC - Fortan compiler from Iain Sanode for apple silicon?

I just pulled the trigger for a new MacBook Air and I’m quite interested in this. If not, is it better at this point to simply use Rosseta 2?

On a side note, parallels was just released about yesterday with support for full ARM virtualization. So another option would be to install Julia on a Linux ARM VM. Without having done any tests I’m guessing that the overhead against Rosseta 2 should be lower. Nonetheless, maybe the speed difference doesn’t make up for the “struggles” of a VM.

Let me know yor thoughts on this.

Cheers,
-Luis

Julia itself doesn’t need a Fortran compiler, only some of its dependencies (namely OpenBLAS) do. Building Julia from scratch with the default settings would automatically download prebuilt copies of all dependencies (so you don’t need to build OpenBLAS at all), and master version of Julia should already build on Apple Silicon. There are still some issues tracked at https://github.com/JuliaLang/julia/issues/36617

5 Likes

Are there any Julia builds available which have been compiled for Apple Silicon?

I think that this hardware has a lot of potential for numerical applications which utilise not only the CPU cores but also the GPU and ML cores in a way that is hopefully transparent to the user.

Official builds, no, but you can compile Julia master yourself, it takes 4 minutes.

1 Like

I will give it a try but what about all the other components required for a complete Julia installation?

What other components? I think you only need xcode

I think that it contains mathematical libraries in C/FORTRAN like OpenBLAS.

Julia build system by default uses pre-built copies of the binary dependencies. These are available also for aarch64-apple-darwin (the platform of this computer) on master

1 Like

Very interesting. I will try that. Thank you!