By default, JULEA is built as a debug version that can be used for development and debugging purposes. To build and install a release version, some additional arguments and variables are necessary.
First of all, you will have to make sure that JULEA's dependencies have been installed.
Afterwards, JULEA's environment has to be loaded with the environment variable JULEA_PREFIX:
export JULEA_PREFIX="${HOME}/julea-install" &&
. scripts/environment.shYou can then build and install JULEA in release mode:
meson setup --prefix="${HOME}/julea-install" --buildtype=release bld-release &&
ninja -C bld-release &&
ninja -C bld-release installFinally, you have to create a configuration if you do not have one already.
JULEA provides a script that executes benchmarks to measure the performance of JULEA's different components.
./scripts/setup.sh start &&
./scripts/benchmark.sh &&
./scripts/setup.sh stopBy default, the individual benchmarks will run for approximately one second.
This can be changed using the -d or --duration option.
Additional options can be shown using -h or --help.
./scripts/benchmark.sh -d 60JULEA and its dependencies can also be built using specific compilers instead of the default ones.
The install-dependencies.sh script supports a JULEA_SPACK_COMPILER variable that can be used to set the compiler:
export JULEA_SPACK_COMPILER=llvm &&
./scripts/install-dependencies.shThe compiler to use for JULEA can be configured using Meson by setting the CC variable:
export CC=clang &&
meson setup --prefix="${HOME}/julea-install" bldIt is important to note that the JULEA_SPACK_COMPILER variable refers to the compiler name used within Spack, while the CC variable refers to the compiler binary that should be used.
Alternatively, you can install JULEA using Spack, which will install JULEA and all of its dependencies:
git clone https://github.com/spack/spack.git &&
. spack/share/spack/setup-env.sh &&
spack install julea &&
spack load juleaThe second and fourth steps will have to be repeated every time you want to use JULEA.
Since spack load will take care of setting up the environment, you do not need to use JULEA's environment script in this case.