From 9e5c1504c6264d5fff7db3fe770489718b04b8f6 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Thu, 26 Aug 2021 16:12:29 -0400 Subject: [PATCH 01/13] Create a CI configuration to regularly test the full TiledArray/MADNESS/PaRSEC integration - GHCI: Add a matrix entry backend, that has the value Pthreads or PaRSEC Add travis support for MADNESS over PaRSEC CI - add a new entry in the jobs matrix of Travis duplicate of Debug with gcc-9 on linux, with MADNESS_OVER_PARSEC defined - if MADNESS_OVER_PARSEC is defined, bin/linux-madness.sh adds the appropriate MADNESS_TASK_BACKEND variable Rebase on top of bye-external-project --- .github/workflows/ci.yml | 2 ++ .travis.yml | 10 ++++++++++ bin/build-madness-linux.sh | 7 ++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 663899ff1b..3e7e35cb2c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,7 @@ jobs: os : [ macos-latest ] cxx : [ clang++, /usr/local/bin/g++-10 ] build_type : [ Release, Debug ] + task_backend: [ Pthreads, PaRSEC ] prerequisites : [ gcc@10 boost eigen open-mpi ] name: "${{ matrix.os }}: ${{ matrix.cxx }} ${{ matrix.build_type }}" @@ -22,6 +23,7 @@ jobs: env: CXX : ${{ matrix.cxx }} BUILD_CONFIG : > + -DMADNESS_TASK_BACKEND=${{ matrix.task_backend }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DMPIEXEC_PREFLAGS='--bind-to;none;--allow-run-as-root' -DTA_ASSERT_POLICY=TA_ASSERT_THROW diff --git a/.travis.yml b/.travis.yml index c49b53a6eb..f97aaa2b63 100644 --- a/.travis.yml +++ b/.travis.yml @@ -72,6 +72,16 @@ matrix: - *base_packages - g++-9 - gfortran-9 + - compiler: gcc + env: GCC_VERSION=9 BUILD_TYPE=Debug MADNESS_OVER_PARSEC=1 + addons: + apt: + sources: + - sourceline: 'ppa:ubuntu-toolchain-r/test' + packages: + - *base_packages + - g++-9 + - gfortran-9 - compiler: gcc env: GCC_VERSION=9 BUILD_TYPE=Release addons: diff --git a/bin/build-madness-linux.sh b/bin/build-madness-linux.sh index 3e7b253937..e813ee6f73 100755 --- a/bin/build-madness-linux.sh +++ b/bin/build-madness-linux.sh @@ -50,6 +50,10 @@ if [ "$BUILD_TYPE" = "Debug" ]; then mkdir -p madness cd madness + if [ -n "${MADNESS_OVER_PARSEC}" ]; then + MADNESS_BACKEND_OPTION="-DMADNESS_TASK_BACKEND=PaRSEC" + fi + # check out the tracked tag of MADNESS git clone https://github.com/m-a-d-n-e-s-s/madness madness_src && cd madness_src && git checkout ${MADNESS_TAG} && cd .. @@ -71,7 +75,8 @@ if [ "$BUILD_TYPE" = "Debug" ]; then -DENABLE_LIBXC=OFF \ -DENABLE_GPERFTOOLS=OFF \ -DASSERTION_TYPE=throw \ - -DDISABLE_WORLD_GET_DEFAULT=ON + -DDISABLE_WORLD_GET_DEFAULT=ON \ + ${MADNESS_BACKEND_OPTION} # Build+install MADworld interface make -j2 install VERBOSE=1 From e6e63814832a3997e421c0a7a78bc3f04bda9ff4 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Thu, 26 Aug 2021 21:46:54 -0400 Subject: [PATCH 02/13] Directly configure and compile the PaRSEC package at the tiledarray level, so it's fully installed; make madness find it through find_package --- bin/build-madness-linux.sh | 2 +- bin/build-parsec-linux.sh | 71 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100755 bin/build-parsec-linux.sh diff --git a/bin/build-madness-linux.sh b/bin/build-madness-linux.sh index e813ee6f73..03b438a8c5 100755 --- a/bin/build-madness-linux.sh +++ b/bin/build-madness-linux.sh @@ -51,7 +51,7 @@ if [ "$BUILD_TYPE" = "Debug" ]; then cd madness if [ -n "${MADNESS_OVER_PARSEC}" ]; then - MADNESS_BACKEND_OPTION="-DMADNESS_TASK_BACKEND=PaRSEC" + MADNESS_BACKEND_OPTION="-DMADNESS_TASK_BACKEND=PaRSEC -DPaRSEC_ROOT_DIR=${INSTALL_PREFIX}/parsec" fi # check out the tracked tag of MADNESS diff --git a/bin/build-parsec-linux.sh b/bin/build-parsec-linux.sh new file mode 100755 index 0000000000..5976a65cc1 --- /dev/null +++ b/bin/build-parsec-linux.sh @@ -0,0 +1,71 @@ +#! /bin/sh + +# Exit on error +set -ev + +# Will build MADNESS stand-alone for Debug builds only +if [ "$BUILD_TYPE" = "Debug" ]; then + + # Environment variables + if [ "$CXX" = "g++" ]; then + export CC=/usr/bin/gcc-$GCC_VERSION + export CXX=/usr/bin/g++-$GCC_VERSION + export EXTRACXXFLAGS="-mno-avx" + export F77=gfortran-$GCC_VERSION + else + export CC=/usr/bin/clang-$CLANG_VERSION + export CXX=/usr/bin/clang++-$CLANG_VERSION + export EXTRACXXFLAGS="-mno-avx -stdlib=libc++" + export F77=gfortran-$GCC_VERSION + fi + + export MPI_HOME=${INSTALL_PREFIX}/mpich + export MPICC=$MPI_HOME/bin/mpicc + export MPICXX=$MPI_HOME/bin/mpicxx + export LD_LIBRARY_PATH=/usr/lib/lapack:/usr/lib/libblas:$LD_LIBRARY_PATH + + # list the prebuilt prereqs + ls -l ${INSTALL_PREFIX} + + # where to install PaRSEC (need for testing installed code) + export INSTALL_DIR=${INSTALL_PREFIX}/parsec + + # extract the tracked tag of PARSEC + export PARSEC_TAG=440b29367fe98541ebe13f60deac0770f7362e30 + echo "required PARSEC revision = ${PARSEC_TAG}" + + # Should make sure installed PARSEC tag matches the required tag, if not, remove INSTALL_DIR (will cause reinstall) + #if [ -f "${INSTALL_DIR}/include/parsec/config.h" ]; then + # export INSTALLED_PARSEC_TAG=`grep 'define PARSEC_REVISION' ${INSTALL_DIR}/include/parsec/config.h | awk '{print $3}' | sed s/\"//g` + # echo "installed PARSEC revision = ${INSTALLED_PARSEC_TAG}" + # if [ "${PARSEC_TAG}" != "${INSTALLED_PARSEC_TAG}" ]; then + # rm -rf "${INSTALL_DIR}" + # fi + #fi + + if [ ! -d "${INSTALL_DIR}" ]; then + + # make build dir + cd ${BUILD_PREFIX} + mkdir -p parsec + cd parsec + + # check out the tracked tag of PARSEC + + git clone https://bitbucket.org/schuchart/parsec.git parsec_src && cd parsec_src && git checkout ${PARSEC_TAG} && cd .. + + cmake parsec_src \ + -DCMAKE_TOOLCHAIN_FILE="${TRAVIS_BUILD_DIR}/cmake/toolchains/travis.cmake" \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_C_COMPILER=$CC \ + -DMPI_CXX_COMPILER=$MPICXX \ + -DMPI_C_COMPILER=$MPICC \ + -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ + -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ + -DCMAKE_CXX_FLAGS="-ftemplate-depth=1024 -Wno-unused-command-line-argument ${EXTRACXXFLAGS}" + + # Build+install PaRSEC + make -j2 install VERBOSE=1 + fi + +fi From 0e159d7bd31565001aa55c5d21d7ccf2b87bfee1 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Thu, 26 Aug 2021 21:47:15 -0400 Subject: [PATCH 03/13] Remove most test cases from travis.yml until this test passes --- .travis.yml | 84 ---------------------------------------------- bin/build-linux.sh | 3 ++ 2 files changed, 3 insertions(+), 84 deletions(-) diff --git a/.travis.yml b/.travis.yml index f97aaa2b63..073f1009eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,48 +30,6 @@ env: matrix: fast_finish: true include: - - compiler: gcc - env: GCC_VERSION=7 BUILD_TYPE=Debug - addons: - apt: - packages: - - *base_packages - - g++-7 - - gfortran-7 - - compiler: gcc - env: GCC_VERSION=7 BUILD_TYPE=Release - addons: - apt: - packages: - - *base_packages - - g++-7 - - gfortran-7 - - compiler: gcc - env: GCC_VERSION=8 BUILD_TYPE=Debug COMPUTE_COVERAGE=1 - addons: - apt: - packages: - - *base_packages - - g++-8 - - gfortran-8 - - compiler: gcc - env: GCC_VERSION=8 BUILD_TYPE=Release - addons: - apt: - packages: - - *base_packages - - g++-8 - - gfortran-8 - - compiler: gcc - env: GCC_VERSION=9 BUILD_TYPE=Debug - addons: - apt: - sources: - - sourceline: 'ppa:ubuntu-toolchain-r/test' - packages: - - *base_packages - - g++-9 - - gfortran-9 - compiler: gcc env: GCC_VERSION=9 BUILD_TYPE=Debug MADNESS_OVER_PARSEC=1 addons: @@ -82,48 +40,6 @@ matrix: - *base_packages - g++-9 - gfortran-9 - - compiler: gcc - env: GCC_VERSION=9 BUILD_TYPE=Release - addons: - apt: - sources: - - sourceline: 'ppa:ubuntu-toolchain-r/test' - packages: - - *base_packages - - g++-9 - - gfortran-9 - allow_failures: # travis focal images broken right now: https://travis-ci.community/t/clang-10-was-recently-broken-on-linux-unmet-dependencies-for-clang-10-clang-tidy-10-valgrind/11527 - - compiler: clang - env: CLANG_VERSION=11 GCC_VERSION=8 BUILD_TYPE=Debug - addons: - apt: - sources: - - sourceline: 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main' - key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - packages: - - *base_packages - - g++-8 - - gfortran-8 - - clang-11 - - libc++-11-dev - - libc++abi-11-dev - - compiler: clang - env: CLANG_VERSION=11 GCC_VERSION=8 BUILD_TYPE=Release DEPLOY=1 - addons: - apt: - sources: - - sourceline: 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main' - key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - packages: - - *base_packages - - g++-8 - - gfortran-8 - - clang-11 - - libc++-11-dev - - libc++abi-11-dev - - libclang1-9 # libclang for doxygen - - graphviz # provides dot for doxygen graphs - - fonts-liberation # recommended by graphviz before_install: - env diff --git a/bin/build-linux.sh b/bin/build-linux.sh index a6c55ed951..9f9fdcbe92 100755 --- a/bin/build-linux.sh +++ b/bin/build-linux.sh @@ -14,6 +14,9 @@ export TA_PYTHON=ON ${TRAVIS_BUILD_DIR}/bin/build-mpich-linux.sh ${TRAVIS_BUILD_DIR}/bin/build-scalapack-mpich-linux.sh +if [ -n "${MADNESS_OVER_PARSEC}" ]; then + ${TRAVIS_BUILD_DIR}/bin/build-parsec-linux.sh +fi ${TRAVIS_BUILD_DIR}/bin/build-madness-linux.sh ${TRAVIS_BUILD_DIR}/bin/build-boost-linux.sh ${TRAVIS_BUILD_DIR}/bin/build-eigen3-linux.sh From f22c34d7030a1cb884bf8987c8c22c5c7913592e Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Fri, 27 Aug 2021 20:10:55 -0400 Subject: [PATCH 04/13] DO NOT MERGE!!!! Point (temporarily) to a madness with fixes for CI --- bin/build-linux.sh | 3 --- bin/build-madness-linux.sh | 2 +- cmake/modules/FindOrFetchMADWorld.cmake | 3 ++- external/versions.cmake | 5 +++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/bin/build-linux.sh b/bin/build-linux.sh index 9f9fdcbe92..a6c55ed951 100755 --- a/bin/build-linux.sh +++ b/bin/build-linux.sh @@ -14,9 +14,6 @@ export TA_PYTHON=ON ${TRAVIS_BUILD_DIR}/bin/build-mpich-linux.sh ${TRAVIS_BUILD_DIR}/bin/build-scalapack-mpich-linux.sh -if [ -n "${MADNESS_OVER_PARSEC}" ]; then - ${TRAVIS_BUILD_DIR}/bin/build-parsec-linux.sh -fi ${TRAVIS_BUILD_DIR}/bin/build-madness-linux.sh ${TRAVIS_BUILD_DIR}/bin/build-boost-linux.sh ${TRAVIS_BUILD_DIR}/bin/build-eigen3-linux.sh diff --git a/bin/build-madness-linux.sh b/bin/build-madness-linux.sh index 03b438a8c5..e813ee6f73 100755 --- a/bin/build-madness-linux.sh +++ b/bin/build-madness-linux.sh @@ -51,7 +51,7 @@ if [ "$BUILD_TYPE" = "Debug" ]; then cd madness if [ -n "${MADNESS_OVER_PARSEC}" ]; then - MADNESS_BACKEND_OPTION="-DMADNESS_TASK_BACKEND=PaRSEC -DPaRSEC_ROOT_DIR=${INSTALL_PREFIX}/parsec" + MADNESS_BACKEND_OPTION="-DMADNESS_TASK_BACKEND=PaRSEC" fi # check out the tracked tag of MADNESS diff --git a/cmake/modules/FindOrFetchMADWorld.cmake b/cmake/modules/FindOrFetchMADWorld.cmake index b129bb8248..c04886684d 100644 --- a/cmake/modules/FindOrFetchMADWorld.cmake +++ b/cmake/modules/FindOrFetchMADWorld.cmake @@ -38,7 +38,8 @@ if (NOT TARGET MADworld) include(FetchContent) FetchContent_Declare( MADNESS - GIT_REPOSITORY https://github.com/m-a-d-n-e-s-s/madness.git + # GIT_REPOSITORY https://github.com/m-a-d-n-e-s-s/madness.git + GIT_REPOSITORY https://github.com/TESSEorg/madness.git GIT_TAG ${TA_TRACKED_MADNESS_TAG} ) FetchContent_MakeAvailable(MADNESS) diff --git a/external/versions.cmake b/external/versions.cmake index 95765bfe10..3c8b55f616 100644 --- a/external/versions.cmake +++ b/external/versions.cmake @@ -19,8 +19,9 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7) set(TA_INSTALL_EIGEN_URL_HASH b9e98a200d2455f06db9c661c5610496) set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH b9e98a200d2455f06db9c661c5610496) -set(TA_TRACKED_MADNESS_TAG 34ef8e6d6c61098d44ca559a530b4096e40b9a01) -set(TA_TRACKED_MADNESS_PREVIOUS_TAG 0c0b41e8490f53c62508fd0c8d918fb642488fc2) +#set(TA_TRACKED_MADNESS_TAG 0c0b41e8490f53c62508fd0c8d918fb642488fc2) +set(TA_TRACKED_MADNESS_TAG 9c67bff73ee3943d8f22fd6f167ac7dd847a5c25) +set(TA_TRACKED_MADNESS_PREVIOUS_TAG fb82aa568619b8ea11868e4015092dff12190f19) set(TA_TRACKED_MADNESS_VERSION 0.10.1) set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1) From 3de5b3492e4476bbf9b346dabdfc69a1f140de4a Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Fri, 27 Aug 2021 20:17:27 -0400 Subject: [PATCH 05/13] PaRSEC is pulled directly by MADNESS, no need to build it separately --- bin/build-parsec-linux.sh | 71 --------------------------------------- 1 file changed, 71 deletions(-) delete mode 100755 bin/build-parsec-linux.sh diff --git a/bin/build-parsec-linux.sh b/bin/build-parsec-linux.sh deleted file mode 100755 index 5976a65cc1..0000000000 --- a/bin/build-parsec-linux.sh +++ /dev/null @@ -1,71 +0,0 @@ -#! /bin/sh - -# Exit on error -set -ev - -# Will build MADNESS stand-alone for Debug builds only -if [ "$BUILD_TYPE" = "Debug" ]; then - - # Environment variables - if [ "$CXX" = "g++" ]; then - export CC=/usr/bin/gcc-$GCC_VERSION - export CXX=/usr/bin/g++-$GCC_VERSION - export EXTRACXXFLAGS="-mno-avx" - export F77=gfortran-$GCC_VERSION - else - export CC=/usr/bin/clang-$CLANG_VERSION - export CXX=/usr/bin/clang++-$CLANG_VERSION - export EXTRACXXFLAGS="-mno-avx -stdlib=libc++" - export F77=gfortran-$GCC_VERSION - fi - - export MPI_HOME=${INSTALL_PREFIX}/mpich - export MPICC=$MPI_HOME/bin/mpicc - export MPICXX=$MPI_HOME/bin/mpicxx - export LD_LIBRARY_PATH=/usr/lib/lapack:/usr/lib/libblas:$LD_LIBRARY_PATH - - # list the prebuilt prereqs - ls -l ${INSTALL_PREFIX} - - # where to install PaRSEC (need for testing installed code) - export INSTALL_DIR=${INSTALL_PREFIX}/parsec - - # extract the tracked tag of PARSEC - export PARSEC_TAG=440b29367fe98541ebe13f60deac0770f7362e30 - echo "required PARSEC revision = ${PARSEC_TAG}" - - # Should make sure installed PARSEC tag matches the required tag, if not, remove INSTALL_DIR (will cause reinstall) - #if [ -f "${INSTALL_DIR}/include/parsec/config.h" ]; then - # export INSTALLED_PARSEC_TAG=`grep 'define PARSEC_REVISION' ${INSTALL_DIR}/include/parsec/config.h | awk '{print $3}' | sed s/\"//g` - # echo "installed PARSEC revision = ${INSTALLED_PARSEC_TAG}" - # if [ "${PARSEC_TAG}" != "${INSTALLED_PARSEC_TAG}" ]; then - # rm -rf "${INSTALL_DIR}" - # fi - #fi - - if [ ! -d "${INSTALL_DIR}" ]; then - - # make build dir - cd ${BUILD_PREFIX} - mkdir -p parsec - cd parsec - - # check out the tracked tag of PARSEC - - git clone https://bitbucket.org/schuchart/parsec.git parsec_src && cd parsec_src && git checkout ${PARSEC_TAG} && cd .. - - cmake parsec_src \ - -DCMAKE_TOOLCHAIN_FILE="${TRAVIS_BUILD_DIR}/cmake/toolchains/travis.cmake" \ - -DCMAKE_CXX_COMPILER=$CXX \ - -DCMAKE_C_COMPILER=$CC \ - -DMPI_CXX_COMPILER=$MPICXX \ - -DMPI_C_COMPILER=$MPICC \ - -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ - -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ - -DCMAKE_CXX_FLAGS="-ftemplate-depth=1024 -Wno-unused-command-line-argument ${EXTRACXXFLAGS}" - - # Build+install PaRSEC - make -j2 install VERBOSE=1 - fi - -fi From 8350e24b34be5122cad6137d0eb2aa04150a166f Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Sat, 28 Aug 2021 09:58:08 -0400 Subject: [PATCH 06/13] I don't understand why travis find no jobs to run for this PR anymore. I have re-added existing tests that I had removed, and added more tests to run, in the hope it triggers the jobs --- .travis.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.travis.yml b/.travis.yml index 073f1009eb..0bf6535c4a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,46 @@ env: matrix: fast_finish: true include: + - compiler: gcc + env: GCC_VERSION=7 BUILD_TYPE=Debug MADNESS_OVER_PARSEC=1 + addons: + apt: + packages: + - *base_packages + - g++-7 + - gfortran-7 + - compiler: gcc + env: GCC_VERSION=7 BUILD_TYPE=Debug + addons: + apt: + packages: + - *base_packages + - g++-7 + - gfortran-7 + - compiler: gcc + env: GCC_VERSION=7 BUILD_TYPE=Release + addons: + apt: + packages: + - *base_packages + - g++-7 + - gfortran-7 + - compiler: gcc + env: GCC_VERSION=8 BUILD_TYPE=Debug COMPUTE_COVERAGE=1 MADNESS_OVER_PARSEC=1 + addons: + apt: + packages: + - *base_packages + - g++-8 + - gfortran-8 + - compiler: gcc + env: GCC_VERSION=8 BUILD_TYPE=Release + addons: + apt: + packages: + - *base_packages + - g++-8 + - gfortran-8 - compiler: gcc env: GCC_VERSION=9 BUILD_TYPE=Debug MADNESS_OVER_PARSEC=1 addons: From 467db012bb44b2c0733da7ee6f051e96bf1922ac Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Sat, 28 Aug 2021 17:41:27 -0400 Subject: [PATCH 07/13] Fix merge error: use the TESSEOrg madness fork to test the madness PR that sits there; update to include Ed's change in the madness branch --- bin/build-madness-linux.sh | 2 +- external/versions.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/build-madness-linux.sh b/bin/build-madness-linux.sh index e813ee6f73..d255bff92d 100755 --- a/bin/build-madness-linux.sh +++ b/bin/build-madness-linux.sh @@ -55,7 +55,7 @@ if [ "$BUILD_TYPE" = "Debug" ]; then fi # check out the tracked tag of MADNESS - git clone https://github.com/m-a-d-n-e-s-s/madness madness_src && cd madness_src && git checkout ${MADNESS_TAG} && cd .. + git clone https://github.com/TESSEorg/madness.git madness_src && cd madness_src && git checkout ${MADNESS_TAG} && cd .. cmake madness_src \ -DCMAKE_TOOLCHAIN_FILE="${TRAVIS_BUILD_DIR}/cmake/toolchains/travis.cmake" \ diff --git a/external/versions.cmake b/external/versions.cmake index 3c8b55f616..7e020c28c0 100644 --- a/external/versions.cmake +++ b/external/versions.cmake @@ -21,7 +21,7 @@ set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH b9e98a200d2455f06db9c661c5610496) #set(TA_TRACKED_MADNESS_TAG 0c0b41e8490f53c62508fd0c8d918fb642488fc2) set(TA_TRACKED_MADNESS_TAG 9c67bff73ee3943d8f22fd6f167ac7dd847a5c25) -set(TA_TRACKED_MADNESS_PREVIOUS_TAG fb82aa568619b8ea11868e4015092dff12190f19) +set(TA_TRACKED_MADNESS_PREVIOUS_TAG 6474d49a85b0921b58077fcc8f640e865530645e) set(TA_TRACKED_MADNESS_VERSION 0.10.1) set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1) From fa8c80d548a8117561a5f4772ab3d2c034eef1d3 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Mon, 30 Aug 2021 08:30:31 -0400 Subject: [PATCH 08/13] script does not take into account commented files in external/versions.cmake ... --- external/versions.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/external/versions.cmake b/external/versions.cmake index 7e020c28c0..f9d47bca48 100644 --- a/external/versions.cmake +++ b/external/versions.cmake @@ -19,7 +19,6 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7) set(TA_INSTALL_EIGEN_URL_HASH b9e98a200d2455f06db9c661c5610496) set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH b9e98a200d2455f06db9c661c5610496) -#set(TA_TRACKED_MADNESS_TAG 0c0b41e8490f53c62508fd0c8d918fb642488fc2) set(TA_TRACKED_MADNESS_TAG 9c67bff73ee3943d8f22fd6f167ac7dd847a5c25) set(TA_TRACKED_MADNESS_PREVIOUS_TAG 6474d49a85b0921b58077fcc8f640e865530645e) set(TA_TRACKED_MADNESS_VERSION 0.10.1) From bb36dbcd02fcd615908f3f1ad02206e699f60267 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Mon, 30 Aug 2021 08:33:32 -0400 Subject: [PATCH 09/13] Attempt to make the MacOS tests work: require recent version of bison --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e7e35cb2c..84e4807947 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: cxx : [ clang++, /usr/local/bin/g++-10 ] build_type : [ Release, Debug ] task_backend: [ Pthreads, PaRSEC ] - prerequisites : [ gcc@10 boost eigen open-mpi ] + prerequisites : [ gcc@10 boost eigen open-mpi bison@3.7 ] name: "${{ matrix.os }}: ${{ matrix.cxx }} ${{ matrix.build_type }}" runs-on: ${{ matrix.os }} From 8c49599738dd76c77d911b59287a8113db6712de Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Mon, 30 Aug 2021 09:59:21 -0400 Subject: [PATCH 10/13] Bump MADNESS version to include PaRSEC configuration options --- external/versions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/versions.cmake b/external/versions.cmake index f9d47bca48..4b5639d3fc 100644 --- a/external/versions.cmake +++ b/external/versions.cmake @@ -19,7 +19,7 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7) set(TA_INSTALL_EIGEN_URL_HASH b9e98a200d2455f06db9c661c5610496) set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH b9e98a200d2455f06db9c661c5610496) -set(TA_TRACKED_MADNESS_TAG 9c67bff73ee3943d8f22fd6f167ac7dd847a5c25) +set(TA_TRACKED_MADNESS_TAG 6536b79968302a14b72a80a62b1cd21c97465aaf) set(TA_TRACKED_MADNESS_PREVIOUS_TAG 6474d49a85b0921b58077fcc8f640e865530645e) set(TA_TRACKED_MADNESS_VERSION 0.10.1) set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1) From b45643d6ff4ba2aaa9e3814cc74b0f0cdfda3643 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Mon, 30 Aug 2021 10:29:37 -0400 Subject: [PATCH 11/13] brew does not install bison in /usr because it conflicts with Mac OS' default; add the PATH where brew installs bison to the PATH for the CI --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 84e4807947..dd75c554b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,9 @@ jobs: run: cmake -P ${{github.workspace}}/ci/host_system_info.cmake - name: Install ${{matrix.prerequisites}} - run: brew install ${{matrix.prerequisites}} + run: | + brew install ${{matrix.prerequisites}} + echo "/usr/local/opt/bison/bin" >> $GITHUB_PATH - name: "Configure build: ${{ env.BUILD_CONFIG }}" shell: bash From ccd4c2475d797b4fe729b39961d67468776f75a2 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Tue, 31 Aug 2021 16:54:14 -0400 Subject: [PATCH 12/13] Bump up MADNESS version to test PaRSEC CI --- external/versions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/versions.cmake b/external/versions.cmake index 4b5639d3fc..e92df8aebe 100644 --- a/external/versions.cmake +++ b/external/versions.cmake @@ -19,7 +19,7 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7) set(TA_INSTALL_EIGEN_URL_HASH b9e98a200d2455f06db9c661c5610496) set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH b9e98a200d2455f06db9c661c5610496) -set(TA_TRACKED_MADNESS_TAG 6536b79968302a14b72a80a62b1cd21c97465aaf) +set(TA_TRACKED_MADNESS_TAG f45f6417c7448b0f6875806c45e75e69b31d618e) set(TA_TRACKED_MADNESS_PREVIOUS_TAG 6474d49a85b0921b58077fcc8f640e865530645e) set(TA_TRACKED_MADNESS_VERSION 0.10.1) set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1) From 262a10a81ec3a0f832a5bd7bfdc854b33520e479 Mon Sep 17 00:00:00 2001 From: Thomas Herault Date: Tue, 31 Aug 2021 17:46:27 -0400 Subject: [PATCH 13/13] Merge master; fix tabs in ci.yml --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd75c554b6..fe81686732 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,7 @@ jobs: -DMADNESS_TASK_BACKEND=${{ matrix.task_backend }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DMPIEXEC_PREFLAGS='--bind-to;none;--allow-run-as-root' + -DCMAKE_PREFIX_PATH=/usr/local/opt/bison -DTA_ASSERT_POLICY=TA_ASSERT_THROW steps: @@ -38,7 +39,7 @@ jobs: - name: Install ${{matrix.prerequisites}} run: | brew install ${{matrix.prerequisites}} - echo "/usr/local/opt/bison/bin" >> $GITHUB_PATH + echo "/usr/local/opt/bison/bin" >> $GITHUB_PATH - name: "Configure build: ${{ env.BUILD_CONFIG }}" shell: bash