Browsed by
Tag: CMake

Building LLVM 23.1.1 from llvm.org on Discoverer CPU cluster

Building LLVM 23.1.1 from llvm.org on Discoverer CPU cluster

Overview This document describes the build procedure for the LLVM 23.1.1 source distribution on an AMD EPYC 7H12 (Zen 2, x86_64) based CPU-only compute cluster (Discoverer CPU cluster). The build is performed from source using a shell-based recipe that loads Environment Modules, configures LLVM with CMake and Ninja, and installs the resulting tool chain into a versioned prefix. The recipe and build log are published at: https://gitlab.discoverer.bg/vkolev/recipes/-/blob/main/llvm/23/llvmorg-23.1.1.recipe https://gitlab.discoverer.bg/vkolev/recipes/-/blob/main/llvm/23/llvmorg-23.1.1.log Build environment and approach The build runs on AMD EPYC 7H12 compute…

Read More Read More

Global Arrays 5.9.2: analysis of three test suite failures on Discoverer CPU cluster

Global Arrays 5.9.2: analysis of three test suite failures on Discoverer CPU cluster

Global Arrays underpins a number of computational chemistry codes, NWChem among them, which makes the correctness of its distributed operations a practical concern rather than an academic one. We recently built GA 5.9.2 on an AMD EPYC compute node with GCC, Open MPI 5.0.10 and OpenBLAS, added the test suite to our build recipe for the first time, and watched three of the seventy-nine tests fail. This post walks through how we established that the failures were upstream defects rather…

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

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

WordPress Appliance - Powered by TurnKey Linux