From 757c20237f48c659ea0632a99cc0d2e2d070c63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 13:51:01 -0700 Subject: [PATCH 01/16] Raise an error if `MPI=ON` and `MPI` is not found --- CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50c768a..f961bb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,11 +31,9 @@ add_compile_options(-O3 -Wall -Wpedantic -Wfatal-errors) # Use MPI option(MPI "Build with MPI" OFF) -# Find MPI package -find_package(MPI) - # If MPI exists, compile the code using MPI -if (MPI AND MPI_FOUND) +if (MPI) + find_package(MPI REQUIRED) message(STATUS "MPI Enabled") add_compile_definitions(USE_MPI) include_directories(${MPI_CXX_HEADER_DIR}) From 24e30e9c1425fec8e5c90ffc4eb36b910b800af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 13:52:32 -0700 Subject: [PATCH 02/16] Add possibility to specify `MPIEXEC_EXECUTABLE` for `CMake` --- setup.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/setup.py b/setup.py index 37fe58c..054409f 100644 --- a/setup.py +++ b/setup.py @@ -76,6 +76,11 @@ def build_extension(self, ext): if USE_MPI: cmake_args.append('-DMPI=ON') + # If provided, override MPIEXEC_EXECUTABLE + if 'MPIEXEC_EXECUTABLE' in os.environ: + cmake_args.append( + f'-DMPIEXEC_EXECUTABLE={os.environ["MPIEXEC_EXECUTABLE"]}') + build_args = ['--config', cfg] if not os.path.exists(self.build_temp): From a776e521131c709c0691c1b2cb8465eaac69e6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 13:52:55 -0700 Subject: [PATCH 03/16] Add tests for `macos-latest` --- .github/workflows/branching-tests.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 9c190b1..2b1934f 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -23,25 +23,26 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: + os: [ ubuntu-latest, macos-latest ] build_type: [ Release, Debug ] cpp_compiler: [ g++, clang++ ] mpi: [ ON, OFF ] + # Ignore g++ for macos + exclude: + - os: macos-latest + cpp_compiler: g++ + steps: - name: Checkout repository uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt install -y mpich python3-pybind11 python3-dev - - - name: Install and Test Python CUI (MPI) if: matrix.mpi == 'ON' run: | From bd24bc15a697ae2406d502ecf178e72ecd697b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 13:58:37 -0700 Subject: [PATCH 04/16] Fix --- .github/workflows/branching-tests.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 2b1934f..050ce3d 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -34,7 +34,14 @@ jobs: cpp_compiler: [ g++, clang++ ] mpi: [ ON, OFF ] - # Ignore g++ for macos + include: + - os: ubuntu-latest + cpp_compiler: g++ + - os: ubuntu-latest + cpp_compiler: clang++ + - os: macos-latest + cpp_compiler: clang++ + exclude: - os: macos-latest cpp_compiler: g++ From e67200aa30cb6f85dbbec16b198d38aa80d9ed81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 14:00:27 -0700 Subject: [PATCH 05/16] Fix --- .github/workflows/branching-tests.yml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 050ce3d..97cb68f 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -34,17 +34,9 @@ jobs: cpp_compiler: [ g++, clang++ ] mpi: [ ON, OFF ] - include: - - os: ubuntu-latest - cpp_compiler: g++ - - os: ubuntu-latest - cpp_compiler: clang++ - - os: macos-latest - cpp_compiler: clang++ - - exclude: - - os: macos-latest - cpp_compiler: g++ + exclude: + - os: macos-latest + cpp_compiler: g++ steps: - name: Checkout repository From 203b4a35f72364a2198e1697325cf2844f266beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:08:00 -0700 Subject: [PATCH 06/16] Fix --- .github/workflows/branching-tests.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 97cb68f..e5317a2 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -42,6 +42,16 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Install dependencies + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt install -y mpich + + - name: Install dependencies + if: matrix.os == 'macos-latest' + run: | + brew install mpich + - name: Install and Test Python CUI (MPI) if: matrix.mpi == 'ON' run: | From a9117eabff1e4af233a3ca15e086335d47b65356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:11:18 -0700 Subject: [PATCH 07/16] Fix --- .github/workflows/branching-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index e5317a2..2c5bb57 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -43,26 +43,26 @@ jobs: uses: actions/checkout@v3 - name: Install dependencies - if: matrix.os == 'ubuntu-latest' + if: matrix.os == 'ubuntu-latest' && matrix.mpi == 'ON' run: | sudo apt install -y mpich - name: Install dependencies - if: matrix.os == 'macos-latest' + if: matrix.os == 'macos-latest' && matrix.mpi == 'ON' run: | brew install mpich - name: Install and Test Python CUI (MPI) if: matrix.mpi == 'ON' run: | - pip install -U pip + pip install -U pip pybind11 USE_MPI=1 pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | mpirun -n 2 pysa-dpll sat - name: Install and Test Python CUI if: matrix.mpi == 'OFF' run: | - pip install -U pip + pip install -U pip pybind11 pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | pysa-dpll sat From 94b189872a071f3e298dab292925be5a50a807cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:14:22 -0700 Subject: [PATCH 08/16] Fix --- .github/workflows/branching-tests.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 2c5bb57..3b0a47f 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -68,17 +68,18 @@ jobs: - name: Configure CMake run: > - cmake -B ${{github.workspace}}/build \ + cmake -B ${{ github.workspace }}/build \ -S ${{ github.workspace }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -Dpybind11_DIR=$( python -m pybind11 --cmakedir ) \ -DMPI=${{ matrix.mpi }} - name: Build - run: cmake --build ${{github.workspace}}/build + run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.build_type }} - name: Test - working-directory: ${{github.workspace}}/build/tests + working-directory: ${{ github.workspace }}/build/tests run: ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure From 0fcb762f8d59538d549bd5c8ad4de4ba32717f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:22:16 -0700 Subject: [PATCH 09/16] Fix --- .github/workflows/branching-tests.yml | 2 +- CMakeLists.txt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 3b0a47f..4dbc1ef 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -26,7 +26,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: true + fail-fast: false matrix: os: [ ubuntu-latest, macos-latest ] diff --git a/CMakeLists.txt b/CMakeLists.txt index f961bb8..0735cb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,8 @@ if (MPI) add_compile_definitions(USE_MPI) include_directories(${MPI_CXX_HEADER_DIR}) link_libraries(MPI::MPI_CXX) +else() + message(STATUS "MPI Disabled") endif () # Find pthreads From 6a27c14bebc8ad0cdb39be3908afad9bb932a690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:36:36 -0700 Subject: [PATCH 10/16] Fix --- .github/workflows/branching-tests.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 4dbc1ef..764c9b1 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -45,28 +45,40 @@ jobs: - name: Install dependencies if: matrix.os == 'ubuntu-latest' && matrix.mpi == 'ON' run: | - sudo apt install -y mpich + sudo apt install -y mpich python3-pybind11 python3-dev - name: Install dependencies if: matrix.os == 'macos-latest' && matrix.mpi == 'ON' run: | brew install mpich + pip install pybind11 - name: Install and Test Python CUI (MPI) if: matrix.mpi == 'ON' run: | - pip install -U pip pybind11 + pip install -U pip USE_MPI=1 pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | mpirun -n 2 pysa-dpll sat - name: Install and Test Python CUI if: matrix.mpi == 'OFF' run: | - pip install -U pip pybind11 + pip install -U pip pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | pysa-dpll sat - name: Configure CMake + if: matrix.os == 'ubuntu-latest' + run: > + cmake -B ${{ github.workspace }}/build \ + -S ${{ github.workspace }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DMPI=${{ matrix.mpi }} + + - name: Configure CMake + if: matrix.os == 'macos-latest' run: > cmake -B ${{ github.workspace }}/build \ -S ${{ github.workspace }} \ From e97b394c72193140737483f58ed615cbb0be8596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:38:21 -0700 Subject: [PATCH 11/16] Fix --- .github/workflows/branching-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 764c9b1..6579166 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -43,7 +43,7 @@ jobs: uses: actions/checkout@v3 - name: Install dependencies - if: matrix.os == 'ubuntu-latest' && matrix.mpi == 'ON' + if: matrix.os == 'ubuntu-latest' run: | sudo apt install -y mpich python3-pybind11 python3-dev From 7c95ffce0a482846b626e66a4918b816698c665d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:40:26 -0700 Subject: [PATCH 12/16] Fix --- .github/workflows/branching-tests.yml | 35 +++++---------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 6579166..9c190b1 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -23,36 +23,25 @@ on: jobs: build: - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true matrix: - os: [ ubuntu-latest, macos-latest ] build_type: [ Release, Debug ] cpp_compiler: [ g++, clang++ ] mpi: [ ON, OFF ] - exclude: - - os: macos-latest - cpp_compiler: g++ - steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies - if: matrix.os == 'ubuntu-latest' run: | sudo apt install -y mpich python3-pybind11 python3-dev - - - name: Install dependencies - if: matrix.os == 'macos-latest' && matrix.mpi == 'ON' - run: | - brew install mpich - pip install pybind11 + - name: Install and Test Python CUI (MPI) if: matrix.mpi == 'ON' run: | @@ -68,30 +57,18 @@ jobs: echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | pysa-dpll sat - name: Configure CMake - if: matrix.os == 'ubuntu-latest' - run: > - cmake -B ${{ github.workspace }}/build \ - -S ${{ github.workspace }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ - -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ - -DMPI=${{ matrix.mpi }} - - - name: Configure CMake - if: matrix.os == 'macos-latest' run: > - cmake -B ${{ github.workspace }}/build \ + cmake -B ${{github.workspace}}/build \ -S ${{ github.workspace }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ - -Dpybind11_DIR=$( python -m pybind11 --cmakedir ) \ -DMPI=${{ matrix.mpi }} - name: Build - run: cmake --build ${{ github.workspace }}/build + run: cmake --build ${{github.workspace}}/build --config ${{ matrix.build_type }} - name: Test - working-directory: ${{ github.workspace }}/build/tests + working-directory: ${{github.workspace}}/build/tests run: ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure From 2a7596367a5b500c60aaea61ad697331d17bde9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Mon, 3 Jun 2024 17:44:52 -0700 Subject: [PATCH 13/16] Fix --- .github/workflows/branching-tests.yml | 30 ++++++++++++++++++++------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 9c190b1..832922c 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -23,52 +23,66 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: + os: [ ubuntu-latest, macos-latest ] build_type: [ Release, Debug ] cpp_compiler: [ g++, clang++ ] mpi: [ ON, OFF ] + exclude: + - os: macos-latest + cpp_compiler: g++ + - os: ubuntu-latest + cpp_compiler: clang++ + mpi: ON + steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies + if: matrix.os == 'ubuntu-latest' && matrix.mpi == 'ON' run: | - sudo apt install -y mpich python3-pybind11 python3-dev - + sudo apt install -y mpich + - name: Install dependencies + if: matrix.os == 'macos-latest' && matrix.mpi == 'ON' + run: | + brew install mpich + - name: Install and Test Python CUI (MPI) if: matrix.mpi == 'ON' run: | - pip install -U pip + pip install -U pip pybind11 USE_MPI=1 pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | mpirun -n 2 pysa-dpll sat - name: Install and Test Python CUI if: matrix.mpi == 'OFF' run: | - pip install -U pip + pip install -U pip pybind11 pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | pysa-dpll sat - name: Configure CMake run: > - cmake -B ${{github.workspace}}/build \ + cmake -B ${{ github.workspace }}/build \ -S ${{ github.workspace }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -Dpybind11_DIR=$( python -m pybind11 --cmakedir ) \ -DMPI=${{ matrix.mpi }} - name: Build - run: cmake --build ${{github.workspace}}/build + run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.build_type }} - name: Test - working-directory: ${{github.workspace}}/build/tests + working-directory: ${{ github.workspace }}/build/tests run: ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure From 4b28c5bfb84dca6a624960fad255d9d0cb4cfe23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Tue, 4 Jun 2024 13:37:43 -0700 Subject: [PATCH 14/16] Fix --- .github/workflows/branching-tests.yml | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 832922c..05c9f5b 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -37,9 +37,6 @@ jobs: exclude: - os: macos-latest cpp_compiler: g++ - - os: ubuntu-latest - cpp_compiler: clang++ - mpi: ON steps: - name: Checkout repository @@ -59,25 +56,25 @@ jobs: if: matrix.mpi == 'ON' run: | pip install -U pip pybind11 - USE_MPI=1 pip install -U . --verbose + USE_MPI=1 CXX=${{ matrix.cpp_compiler }} pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | mpirun -n 2 pysa-dpll sat - name: Install and Test Python CUI if: matrix.mpi == 'OFF' run: | pip install -U pip pybind11 - pip install -U . --verbose + CXX=${{ matrix.cpp_compiler }} pip install -U . --verbose echo -e 'p cnf 2 2\n1 2 0\n-1 -2 0' | pysa-dpll sat - name: Configure CMake run: > - cmake -B ${{ github.workspace }}/build \ - -S ${{ github.workspace }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ - -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ - -Dpybind11_DIR=$( python -m pybind11 --cmakedir ) \ - -DMPI=${{ matrix.mpi }} + CXX=${{ matrix.cpp_compiler }} \ + cmake -B ${{ github.workspace }}/build \ + -S ${{ github.workspace }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -Dpybind11_DIR=$( python -m pybind11 --cmakedir ) \ + -DMPI=${{ matrix.mpi }} - name: Build run: cmake --build ${{ github.workspace }}/build From 9725aadbfce6d138bacc41f01babf7ed25aac9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Tue, 4 Jun 2024 13:39:34 -0700 Subject: [PATCH 15/16] Fix --- .github/workflows/branching-tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 05c9f5b..8cdaae5 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -37,6 +37,9 @@ jobs: exclude: - os: macos-latest cpp_compiler: g++ + - os: ubuntu-latest + cpp_compiler: clang++ + mpi: ON steps: - name: Checkout repository From d4d65eb2cd6e2196a411fe5687b51a31c68bec3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvatore=20Mandr=C3=A0?= Date: Tue, 4 Jun 2024 13:43:56 -0700 Subject: [PATCH 16/16] Fix --- .github/workflows/branching-tests.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/branching-tests.yml b/.github/workflows/branching-tests.yml index 8cdaae5..9439055 100644 --- a/.github/workflows/branching-tests.yml +++ b/.github/workflows/branching-tests.yml @@ -37,9 +37,6 @@ jobs: exclude: - os: macos-latest cpp_compiler: g++ - - os: ubuntu-latest - cpp_compiler: clang++ - mpi: ON steps: - name: Checkout repository @@ -48,7 +45,7 @@ jobs: - name: Install dependencies if: matrix.os == 'ubuntu-latest' && matrix.mpi == 'ON' run: | - sudo apt install -y mpich + sudo apt install -y libopenmpi-dev - name: Install dependencies if: matrix.os == 'macos-latest' && matrix.mpi == 'ON'