Has anyone tried the IBM XL Fortran for Linux Compiler?
Offer a no-charge Community Edition
Allows for unlimited production use and provides a forum where your questions can be answered by IBM experts. Consider purchasing the License Charge Edition to obtain world-class IBM support.
It is a new one to me - just downloaded the distribution to have a look.
Does it run on personal computers with Intel or AMD CPUs? The compiler section of Fortran-lang says
IBM® XL Fortran for Linux is an industry standards-based programming tool used to develop large and complex applications in the Fortran programming language. It generates code that leverages the capabilities of the latest POWER9 architecture and maximizes your hardware utilization. IBM XL Fortran for Linux optimizes your infrastructure on IBM Power Systems™ in support of extensive numerical, scientific and high-performance computing.
A community edition of the IBM XL compilers are available free of charge. The compilers support Linux and AIX platforms and ppc64le architectures.
and the IBM site says
You can use any IBM Power Systems server as long as it is supported by your operating system distribution. For a complete list of the IBM Power Systems servers, see http://www.ibm.com/systems/power/hardware/.
You can’t run the IBM XL compilers without emulation on x86_64 architectures. I used QEMU to test them, but since it is not very convenient to work that way I haven’t used them much yet.
One somewhat easy way to test the IBM XL compilers on x86_64 arch are the multiarch docker containers, with the downloaded tarball in
ibmxl you could spin up an Ubuntu Xenial image using:
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
sudo docker run -it -v $PWD/ibmxl:/ibmxl multiarch/ubuntu-core:ppc64el-xenial
The multiarch channel at dockerhub has several other distros with PowerPC support as well for a quick test, but their most recent images focus more on ARM architectures. Might be worth to check condaforge/linux-anvil-ppc64le for this purpose, but I think you could run into issues with sudo there.
I’ve been using it (v16.1) since last summer on IBM POWER9 with Spectrum MPI (IBM’s fork of OpenMPI).
It mostly works well. I’ve had no problems building and running a few large Fortran projects that I use for my day job (ESMF, WRF, HYCOM, UMWM). It seems to not support a variety of non-standard or legacy features that GNU and Intel support, and that XL Fortran used to support in 2010. Or it does, but I haven’t found a flag to enable it. Anyhow, it led to me submit patches to WRF and HYCOM to replace those features with standard-conforming code.
I can’t comment about performance, other than that it’s considerably faster than Advance Toolchain (IBM’s fork of GCC) for large-array number crunching on POWER9.