@@ -47,6 +47,7 @@ variables:
47
47
- nproc
48
48
- lscpu
49
49
- ccache --zero-stats
50
+ - if [ ! -z ${LOAD_MODULES+x} ]; then module load ${LOAD_MODULES}; module list; fi
50
51
- printf "PYTHON:${PYTHON}\n"
51
52
script :
52
53
- printf "PETSC_CONFIG_OPTS:${PETSC_CONFIG_OPTS}\n"
@@ -122,8 +123,9 @@ variables:
122
123
gnu-c-single-nofort :
123
124
extends : .stage-1
124
125
tags :
125
- - linux-ubuntu, name:hapy
126
+ - name:hapy
126
127
variables :
128
+ LOAD_MODULES : mpi
127
129
PETSC_CONFIG_OPTS : --with-fc=0 --with-precision=single
128
130
TEST_SEARCH : eps_tests-test10_1
129
131
@@ -212,15 +214,15 @@ gnu-lint:
212
214
- bash -c "${PYTHON} ./configure ${SLEPC_CONFIG_OPTS}"
213
215
- make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}"
214
216
- if [ ! -z ${INSTALL+x} ]; then make install; SLEPC_DIR=$INSTALL_DIR; fi
215
- - make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}" check
217
+ - if [ -z ${DISABLE_TESTS+x} ]; then make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}" check; fi
216
218
- if [ ! -z ${PKG_CONFIG+x} ]; then make check_usermakefile PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PETSC_DIR/$PETSC_ARCH/lib/pkgconfig; fi
217
- - if [ ! -z ${BUILD_DOCS+x} ]; then make alldoc LOC=$SLEPC_DIR; tar czf ${CI_JOB_NAME}-docs.tar.gz --exclude "*.out" --exclude "makefile*" --exclude "ftn-*" --exclude slepc4py docs include src; fi
219
+ - if [ ! -z ${BUILD_DOCS+x} ]; then make alldoc LOC=$SLEPC_DIR; tar czf ${CI_JOB_NAME}-docs.tar.gz --exclude "*.out" --exclude "makefile*" --exclude "ftn-auto *" --exclude slepc4py docs include src; fi
218
220
- if [ ! -z ${BUILD_DOCS+x} ] && [ ! -z ${SLEPC4PY+x} ]; then make -C src/binding/slepc4py rst2html sphinx-html sphinx-pdf PYTHON=${PYTHON}; tar czf ${CI_JOB_NAME}-docs-py.tar.gz -C src/binding/slepc4py docs; fi
219
221
- echo -e "section_end:`date +%s`:build_slepc\r\e[0K"
220
222
- echo -e "section_start:`date +%s`:tests_slepc\r\e[0KSLEPc test suite"
221
223
- if [ ! -z ${SLEPC4PY+x} ]; then make slepc4pytest; make -C src/binding/slepc4py/demo PYTHON=${PYTHON}; fi
222
224
- if [ -z ${DISABLE_TESTS+x} ]; then make cleantest; make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}" allgtests-tap TIMEOUT=${TIMEOUT} ${TEST_OPTS}; fi
223
- - if [ ! -z ${COVERAGE+x} ]; then lcov --capture --exclude "/usr/*" --directory $SLEPC_DIR --output-file coverage.info; genhtml coverage.info --legend --title SLEPc --output-directory coverage; tar czf ${CI_JOB_NAME}-cov.tar.gz coverage; fi
225
+ - if [ ! -z ${COVERAGE+x} -a -z ${DISABLE_TESTS+x} ]; then lcov --capture --exclude "/usr/*" --directory $SLEPC_DIR --output-file coverage.info; genhtml coverage.info --legend --title SLEPc --output-directory coverage; tar czf ${CI_JOB_NAME}-cov.tar.gz coverage; fi
224
226
- echo -e "section_end:`date +%s`:tests_slepc\r\e[0K"
225
227
artifacts :
226
228
reports :
@@ -364,8 +366,9 @@ gnu-c-cuda:
364
366
- .stage-2
365
367
- .linux_test
366
368
tags :
367
- - linux-ubuntu, gpu:nvidia, name:hapy
369
+ - gpu:nvidia, name:hapy
368
370
variables :
371
+ LOAD_MODULES : mpi
369
372
PETSC_CONFIG_OPTS : --with-fortran-bindings=0 --with-cuda --download-mumps --download-scalapack --download-metis --download-parmetis --download-suitesparse --with-magma-dir=/usr/local/opt/magma-2.7.1
370
373
371
374
clang-c :
@@ -385,8 +388,8 @@ gnu-c-complex-multilib:
385
388
tags :
386
389
- linux-ubuntu, name:maat
387
390
variables :
388
- PETSC_CONFIG_OPTS : --with-scalar-type=complex --with-single-library=0 --download-elemental --download-metis --download-parmetis --download-scalapack
389
- SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --download-elpa
391
+ PETSC_CONFIG_OPTS : --with-scalar-type=complex --with-single-library=0 --download-metis --download-parmetis --download-scalapack --with-cxx-dialect=17
392
+ SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --download-elpa --with-fortran-bindings-inplace
390
393
391
394
intel-c-complex-mkl :
392
395
extends :
@@ -407,7 +410,7 @@ gnu-c-libs:
407
410
- linux-suse, name:igai
408
411
variables :
409
412
PETSC_CONFIG_OPTS : --with-single-library=0 --download-scalapack
410
- SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --download-arpack --download-evsl --download-primme --download-blopex --download-trlan --with-packages-download-dir=/var/local/downloads
413
+ SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --download-arpack --download-evsl --download-primme --download-blopex --download-trlan --download-slicot -- with-packages-download-dir=/var/local/downloads
411
414
412
415
gnu-cxx-int64 :
413
416
extends :
@@ -443,7 +446,7 @@ pip-install:
443
446
if [ $(awk '/define SLEPC_VERSION_RELEASE/{print $3}' include/slepcversion.h) == 1 ]; then
444
447
pip install --user .;
445
448
pip install --user src/binding/slepc4py;
446
- make -C src/binding/slepc4py/demo run_ex1; # run only one test until pip-petsc4py is patched
449
+ make -C src/binding/slepc4py/demo;
447
450
else
448
451
slepc=$PWD;
449
452
cd ..;
@@ -458,7 +461,7 @@ pip-install:
458
461
python -m venv /tmp/env;
459
462
source /tmp/env/bin/activate;
460
463
set -x;
461
- pip install -U pip;
464
+ python -m pip install -U pip==23.0.1 # pin version due to issue with pip 23.1
462
465
pip install numpy;
463
466
pip install $petsc;
464
467
pip install $petsc/src/binding/petsc4py;
@@ -469,6 +472,72 @@ pip-install:
469
472
after_script :
470
473
- date
471
474
475
+ #
476
+ # Special job in stage-3 to check DESTDIR install (only in scheduled pipelines).
477
+ #
478
+
479
+ destdir-install :
480
+ extends :
481
+ - .stage-3-sched
482
+ - .linux_test
483
+ tags :
484
+ - name:hapy
485
+ before_script :
486
+ - date
487
+ - hostname
488
+ - grep PRETTY_NAME /etc/os-release
489
+ - nproc
490
+ - lscpu
491
+ script :
492
+ - printf "PETSC_CONFIG_OPTS:${PETSC_CONFIG_OPTS}\n"
493
+ - export SLEPC_DIR=$PWD
494
+ - echo -e "section_start:`date +%s`:build_petsc\r\e[0KPETSc configure and make"
495
+ - cd ..
496
+ - export DESTDIR=${PWD}/destdir
497
+ - export PREFIX=${PWD}/prefix
498
+ - rm -rf ${DESTDIR} ${PREFIX}
499
+ - if [ ! -d petsc ]; then git clone https://gitlab.com/petsc/petsc.git; fi
500
+ - cd petsc
501
+ - git clean ${GIT_CLEAN_FLAGS}
502
+ - git fetch
503
+ - |
504
+ if [ -z ${PETSC_BRANCH+x} ]; then
505
+ if [ $(awk '/define SLEPC_VERSION_RELEASE/{print $3}' $SLEPC_DIR/include/slepcversion.h) == 1 ];
506
+ then git checkout origin/release;
507
+ else git checkout origin/main;
508
+ fi
509
+ else
510
+ echo "Using PETSC_BRANCH=" $PETSC_BRANCH
511
+ git checkout origin/$PETSC_BRANCH
512
+ fi
513
+ - export PETSC_DIR=$PWD
514
+ - export PETSC_ARCH=arch-$CI_JOB_NAME
515
+ - bash -c "${PYTHON} ./configure --with-debugging=0 --with-mpi=0 --prefix=${PREFIX} COPTFLAGS=-O CXXOPTFLAGS=-O FOPTFLAGS=-O CUDAOPTFLAGS=-O1 ${PETSC_CONFIG_OPTS}"
516
+ - make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}"
517
+ - make install-lib DESTDIR=${DESTDIR}; cp -r ${DESTDIR}${PREFIX} ..; PETSC_DIR=${PREFIX}; unset PETSC_ARCH
518
+ - echo -e "section_end:`date +%s`:build_petsc\r\e[0K"
519
+ - echo -e "section_start:`date +%s`:build_slepc\r\e[0KSLEPc configure and make"
520
+ - cd $SLEPC_DIR
521
+ - ${PYTHON} ./configure --prefix=${PREFIX}
522
+ - make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}"
523
+ - make install-lib DESTDIR=${DESTDIR}; cp -r ${DESTDIR}${PREFIX} ..; SLEPC_DIR=${PREFIX}
524
+ - make CFLAGS="${MAKE_CFLAGS}" CXXFLAGS="${MAKE_CXXFLAGS}" FFLAGS="${MAKE_FFLAGS}" CUDAFLAGS="${MAKE_CUDAFLAGS}" check
525
+ - echo -e "section_end:`date +%s`:build_slepc\r\e[0K"
526
+ variables :
527
+ PYTHON : python3
528
+ MAKE_CFLAGS : -Werror
529
+ MAKE_CXXFLAGS : -Werror -Wzero-as-null-pointer-constant
530
+ MAKE_FFLAGS : -Werror
531
+ after_script :
532
+ - date
533
+ artifacts :
534
+ name : " $CI_JOB_NAME"
535
+ when : always
536
+ paths :
537
+ - arch-*/lib/slepc/conf/*.log
538
+ - arch-*/lib/slepc/conf/slepc*
539
+ expire_in : 4 days
540
+
472
541
#
473
542
# The following tests run as part of stage-3.
474
543
#
@@ -478,8 +547,9 @@ gnu-c-cuda-complex:
478
547
- .stage-3
479
548
- .linux_test
480
549
tags :
481
- - linux-ubuntu, gpu:nvidia, name:hapy
550
+ - gpu:nvidia, name:hapy
482
551
variables :
552
+ LOAD_MODULES : mpi
483
553
PETSC_CONFIG_OPTS : --with-scalar-type=complex --with-cuda --with-magma-dir=/usr/local/opt/magma-2.7.1
484
554
TEST_OPTS : -j1 -l6 query=requires queryval=cuda
485
555
@@ -488,8 +558,9 @@ gnu-c-cuda-single:
488
558
- .stage-3
489
559
- .linux_test
490
560
tags :
491
- - linux-ubuntu, gpu:nvidia, name:hapy
561
+ - gpu:nvidia, name:hapy
492
562
variables :
563
+ LOAD_MODULES : mpi
493
564
PETSC_CONFIG_OPTS : --with-precision=single --with-single-library=0 --with-cuda
494
565
TEST_OPTS : -j1 -l6 query=requires queryval=cuda
495
566
@@ -626,10 +697,11 @@ gnu-c-complex-coverage:
626
697
- .stage-3
627
698
- .linux_test
628
699
tags :
629
- - linux-ubuntu, name:hapy
700
+ - name:hapy
630
701
variables :
702
+ LOAD_MODULES : mpi
631
703
PETSC_CONFIG_OPTS : --with-fortran-bindings=0 --with-scalar-type=complex --with-debugging=1 --with-coverage=1
632
- SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --with-arpack-dir=/usr/local/opt/arpack-ng-3.8 .0 --with-primme-dir=/usr/local/opt/primme-3.2 --download-blopex --download-hpddm
704
+ SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --with-arpack-dir=/usr/local/opt/arpack-ng-3.9 .0 --with-primme-dir=/usr/local/opt/primme-3.2 --download-blopex --download-hpddm
633
705
COVERAGE : 1
634
706
635
707
intel-c-complex-int64-mkl :
@@ -648,7 +720,7 @@ nvidia-c-nompi:
648
720
- .stage-3
649
721
- .linux_test_noflags
650
722
tags :
651
- - linux-ubuntu, compiler:nvidia, name:hapy
723
+ - compiler:nvidia, name:hapy
652
724
variables :
653
725
LOAD_MODULES : nvhpc-nompi
654
726
PETSC_CONFIG_OPTS : --with-cc=nvc --with-fc=nvfortran --with-cxx=nvc++ --with-mpi=0 --with-cuda --with-magma-dir=/usr/local/opt/magma-2.7.1
@@ -681,10 +753,10 @@ nvidia-c-complex-nompi:
681
753
- .stage-3
682
754
- .linux_test_noflags
683
755
tags :
684
- - linux-ubuntu, compiler:nvidia, name:hapy
756
+ - compiler:nvidia, name:hapy
685
757
variables :
686
758
LOAD_MODULES : nvhpc-nompi
687
- PETSC_CONFIG_OPTS : --with-cc=nvc --with-fc=nvfortran --with-cxx=nvc++ --with-scalar-type=complex --with-mpi=0 --with-cuda --with-magma-dir=/usr/local/opt/magma-2.7.1
759
+ PETSC_CONFIG_OPTS : --with-cc=nvc --with-fc=nvfortran --with-cxx=nvc++ --with-scalar-type=complex --with-mpi=0 --with-cuda --with-magma-dir=/usr/local/opt/magma-2.7.1-nvidia
688
760
SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --download-blopex --download-primme --download-arpack
689
761
TEST_OPTS : -j4 -l12
690
762
@@ -693,10 +765,10 @@ nvidia-cxx-mpi:
693
765
- .stage-3
694
766
- .linux_test_noflags
695
767
tags :
696
- - linux-ubuntu, compiler:nvidia, name:hapy
768
+ - compiler:nvidia, name:hapy
697
769
variables :
698
770
LOAD_MODULES : nvhpc
699
- PETSC_CONFIG_OPTS : --with-cc=mpicc --with-fc=mpifort --with-cxx=mpicxx --with-clanguage=c++ --with-cuda --with-magma-dir=/usr/local/opt/magma-2.7.1
771
+ PETSC_CONFIG_OPTS : --with-cc=mpicc --with-fc=mpifort --with-cxx=mpicxx --with-clanguage=c++ --with-cuda --with-magma-dir=/usr/local/opt/magma-2.7.1-nvidia
700
772
SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --download-blopex --download-primme --download-arpack
701
773
TEST_OPTS : -j4 -l12
702
774
@@ -737,8 +809,9 @@ gnu-c-cuda-int64:
737
809
- .stage-3
738
810
- .linux_test
739
811
tags :
740
- - linux-ubuntu, gpu:nvidia, name:hapy
812
+ - gpu:nvidia, name:hapy
741
813
variables :
814
+ LOAD_MODULES : mpi
742
815
PETSC_CONFIG_OPTS : --with-cuda --with-64-bit-indices --with-magma-dir=/usr/local/opt/magma-2.7.1
743
816
TEST_OPTS : -j2 -l6 query=requires queryval=cuda
744
817
MAKE_CUDAFLAGS : --compiler-options -Wall,-Wunused-parameter,-Wno-deprecated-declarations,-Werror
@@ -758,8 +831,9 @@ gnu-c-complex128:
758
831
- .stage-3
759
832
- .linux_test
760
833
tags :
761
- - linux-debian, name:sejmet
834
+ - name:hapy
762
835
variables :
836
+ LOAD_MODULES : mpi
763
837
PETSC_CONFIG_OPTS : --with-scalar-type=complex --download-f2cblaslapack --with-precision=__float128 --with-clanguage=c++
764
838
SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local
765
839
@@ -768,9 +842,9 @@ intel-c-int64-nompi-mkl:
768
842
- .stage-3
769
843
- .linux_test_nofflags
770
844
tags :
771
- - compiler:intel, name:igai
845
+ - compiler:intel, name:jepri
772
846
variables :
773
- LOAD_MODULES : icc mpi mkl
774
- PETSC_CONFIG_OPTS : --with-cc=icc --with-fc=ifort --with-cxx=icpc --with-blaslapack-dir=/opt/intel/oneapi/mkl/latest --with-64-bit-indices --with-64-bit-blas-indices --with-mpi=0
847
+ LOAD_MODULES : compiler mpi mkl
848
+ PETSC_CONFIG_OPTS : --with-cc=icx --with-fc=ifx --with-cxx=icpx --with-blaslapack-dir=/opt/intel/oneapi/mkl/latest --with-64-bit-indices --with-64-bit-blas-indices --with-mpi=0 --COPTFLAGS='-O -g -fp-model=precise' --CXXOPTFLAGS='-O -g -fp-model=precise' --FOPTFLAGS='-O -g -fp-model=precise'
775
849
SLEPC_CONFIG_OPTS : --DATAFILESPATH=/var/local --with-packages-download-dir=/var/local/downloads --download-primme --download-arpack
776
850
0 commit comments