diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 39459f2a9..c8739fa8a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -176,8 +176,12 @@ jobs: sudo echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list sudo apt-get update echo "" - echo "packages intel oneapi:" - sudo apt-get install -y intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel + # info + #sudo -E apt-cache pkgnames intel | grep intel-oneapi + #echo "" + echo "installing packages intel oneapi:" + sudo apt-get install -y intel-oneapi-compiler-fortran-2023.2.2 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.2 intel-oneapi-mpi intel-oneapi-mpi-devel + echo "" - name: compiler infos run: | @@ -185,22 +189,54 @@ jobs: source /opt/intel/oneapi/setvars.sh echo "" echo "compiler versions:" + echo "icx --version" + which icx + icx --version + echo "" echo "icc --version" + which icc icc --version + echo "" + echo "ifx --version" + which ifx + ifx --version + echo "" echo "ifort --version" + which ifort ifort --version + echo "" echo "mpiifort --version" + which mpiifort mpiifort --version + echo "" echo "mpif90 --version" + which mpif90 mpif90 --version echo "" + # infos + which ifort + which icc + which mpiifort + echo "mpirun:" + which mpirun + echo "" + # intel setup for running tests + echo "" + echo "replacing mpif90 with mpiifort link:" + sudo ln -sf $(which mpiifort) $(which mpif90) + mpif90 --version + echo "" + # debug + #export I_MPI_DEBUG=5,pid,host + #export I_MPI_LIBRARY_KIND=debug + # remove -ftrapuv which leads to issues for running tests + sed -i "s/-ftrapuv//g" flags.guess + # environment setting export TERM=xterm + # export info echo "exports:" export echo "" - which ifort - which icc - which mpiifort echo "" printenv >> $GITHUB_ENV echo "CXX=icpc" >> $GITHUB_ENV @@ -209,7 +245,8 @@ jobs: echo "" - name: configure debug - run: ./configure --enable-debug FC=ifort CC=icc + run: | + ./configure --enable-debug FC=ifort CC=icc - name: make debug run: | @@ -218,7 +255,8 @@ jobs: make clean - name: configure - run: ./configure FC=ifort CC=icc + run: | + ./configure FC=ifort CC=icc - name: make run: | @@ -226,7 +264,8 @@ jobs: make clean - name: configure parallel debug - run: ./configure --enable-debug --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include" + run: | + ./configure --enable-debug --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include" - name: make parallel debug run: | @@ -235,16 +274,18 @@ jobs: make clean - name: configure parallel - run: ./configure --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include" + run: | + ./configure --with-mpi FC=ifort CC=icc MPIFC=mpiifort MPI_INC="${I_MPI_ROOT}/include" - name: make parallel run: | make -j2 all make clean - # fails due to MPI issue on virtual nodes - #- name: make tests - # run: make tests + # note: fails with -ftrapuv flag due to MPI issue on virtual nodes + - name: make tests + run: | + make tests linuxTest_0: diff --git a/.travis.yml b/.travis.yml index a04c7f9b9..4597972e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -201,12 +201,20 @@ before_install: #- test -n $CC && unset CC # updates repository - # in case travis fails randomly due to missing key - - | - travis_retry sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 - travis_retry sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 78BD65473CB3BD13 - travis_retry sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 762E3157 - travis_retry sudo apt-get update + # (fails currently...) + #- | + # travis_retry sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 + # travis_retry sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 78BD65473CB3BD13 + # travis_retry sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 762E3157 + # apt explicit update + #- | + # echo "update apt-get" + # travis_retry sudo apt-get update + # echo +addons: + # apt update + apt: + update: true install: diff --git a/VERSION b/VERSION index ae9a76b92..8104cabd3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.0.0 +8.1.0 diff --git a/configure b/configure index 1ff46dd30..93d9348d5 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Specfem 2D 8.0.0. +# Generated by GNU Autoconf 2.71 for Specfem 2D 8.1.0. # # Report bugs to . # @@ -609,8 +609,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Specfem 2D' PACKAGE_TARNAME='Specfem2D' -PACKAGE_VERSION='8.0.0' -PACKAGE_STRING='Specfem 2D 8.0.0' +PACKAGE_VERSION='8.1.0' +PACKAGE_STRING='Specfem 2D 8.1.0' PACKAGE_BUGREPORT='see the wiki' PACKAGE_URL='' @@ -1382,7 +1382,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Specfem 2D 8.0.0 to adapt to many kinds of systems. +\`configure' configures Specfem 2D 8.1.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1448,7 +1448,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Specfem 2D 8.0.0:";; + short | recursive ) echo "Configuration of Specfem 2D 8.1.0:";; esac cat <<\_ACEOF @@ -1585,7 +1585,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Specfem 2D configure 8.0.0 +Specfem 2D configure 8.1.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1975,7 +1975,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Specfem 2D $as_me 8.0.0, which was +It was created by Specfem 2D $as_me 8.1.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -9379,7 +9379,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Specfem 2D $as_me 8.0.0, which was +This file was extended by Specfem 2D $as_me 8.1.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9447,7 +9447,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Specfem 2D config.status 8.0.0 +Specfem 2D config.status 8.1.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/doc/USER_MANUAL/authors.tex b/doc/USER_MANUAL/authors.tex index 2f414a10f..23296d42d 100644 --- a/doc/USER_MANUAL/authors.tex +++ b/doc/USER_MANUAL/authors.tex @@ -21,6 +21,7 @@ \section*{Authors} Bryant Chow, Paul Cristini, Rene Gassmoeller, +Hom Nath Gharti, Michael Gineste, Felix Halpaap, Dimitri Komatitsch, diff --git a/doc/USER_MANUAL/copyright_and_version.tex b/doc/USER_MANUAL/copyright_and_version.tex index 441ece9d0..fbd23732f 100644 --- a/doc/USER_MANUAL/copyright_and_version.tex +++ b/doc/USER_MANUAL/copyright_and_version.tex @@ -20,6 +20,11 @@ \chapter*{Copyright} \noindent \textbf{\underline{Evolution of the code:}}\newline +version 8.1, Hom Nath Gharti, Daniel Peter, Eduardo Valero Cano, December 2023:\newline +adds support for Q values in tomographic models; +updates GPU support, OpenMP and test workflows; +various code updates and improvements (noise simulations)\newline + version 8.0, Etienne Bachmann, Alexis Bottero, Bryant Chow, Paul Cristini, Rene Gassmoeller, Michael Gineste, Felix Halpaap, Dimitri Komatitsch, Matthieu Lefebvre, Qiancheng Liu, Qinya Liu, Zhaolun Liu, David Luet, Ryan Modrak, Christina Morency, Daniel Peter, Eric Rosenkrantz, Herurisa Rusmanugroho, diff --git a/doc/USER_MANUAL/manual_SPECFEM2D.pdf b/doc/USER_MANUAL/manual_SPECFEM2D.pdf index 241db5f3d..bcd5cf572 100644 Binary files a/doc/USER_MANUAL/manual_SPECFEM2D.pdf and b/doc/USER_MANUAL/manual_SPECFEM2D.pdf differ diff --git a/doc/USER_MANUAL/manual_SPECFEM2D.tex b/doc/USER_MANUAL/manual_SPECFEM2D.tex index 8acd280ab..e26ce7a63 100644 --- a/doc/USER_MANUAL/manual_SPECFEM2D.tex +++ b/doc/USER_MANUAL/manual_SPECFEM2D.tex @@ -121,7 +121,7 @@ \textbf{User Manual}} \author{\copyright\ CNRS (France) and Princeton University (USA)\\ -Version 8.0 +Version 8.1 } % date of last edit diff --git a/flags.guess b/flags.guess index 500698bc8..481556afe 100644 --- a/flags.guess +++ b/flags.guess @@ -90,8 +90,9 @@ case $my_FC in # I/O throughput lingers at 2.5 MB/s, with it it can increase to ~44 MB/s # However it does not make much of a difference on NFS mounted volumes or with SFS 3.1.1 / Lustre 1.6.7.1 # + # warnings about external function calls can be suppressed by "-warn all,noexternal" for version > 2018 # optimization report: "-vec-report0" is old and will be replaced by "-qopt-report0 -qopt-report-phase=vec" for v >=15.0 - DEF_FFLAGS="-xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -std08 -diag-disable 6477 -implicitnone -gen-interfaces -warn all" # -mcmodel=medium -shared-intel + DEF_FFLAGS="-xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -std08 -diag-disable 6477 -implicitnone -gen-interfaces -warn all,noexternal" # -mcmodel=medium -shared-intel OPT_FFLAGS="-O3 -check nobounds" DEBUG_FFLAGS="-check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv" # option "-openmp" is soon deprecated and replaced by "-qopenmp" for versions > 17.x diff --git a/m4 b/m4 index 230983ede..e490e14fb 160000 --- a/m4 +++ b/m4 @@ -1 +1 @@ -Subproject commit 230983edee3f18d9a5e975608b6374751d024f75 +Subproject commit e490e14fb13595428d39055304bcf0ee7ab94806 diff --git a/src/specfem2D/specfem2D.F90 b/src/specfem2D/specfem2D.F90 index afe3a509d..4d2a0a9b3 100644 --- a/src/specfem2D/specfem2D.F90 +++ b/src/specfem2D/specfem2D.F90 @@ -273,6 +273,11 @@ ! Evolution of the code: ! --------------------- ! +! version 8.1, Hom Nath Gharti, Daniel Peter, Eduardo Valero Cano, December 2023: +! - adds support for Q values in tomographic models +! - updates GPU support, OpenMP and test workflows +! - various code updates and improvements (noise simulations) +! ! version 8.0, Etienne Bachmann, Alexis Bottero, Bryant Chow, Paul Cristini, Rene Gassmoeller, Michael Gineste, ! Felix Halpaap, Dimitri Komatitsch, Matthieu Lefebvre, Qiancheng Liu, Qinya Liu, Zhaolun Liu, ! David Luet, Ryan Modrak, Christina Morency, Daniel Peter, Eric Rosenkrantz, Herurisa Rusmanugroho,