diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d6e40e20173b537dbbdb1e042ed09681e190b88..f96e8133b62061d52d29b283bad2d1e52bd8e442 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,9 +28,17 @@ before_script: - export GST_REGISTRY_1_0="${GSTLAL_DIR}/registry.bin" - export CCACHE_DIR=${PWD}/ccache + # Define MKL environment variables: + - export MKLROOT="/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl" + - export LIBRARY_PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/tbb/lib/intel64_lin/gcc4.7:/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/lib/intel64_lin" + - export CPATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/include" + - export PATH=PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/bin/intel64:${PATH}" + - export PKG_CONFIG_PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/bin/pkgconfig:${PKG_CONFIG_PATH}" + - export LD_LIBRARY_PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2018.3.222/linux/tbb/lib/intel64_lin/gcc4.7:/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/lib/intel64_lin" + # Define build and linking parameters: - - export CFLAGS="-O3 -fPIC -march=native -I${GSTLAL_DIR}/include" - - export LDFLAGS="-L${GSTLAL_DIR}/lib -L${GSTLAL_DIR}/lib64 ${LDFLAGS}" + - export CFLAGS="-O3 -fPIC -DMKL_ILP64 -m64 -I${MKLROOT}/include -I${GSTLAL_DIR}/include" + - export LDFLAGS="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl" - export GSTLAL_FIR_WHITEN=0 cache: @@ -46,7 +54,7 @@ stages: - nightly-pages level0:gstlal: - image: aepace/gstlal-dev:stretch + image: aepace/gstlal-dev:stretch-mkl stage: level0 script: - echo $GSTLAL_FIR_WHITEN @@ -65,7 +73,7 @@ level0:gstlal: - schedules level1:gstlal-ugly: - image: aepace/gstlal-dev:stretch + image: aepace/gstlal-dev:stretch-mkl stage: level1 dependencies: - level0:gstlal @@ -85,7 +93,7 @@ level1:gstlal-ugly: - schedules level2:gstlal-calibration: - image: aepace/gstlal-dev:stretch + image: aepace/gstlal-dev:stretch-mkl stage: level2 dependencies: - level1:gstlal-ugly @@ -105,7 +113,7 @@ level2:gstlal-calibration: - schedules level2:gstlal-inspiral: - image: aepace/gstlal-dev:stretch + image: aepace/gstlal-dev:stretch-mkl stage: level2 dependencies: - level1:gstlal-ugly @@ -123,9 +131,29 @@ level2:gstlal-inspiral: only: - pushes - schedules + +level2:gstlal-burst: + image: aepace/gstlal-dev:stretch-mkl + stage: level2 + dependencies: + - level1:gstlal-ugly + script: + - cd gstlal-burst + - ./00init.sh + - ./configure --prefix=${GSTLAL_DIR} + - make + - make install + artifacts: + expire_in: 3h + paths: + - ${GSTLAL_DIR} + - gstlal-burst + only: + - pushes + - schedules offline-test: - image: aepace/gstlal-dev:stretch + image: aepace/gstlal-dev:stretch-mkl stage: offline-test dependencies: - level2:gstlal-inspiral @@ -142,10 +170,17 @@ offline-test: allow_failure: true pages: - image: aepace/gstlal-dev:stretch + image: aepace/gstlal-dev:stretch-mkl stage: nightly-pages script: - echo "Building Documentation" + # Download and install sphynx, texlive, etc. I'm installing these here + # since they don't need to be part of the dev container for running, only + # for building documentation. This shaves ~600MB off the size of the gstlal-dev + # container: + - apt-get install --assume-yes python-sphinx texlive-base texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-extra texlive-fonts-extra-doc texlive-fonts-recommended + - apt-get install --assume-yes texlive-fonts-recommended-doc texlive-generic-extra texlive-generic-recommended texlive-latex-base texlive-latex-base-doc texlive-latex-extra + - apt-get install --assume-yes texlive-latex-extra-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-pictures texlive-pictures-doc texlive-pstricks texlive-pstricks-doc texlive-science texlive-science-doc - export TMPDIR=tmp/ - cd doc; make html - cd ..; cp -rf doc/_build/* public/