Skip to content

About

High-Performance configuration patterns and recipes.

Topics

Resources

Code of conduct

Contributing

Stars

45 stars

Watchers

11 watching

Forks

Repository files navigation

XCONFIGURE

XCONFIGURE is a collection of configure wrapper scripts for various HPC applications. The purpose of the scripts is to configure the application in question with optimized flags for the system running the script, primarily using the GNU Compiler Collection (configure-<name>.sh) and alternatively the Intel Compiler (configure-<name>-icx.sh). XCONFIGURE helps to rely on a "build recipe", which is known to expose the highest performance or to reliably complete the build process.

Contributions are very welcome!

Each application (or library) is hosted in a separate directory. To configure (and ultimately build) an application, one can rely on a single script which then downloads a specific wrapper into the current working directory (of the desired application).

wget --no-check-certificate https://github.com/hfp/xconfigure/raw/main/configure-get.sh
chmod +x configure-get.sh

echo "EXAMPLE: recipe for LIBXC"
./configure-get.sh libxc

The scripts generate code for the system running the script (-march=native, -mcpu=native on Arm, or -xHost). Libraries are installed next to the source code using <name>/<arch>/<tagname> (e.g., libint/sapphirerapids/gnu), and CMake-based builds use build-<arch>-<tagname> inside of the source folder. The <arch> is determined by the compiler (e.g., sapphirerapids or neoverse-v2), which allows to share one folder structure (NFS) among different systems, and XCFG_ARCH overrides the name.

On systems without access to the Internet, one can download (or clone) the entire collection upfront. To configure an application, please open the config folder directly or use the documentation and then follow the build recipe of the desired application or library.

Documentation

Related Projects

Please note that XCONFIGURE has a narrower scope when compared to the above package managers.

About

High-Performance configuration patterns and recipes.

Topics

Resources

Code of conduct

Contributing

Stars

45 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages