Skip to content

Configuration

Buildbot utility

usage: configure.py [-h] [--compiler COMPILER] [--cxxbin CXXBIN] [--cxxpath CXXPATH] [--gen GEN] [--build BUILD] [--lib] [--tests]
                    [--builddir BUILDDIR] [--profile PROFILE] [--cxxflags CXXFLAGS] [--cmakeargs CMAKEARGS]

Configure utility for Shamrock

options:
  -h, --help            show this help message and exit
  --compiler COMPILER   select the id of the compiler config
  --cxxbin CXXBIN       override the executable chosen by --compiler
  --cxxpath CXXPATH     select the compiler root path
  --gen GEN             generator to use (make, ninja, ...)
  --build BUILD         change the build type for shamrock
  --lib                 build the lib instead of an executable (for python lib)
  --tests               build also the tests
  --builddir BUILDDIR   build directory chosen
  --profile PROFILE     select the compilation profile
  --cxxflags CXXFLAGS   additional c++ compilation flags
  --cmakeargs CMAKEARGS
                        additional cmake configuration flags

Essentially for each compiler we define several profiles, which holds corresponding compilation flags. One exemple could be :

python buildbot/configure.py
    --gen ninja                     #to compile with ninja instead of make
    --build debug                   #to compile the code in debug mode
    --tests                         #compile also the test
    --builddir build_hipsycl_debug    #directory where the build files will be held
    --cxxpath ../sycl_cpl/hipSYCL   #path to the cxx compiler
    --compiler hipsycl              #id of the compiler (hipsycl or dpcpp)
    --profile omp                   #selected profile

After this command ran, you can cd into the build directory and type ninja or make -J depending on the build system selected.

Installing the code as a python module

By running this command you can pip install the code into you local python installation, and open shamrock in your prefered environment.

BUILDBOT_ARGS="--cxxpath <PATH TO COMPILER> --compiler <COMPILER id> --profile <PROFILE>" pip install -e .