Skip to content
Snippets Groups Projects
.gitlab-ci.yml 63.4 KiB
Newer Older
conda-py36-linux:
Sebastian Eibl's avatar
Sebastian Eibl committed
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
      - conda build --python=3.6 --user=lssfau utilities/conda/walberla


###############################################################################
##                                                                           ##
##    Benchmarks                                                             ##
##                                                                           ##
###############################################################################

.benchmark_template: &benchmark_definition
Sebastian Eibl's avatar
Sebastian Eibl committed
   script:
      - apt-get update --fix-missing
      - apt-get install -y python3-influxdb python3-git
      - $CXX --version
      - cmake --version
      - ccache --version
      - mpirun --version
      - export CCACHE_BASEDIR=$CI_PROJECT_DIR
      - mkdir $CI_PROJECT_DIR/build
      - cd $CI_PROJECT_DIR/build
      - cmake .. -DWALBERLA_BUFFER_DEBUG=OFF -DWALBERLA_BUILD_TESTS=OFF -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=OFF -DWALBERLA_BUILD_TOOLS=OFF -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_CUDA=OFF -DWALBERLA_BUILD_WITH_PYTHON=OFF -DWALBERLA_BUILD_WITH_OPENMP=OFF -DCMAKE_BUILD_TYPE=RELEASE -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS -DWALBERLA_DOUBLE_ACCURACY=ON -DWARNING_ERROR=ON -DWALBERLA_BUILD_WITH_METIS=OFF -DWALBERLA_BUILD_WITH_PARMETIS=OFF -DWALBERLA_OPTIMIZE_FOR_LOCALHOST=ON -DWALBERLA_BUILD_WITH_FASTMATH=ON -DWALBERLA_BUILD_WITH_LTO=ON
      - cd apps/benchmarks/GranularGas
Sebastian Eibl's avatar
Sebastian Eibl committed
      - make -j 20
      - export PATH=$PATH:/usr/local/likwid/bin
      - likwid-setFrequencies -t 0
      - likwid-setFrequencies -g performance
      - likwid-setFrequencies -f 3.3 # set frequency to 3.3
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --DEM --syncNextNeighbor | tee GranularGas_DEM_NN.txt
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --DEM --syncShadowOwners | tee GranularGas_DEM_SO.txt
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --HCSITS --syncNextNeighbor --InelasticFrictionlessContact | tee GranularGas_HCSITS_NN_IFC.txt
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --HCSITS --syncNextNeighbor --ApproximateInelasticCoulombContactByDecoupling | tee GranularGas_HCSITS_NN_AICCBD.txt
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --HCSITS --syncNextNeighbor --InelasticCoulombContactByDecoupling | tee GranularGas_HCSITS_NN_ICCBD.txt
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --HCSITS --syncNextNeighbor --InelasticGeneralizedMaximumDissipationContact | tee GranularGas_HCSITS_NN_IGMDC.txt
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./PE_GranularGas PE_Benchmark.cfg --HCSITS --syncShadowOwners --InelasticFrictionlessContact | tee GranularGas_HCSITS_SO_IFC.txt
      - python3 pe_upload.py
      - mpirun --allow-run-as-root -np 8 --map-by core --bind-to core --report-bindings ./MESA_PD_KernelBenchmark MESA_PD_Benchmark.cfg | tee mesa_pd.txt
      - python3 mesa_pd_upload.py
Sebastian Eibl's avatar
Sebastian Eibl committed
   tags:
      - docker-benchmark
   artifacts:
      paths:
         - $CI_PROJECT_DIR/build/apps/benchmarks/GranularGas/*.txt
         - $CI_PROJECT_DIR/build/apps/benchmarks/GranularGas/*.sqlite
Sebastian Eibl's avatar
Sebastian Eibl committed
   <<: *benchmark_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:19
Sebastian Eibl's avatar
Sebastian Eibl committed
   <<: *benchmark_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:8
Sebastian Eibl's avatar
Sebastian Eibl committed
   <<: *benchmark_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:8.0

benchmark_ClangBuildAnalyzer:
  script:
    - apt-get update --fix-missing
    - apt-get -y install apt-transport-https ca-certificates gnupg software-properties-common wget
    - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
    - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    - apt-get -y install cmake ninja-build
    - cmake --version
    - ccache --version
    - mpirun --version
    - export CC=clang
    - export CXX=clang++
    - $CXX --version
    - cd /tmp
    - git clone https://github.com/aras-p/ClangBuildAnalyzer.git
    - cd ClangBuildAnalyzer
    - cmake .
    - make
    - export PATH+=:$(pwd)
    - mkdir $CI_PROJECT_DIR/build
    - cd $CI_PROJECT_DIR/build
    - cmake .. -DWALBERLA_BUFFER_DEBUG=OFF -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=OFF -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_CUDA=OFF -DWALBERLA_BUILD_WITH_PYTHON=OFF -DWALBERLA_BUILD_WITH_OPENMP=OFF -DCMAKE_BUILD_TYPE=RELEASE -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS -DWALBERLA_DOUBLE_ACCURACY=ON -DWARNING_ERROR=ON -DWALBERLA_BUILD_WITH_METIS=OFF -DWALBERLA_BUILD_WITH_PARMETIS=OFF -DWALBERLA_OPTIMIZE_FOR_LOCALHOST=ON -DWALBERLA_BUILD_WITH_FASTMATH=ON -DWALBERLA_BUILD_WITH_LTO=ON -DCMAKE_CXX_FLAGS=-ftime-trace -G Ninja
    - ClangBuildAnalyzer --start .
    - ninja all
    - ClangBuildAnalyzer --stop . CBA
    - ClangBuildAnalyzer --analyze CBA
  image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:9.0
  tags:
Sebastian Eibl's avatar
Sebastian Eibl committed
        - $ENABLE_NIGHTLY_BUILDS