User Tools

Site Tools


bb:builder

Buildbot builder matrix

The reference builder

The current reference slave is “abiref”, with reference builder “abiref_gnu_9.2_openmpi”.
In order to understand the rationale behind the set of the different builders let's first detail the reference builder “abiref_gnu_9.2_openmpi”.

It is characterized by the following elements :

  • the compiler is gcc 9.2
    with “-O2 -g -Wall -Wno-maybe-uninitialized -ffpe-trap=invalid,zero,overflow -fbacktrace -pedantic -fcheck=all” flags
  • the MPI is Open MPI version 4.0.4
  • the compilation is done with “make -j 8”, with the external libraries : NetCDF(-F), HDF5, LibXC, OpenBLAS, Wannier90, PSML and the GWDP flag, build with MPI and with MPI_IO .
  • the tests are executed with “./runtests.py” (and the list of tests is coherent with the fallbacks and flags)
  • GW is compiled with double precision

This reference builder is not doing everything :

  • The buildsys, abirules, robodoc-parent-abiauty, seq, tparal, gpu tests are not executed by “abiref_gnu_9.2_openmpi”
  • OpenMP, and memory profiling is not activated for “abiref_gnu_9.2_openmpi”
  • Several procedures are not tested by “abiref_gnu_9.2_openmpi”, like distchck.
  • GW is not tested in single precision

The other builders

Each one of the other builders departs from the reference, in order to test the portability of the build system and automatic tests. The characteristics of this departure are indicated in the last column of the table.

Thus some reference files cannot be generated on abiref. For this purpose, auxiliary reference builders are provided :

  • abiref_gnu_9.2_serial (for the seq tests)
  • buda2_gnu_8.3_cuda (for the gpu tests)
  • cronos2_gnu_7.4_paral (for the tparal tests, that need more than 10 procs)

Also, some bots provide unique services :

  • bob_gnu_7.5_openmp and ubu_intel_16.0_openmp (OpenMP)
  • abiref_gnu_9.2_debug (for buildsys, abirules, parent, robodoc, distchk [checking the production of the .tar.gz package], html link checker, and robodoc-html tar.gz package)…

Matrix of builders

slave #nightly builds builder nightly? compilo MPI linalg Libs Tested departure from ref
abiref 3 abiref_gnu_9.2_openmpi reference gcc-9.2 openmpi-4.0.3 OpenBLAS_0.3.7
fftw3
all-B fcheck=all
abiref_gnu_9.2_serial reference gcc-9.2 OpenBLAS
fftw3
all-B ref for serial
-fno-frontend-optimize
abiref_gnu_9.2_debug yes gcc-9.2 many services
alps 1 alps_nag_7.0_openmpi yes nag-7.0 openmpi-4.0.4 netlib_3.9.0 XN enable-netcdf-default
atlas 2 atlas_intel_18.0_openmpi yes intel-18 openmpi 3.0 mkl 2018 all-B
atlas_intel_19.1_bdir yes intel-19.1 mpich 3.3.2 mkl 2020 all-B build/ dir
bob 1 bob_gnu_7.5_openmp yes gcc-7.5 atlas-3.10 XN Fedora packages, GW SP
buda2 3 buda2_gnu_8.3_cuda yes gcc-8.3 openmpi-3.1 mkl 11.1
cuda 10
enable_gpu=yes
buda2_gnu_8.2_mpich3 yes gcc-8.2 mpich3-3.2.1 mkl 2017 all-B -finit=nan
buda2_intel_17.0_openmpi yes intel-17.0 openmpi-4.0.4 mkl 2017 all-B enable-netcdf-default
cronos2 1 cronos_gnu_7.4_paral ref for tparal gcc-7.4 openmpi 3.1.3 mkl 2018 all-B GW SP, mpirun -np 2 if max_nprocs allows it (dynamically)
cronos gcc-7.4 openmpi 3.1.3 mkl 2018 2nd node MPI with network
graphene 1 graphene_gnu_9.3_macports yes gcc-9.3 opempi-4.0.1 OpenBLAS
fftw3
AXWFN MacPorts, GW SP
higgs 1 higgs_intel_19.0_serial yes intel-19.0 mkl 2019 all-B
higgs_gnu_7.5_triqs2 no gcc-7.5 mpich3-3.2 netlib
fftw3
XN triqs 2.0.x
higgs_gnu_7.5_cov odonly gcc-7.5 mpich3-3.2 mkl 2019 all coverage analysis
higgs_gnu_7.5_hpc no gcc-7.5 hpc tests
max2 1 max2_gnu_6.5_mpich yes gcc-6.5 mpich3-3.2 acml 6 all-B memory leak
scope 2 scope_gnu_10.2_mpich yes gnu-10.2 mpich3-3.2 OpenBLAS all-B
scope_gnu_7.5_dep yes gnu-7.5 mpich3-3.2 OpenBLAS all-B check dependency
ubu 4 ubu_gnu_9.2_openmpi yes gcc-9.3.0 openmpi-4.0.2 mkl 11.2 all-B check=all
-fno-frontend-optimize
ubu_intel_15.0_mpich yes intel-15.0 mpich3-3.2 mkl 11.2 all
ubu_intel_16.0_mpich yes intel-16.0 mpich3-3.2 mkl 11.3 all-B
ubu_intel_16.0_openmp yes intel-16.0 mkl 11.3 XN openmp / dfti

*Caption for external fallbacks : A= Atompaw, B= BigDFT (-B without), F= fftw3, L= linalg, N= NetCDF, P= PSML+XMLF90, X= libXC, W= Wannier90
**Mandatory fallbacks : netCDF/netCDF-F with HDF5 support and libXC

bb/builder.txt · Last modified: 2020/08/28 19:46 by Jean-Michel Beuken