Browsed by
Category: Compilers

Topics on use of the most common compilers in HPC

GCC compiler collection on Discoverer receives yet another update

GCC compiler collection on Discoverer receives yet another update

It seems that July has been a busy month for many GCC code developers. The project released a minor new version of GCC, 13.2, which addresses problems discovered in the previously released 13.1 version. More information on the included fixes and changes can be found here: https://gcc.gnu.org/gcc-13/changes.html The code of 13.2 was compiled and installed in the public software repository to provide our users with the most up-to-date version of GCC 13. The build recipe the compilation process is based…

Read More Read More

Discoverer is LLVM-ready

Discoverer is LLVM-ready

We’ve been examining the deployment of LLVM compiler infrastructure in high-performance computing for more than a year. LLVM compilers provide novel and significantly more optimal and reliable schemas for the generation of binary code. More and more source code distributions come with LLVM-compatible CMake configurations. GROMACS is one of them. The Python universe of applications also actively adopts LLVM for HPC. Numba is one of those applications. It serves as a foundation for the development of bindings for the creation of…

Read More Read More

Discoverer receives a massive GCC compiler collection update

Discoverer receives a massive GCC compiler collection update

In an effort to support more effective code compilation and code optimisation, we have updated the GCC compiler collection installation available in the public software repository. This update brings to the repository GCC versions 13.1.0, 12.3.0, and 11.4.0. Each new version includes GMP, MPC, MPFR, and iSL libraries. Zstandard 1.5.5 is linked as an external compressor. For optimal workload, we optimised those libraries by adding support for AVX2 SIMD extensions. Currently, AVX2 is the highest SIMD extension supported by the…

Read More Read More

Intel retire their C/C++ classic compiler in mid 2023

Intel retire their C/C++ classic compiler in mid 2023

Intel® C++ Compiler Classic (icc) is deprecated and will be removed in a oneAPI release in the second half of 2023. Intel recommends that customers transition now to using the LLVM-based Intel® oneAPI DPC++/C++ Compiler (icx) for continued Windows* and Linux* support, new language support, new language features, and optimizations. https://community.intel.com/t5/Intel-oneAPI-IoT-Toolkit/DEPRECATION-NOTICE-Intel-C-Compiler-Classic/m-p/1412267 What that means for the users of Discoverer HPC who need to compile their C and C++ code by using Intel® C/C++/Fortran compiler? The classic compilers icc, icpc, ifort…

Read More Read More

Create high productive CP2K 2022.1 build that works on AMD Zen2 microarchitecture

Create high productive CP2K 2022.1 build that works on AMD Zen2 microarchitecture

CP2K is a quantum chemistry and solid state physics software package that can perform atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems. While it can be successfully compiled by using Intel oneAPI, Intel oneAPI MKL, and Intel MPI, the produced executables cannot run simulations of large systems on AMD Zen2 CPU. For instance, the SCF minimization fails by sending “Segmentation fault” message to the standard error. The debugging results point to a problem with handling…

Read More Read More

Compiling OpenBLAS 0.3.21 with OpenMP support using Intel oneAPI

Compiling OpenBLAS 0.3.21 with OpenMP support using Intel oneAPI

OpenBLAS is a CPU-level optimized replacement to BLAS/LAPACK. In most cases it can substitute BLAS and/or LAPACK in attempt to achieve higher productivity, which is the main goal of most HPC applications. The last release of OpenBLAS (that is 0.3.21) has some critical problem with configuring the compilation whenever USE_OPENMP=1 is passed to make, in case Intel oneAPI compilers are employed. The problem is in the Makefile. At some point there the ifort compiler becomes invoked without passing the necessary…

Read More Read More

LLVM 15.0.0 is out (and installed on Discoverer HPC)

LLVM 15.0.0 is out (and installed on Discoverer HPC)

The new 15.0.0 version of LLVM compiler infrastructure is out. The source code as well as a set of precompiled binaries are available for download at Github: https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.0 Discoverer HPC users now have access to the LLVM 15.0.0 installation available in the software repository. By loading the environment module llvm/15/15.0.0-gcc: module load llvm/15/15.0.0-gcc the users obtain access to the LLVM compiler infrastructure. The suffix “gcc” in the module name specifies the compiler set employed for compiling the source code of…

Read More Read More

Which FFTW3 build to use on Discoverer

Which FFTW3 build to use on Discoverer

FFTW3 is an important library package that provides large number of HPC applications with a collection of external subroutines for computing the discrete Fourier transform (DFT) in one or more dimensions. In HPC environment it is a common case to have several different builds of FFTW3 available to support the variety of installed MPI libraries, threads libraries, and common models for application code building, linking, and executing. But in spite how many such builds are presented locally, the most compatible…

Read More Read More

LLVM 14

LLVM 14

LLVM project released version 14.0.6 of their source code. Immediately after that the LLVM compiler infrastructure was compiled and installed in the Discoverer HPC software repository (made available to all HPC users). It is worth mentioning here the way the source code was compiled, since the details of that process reflect the good practice in compiling for AMD Zen2 CPU. The compile recipe is publicly available at: https://gitlab.discoverer.bg/vkolev/recipes/-/tree/main/llvm/ In the recipe, it is better to employ GCC 11 compilers than…

Read More Read More

WordPress Appliance - Powered by TurnKey Linux