Getting started
This guide is a quick introduction to building and running iblep for the first time.
Dependencies
It is assumed that you have a working build of both Grid and Hadrons available on the target machine.
If you want to run the regression checks, you must have h5diff and sqlite3 installed,
alongside Python 3.6+ with numpy and h5py.
Build and install
iblep uses a CMake build system that automatically discovers build options from the provided Grid and Hadrons
paths. The "presets" are the recommended build method if your target machine is supported by them. Otherwise, three example build configurations are provided for CPU, NVIDIA GPU, and AMD GPU. Note that you may need to pass additional machine-specific configuration flags if you are not using a preset.
Preset Builds
cmake --preset=<preset> -DGrid_ROOT="/path/to/grid" -DHadrons_ROOT="/path/to/hadrons" -DCMAKE_INSTALL_PREFIX="/path/to/install/to"
cd build-<preset>
make -j <N>
make install -j <N>
Tip
You can always find an up-to-date list of available presets by running cmake --list-presets from the iblep root directory.
CPU Builds
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=<gcc/clang> -DCMAKE_CXX_COMPILER=<gcc/clang> -DGrid_ROOT="/path/to/grid" -DHadrons_ROOT="/path/to/hadrons" -DCMAKE_INSTALL_PREFIX=/path/to/install/to
make -j <N>
make install -j <N>
NVIDIA GPU Builds
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=nvcc -DCMAKE_CXX_COMPILER=nvcc -DGrid_ROOT="/path/to/grid" -DHadrons_ROOT="/path/to/hadrons" -DCMAKE_INSTALL_PREFIX=/path/to/install/to
make -j <N>
make install -j <N>
AMD Builds
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=hipcc -DCMAKE_CXX_COMPILER=hipcc -DGrid_ROOT="/path/to/grid" -DHadrons_ROOT="/path/to/hadrons" -DCMAKE_INSTALL_PREFIX=/path/to/install/tomake -j <N>
make install -j <N>
A first run: Connected Workflow
We will use the connected workflow as an example test run.
Navigate to a directory from which you want to perform the run.
The iblep executables are located in the bin directory of
the CMAKE_INSTALL_PREFIX you provided to the build, assuming
make install successfully completed.
The required runtime argument to each executable is a parameter file.
These are workflow-specific. You can find examples of these files in the
parameters directory of the iblep source repository. Here, we will use
the parameter file iblep/parameters/iblep-conn/test.json, which is a
test file for the iblep-conn-lep workflow.
If you have built iblep locally, you can run the programme immediately.
If you are running this on a computing cluster with a job queue, DO NOT run
this command directly, but use it as part of a job submission script.
two_point result files, and leptonic_decay
result files.
If the job ran successfully -- congratulations! This is the basic pattern for running
all iblep workflows. To run a real job on a production ensemble, you will need a
dedicated parameter file, and Grid-specific arguments passed to the executable beyond
the grid size to perform a properly optimised run. You can find further details on the
parameter files in the dedicated pages for the individual workflows.
Next steps
- Read the workflows summary. This provides an overview of all
programmes in the
iblepsoftware and further links to more detailed pages. - Read the
discworkflows linked from the workflows page. For a run that includes disconnected isospin-breaking effects, you will need to run these workflows before a connected workflow. - Read the
connworkflows linked from the workflows page. These workflows relate to computations of connected isospin-breaking effects, and use data generated from theiblep-discworkflows. - Read the
realworkflows linked from the workflows page. These workflows calculate real radiative corrections. They do not require an initialdiscrun, but can use the outputs of adiscrun in offline analysis for computing disconnected contributions to the real radiative decay.