From 6acb426bb742e2b731f10734445aab7dae32c6b9 Mon Sep 17 00:00:00 2001 From: Guytri KASTANE Date: Mon, 22 Apr 2024 13:29:12 +0200 Subject: [PATCH] spns #29973: use C3PO v2.3 --- applications/SALOME-master-native.pyconf | 2 +- applications/SALOME-master.pyconf | 2 +- products/C3PO.pyconf | 5 + products/compil_scripts/C3PO-v2.3.sh | 46 +++ products/patches/C3PO-v2.3-0001.patch | 403 +++++++++++++++++++++++ products/patches/C3PO-v2.3-0002.patch | 24 ++ 6 files changed, 480 insertions(+), 2 deletions(-) create mode 100755 products/compil_scripts/C3PO-v2.3.sh create mode 100644 products/patches/C3PO-v2.3-0001.patch create mode 100644 products/patches/C3PO-v2.3-0002.patch diff --git a/applications/SALOME-master-native.pyconf b/applications/SALOME-master-native.pyconf index ef5deb0..f16d5f4 100644 --- a/applications/SALOME-master-native.pyconf +++ b/applications/SALOME-master-native.pyconf @@ -40,7 +40,7 @@ APPLICATION : boost : 'native' CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH', base: 'no'} catalyst: '2.0' - C3PO: 'v2.0' + C3PO: 'v2.3' certifi : 'native' cgns : '4.2.0' chardet : 'native' diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index c84c7c9..884a1ae 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -41,7 +41,7 @@ APPLICATION : boost : '1.71.0' CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH', base: 'no'} catalyst: '2.0' - C3PO: 'v2.0' + C3PO: 'v2.3' certifi : '2018.8.24' cgns : '4.2.0' chardet : '3.0.4' diff --git a/products/C3PO.pyconf b/products/C3PO.pyconf index 4caf277..04f8bcc 100644 --- a/products/C3PO.pyconf +++ b/products/C3PO.pyconf @@ -30,6 +30,11 @@ default : patches: [] } +version_v2_3 : +{ + compil_script : "C3PO-v2.3.sh" + patches: ['C3PO-v2.3-0001.patch', 'C3PO-v2.3-0002.patch'] +} version_v2_0 : { patches: ['C3PO-v2.0.patch'] diff --git a/products/compil_scripts/C3PO-v2.3.sh b/products/compil_scripts/C3PO-v2.3.sh new file mode 100755 index 0000000..32f6a27 --- /dev/null +++ b/products/compil_scripts/C3PO-v2.3.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +echo "##########################################################################" +echo "C3PO $VERSION" +echo "##########################################################################" + +rm -rf "${BUILD_DIR}" +mkdir "${BUILD_DIR}" +cd "${BUILD_DIR}" || { echo "cd ${BUILD_DIR} fails"; exit 1; } +cp -r "${SOURCE_DIR}"/* . + +echo +echo "*** install with ${PYTHONBIN} -m pip install . --prefix=${PRODUCT_INSTALL} --cache-dir=${BUILD_DIR}/cache/pip" +if ! ${PYTHONBIN} -m pip install . --prefix="${PRODUCT_INSTALL}" --cache-dir="${BUILD_DIR}/cache/pip"; then + echo "pip install C3PO fails" + exit 2 +fi + +if [ "${SAT_Python_IS_NATIVE}" == "1" ]; then + PYTEST=$(which pytest) +fi + +if [ "${SAT_Python_IS_NATIVE}" != "1" ] || [ -z "${PYTEST}" ]; then + echo + echo "*** install with $PYTHONBIN -m pip install ${BUILD_DIR}/ext/pytest-8.1.1.tar.gz --cache-dir=${BUILD_DIR}/cache/pip" + if ! ${PYTHONBIN} -m pip install "${BUILD_DIR}/ext/pytest-8.1.1.tar.gz" --prefix="${PRODUCT_INSTALL}" --cache-dir="${BUILD_DIR}/cache/pip"; then + echo "pip install pytest fails" + echo 3 + fi + export PATH="${PRODUCT_INSTALL}/bin":$PATH +fi + +echo +echo "*** running C3PO non-regression tests" +export LD_LIBRARY_PATH="${MEDCOUPLING_ROOT_DIR}/lib:${LD_LIBRARY_PATH}" +export PYTHONPATH="${MEDCOUPLING_ROOT_DIR}/${PYTHON_LIBDIR}:${PYTHONPATH}" +export PYTHONPATH="${MEDCOUPLING_ROOT_DIR}/lib:${PYTHONPATH}" +export PYTHONPATH="${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}" + +if ! "${BUILD_DIR}"/run_tests.sh; then + echo "C3PO non-regression tests fails" + exit 3 +fi + +echo +echo "########## END" diff --git a/products/patches/C3PO-v2.3-0001.patch b/products/patches/C3PO-v2.3-0001.patch new file mode 100644 index 0000000..2061838 --- /dev/null +++ b/products/patches/C3PO-v2.3-0001.patch @@ -0,0 +1,403 @@ +diff -Naur C3PO/sources/c3po/mpi/MPICollaborativeDataManager.py C3PO_dev/sources/c3po/mpi/MPICollaborativeDataManager.py +--- C3PO/sources/c3po/mpi/MPICollaborativeDataManager.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPICollaborativeDataManager.py 2024-04-22 15:21:40.288851916 +0200 +@@ -11,7 +11,10 @@ + """ Contain the class MPICollaborativeDataManager. """ + from __future__ import print_function, division + import math +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + from c3po.CollaborativeDataManager import CollaborativeDataManager + from c3po.CollaborativeObject import CollaborativeObject +diff -Naur C3PO/sources/c3po/mpi/MPICoupler.py C3PO_dev/sources/c3po/mpi/MPICoupler.py +--- C3PO/sources/c3po/mpi/MPICoupler.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPICoupler.py 2024-04-22 15:22:50.834694268 +0200 +@@ -10,7 +10,10 @@ + + """ Contain the class MPICoupler. """ + from __future__ import print_function, division +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + from c3po.Coupler import Coupler + from c3po.mpi.MPIRemote import MPIRemote +diff -Naur C3PO/sources/c3po/mpi/MPIDomainDecompositionDataManager.py C3PO_dev/sources/c3po/mpi/MPIDomainDecompositionDataManager.py +--- C3PO/sources/c3po/mpi/MPIDomainDecompositionDataManager.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPIDomainDecompositionDataManager.py 2024-04-22 15:20:26.465016893 +0200 +@@ -11,7 +11,10 @@ + """ Contain the class MPIDomainDecompositionDataManager. """ + from __future__ import print_function, division + import math +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + from c3po.LocalDataManager import LocalDataManager + +diff -Naur C3PO/sources/c3po/mpi/mpiExchangeMethods/MPISharedRemapping.py C3PO_dev/sources/c3po/mpi/mpiExchangeMethods/MPISharedRemapping.py +--- C3PO/sources/c3po/mpi/mpiExchangeMethods/MPISharedRemapping.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/mpiExchangeMethods/MPISharedRemapping.py 2024-04-22 15:18:57.056216701 +0200 +@@ -10,7 +10,10 @@ + + """ Contain the class SharedRemapping. """ + from __future__ import print_function, division +-from mpi4py import MPI as mpi ++try: ++ from mpi4py import MPI as mpi ++except: ++ from openmpi.mpi4py import MPI as mpi + + import c3po.medcouplingCompat as mc + from c3po.mpi.mpiExchangeMethods.MPIExchangeMethod import MPIExchangeMethod +diff -Naur C3PO/sources/c3po/mpi/mpiExchangeMethods/MPIValueBcast.py C3PO_dev/sources/c3po/mpi/mpiExchangeMethods/MPIValueBcast.py +--- C3PO/sources/c3po/mpi/mpiExchangeMethods/MPIValueBcast.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/mpiExchangeMethods/MPIValueBcast.py 2024-04-22 15:19:43.425113077 +0200 +@@ -10,7 +10,10 @@ + + """ Contain the class SharedRemapping. """ + from __future__ import print_function, division +-from mpi4py import MPI as mpi ++try: ++ from mpi4py import MPI as mpi ++except: ++ from openmpi.mpi4py import MPI as mpi + + from c3po.mpi.mpiExchangeMethods.MPIExchangeMethod import MPIExchangeMethod + +diff -Naur C3PO/sources/c3po/mpi/MPIExchanger.py C3PO_dev/sources/c3po/mpi/MPIExchanger.py +--- C3PO/sources/c3po/mpi/MPIExchanger.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPIExchanger.py 2024-04-22 15:22:23.057756341 +0200 +@@ -10,7 +10,10 @@ + + """ Contain the classes MPIExchanger and MPIShortcutToData. MPIShortcutToData is for internal use only. """ + from __future__ import print_function, division +-from mpi4py import MPI as mpi ++try: ++ from mpi4py import MPI as mpi ++except: ++ from openmpi.mpi4py import MPI as mpi + + from c3po.LocalExchanger import LocalExchanger, ShortcutToField, ShortcutToValue + from c3po.CollaborativeExchanger import CollaborativeExchanger +diff -Naur C3PO/sources/c3po/mpi/MPIMasterDataManager.py C3PO_dev/sources/c3po/mpi/MPIMasterDataManager.py +--- C3PO/sources/c3po/mpi/MPIMasterDataManager.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPIMasterDataManager.py 2024-04-22 15:23:50.434561079 +0200 +@@ -11,7 +11,10 @@ + """ Contain the class MPIMasterDataManager. """ + from __future__ import print_function, division + import math +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + from c3po.mpi.MPITag import MPITag + +diff -Naur C3PO/sources/c3po/mpi/MPIMasterPhysicsDriver.py C3PO_dev/sources/c3po/mpi/MPIMasterPhysicsDriver.py +--- C3PO/sources/c3po/mpi/MPIMasterPhysicsDriver.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPIMasterPhysicsDriver.py 2024-04-22 15:18:14.976311404 +0200 +@@ -12,7 +12,10 @@ + from __future__ import print_function, division + + import sys +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + from c3po.PhysicsDriver import PhysicsDriver + from c3po.mpi.MPIRemoteProcess import MPIRemoteProcess +diff -Naur C3PO/sources/c3po/mpi/MPIRecipient.py C3PO_dev/sources/c3po/mpi/MPIRecipient.py +--- C3PO/sources/c3po/mpi/MPIRecipient.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPIRecipient.py 2024-04-22 15:24:26.066481454 +0200 +@@ -12,7 +12,10 @@ + These classes recieve data from a remote process. + """ + from __future__ import print_function, division +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + import numpy + + import c3po.medcouplingCompat as mc +diff -Naur C3PO/sources/c3po/mpi/MPISender.py C3PO_dev/sources/c3po/mpi/MPISender.py +--- C3PO/sources/c3po/mpi/MPISender.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPISender.py 2024-04-22 15:21:10.785917851 +0200 +@@ -14,7 +14,10 @@ + from __future__ import print_function, division + import os + +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + import c3po.medcouplingCompat as mc + from c3po.mpi.MPITag import MPITag +diff -Naur C3PO/sources/c3po/mpi/MPIWorker.py C3PO_dev/sources/c3po/mpi/MPIWorker.py +--- C3PO/sources/c3po/mpi/MPIWorker.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/mpi/MPIWorker.py 2024-04-22 15:23:19.730629693 +0200 +@@ -10,7 +10,10 @@ + + """ Contain the class MPIWorker. """ + from __future__ import print_function, division +-from mpi4py import MPI ++try: ++ from mpi4py import MPI ++except: ++ from openmpi.mpi4py import MPI + + from c3po.mpi.MPITag import MPITag + from c3po.mpi.MPIRemoteProcess import MPIRemoteProcess +diff -Naur C3PO/sources/c3po/physicsDrivers/ALCYONE2Driver.py C3PO_dev/sources/c3po/physicsDrivers/ALCYONE2Driver.py +--- C3PO/sources/c3po/physicsDrivers/ALCYONE2Driver.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/sources/c3po/physicsDrivers/ALCYONE2Driver.py 2024-04-22 15:25:35.683325884 +0200 +@@ -10,7 +10,10 @@ + + """ Contain the class ALCYONE2Driver. """ + from __future__ import print_function, division +-import mpi4py.MPI as mpi ++try: ++ import mpi4py.MPI as mpi ++except: ++ import openmpi.mpi4py.MPI as mpi + + import pleiades + import pleiadesMPI +diff -Naur C3PO/tests/listings/main_mpi_collaborative.py C3PO_dev/tests/listings/main_mpi_collaborative.py +--- C3PO/tests/listings/main_mpi_collaborative.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/listings/main_mpi_collaborative.py 2024-04-22 15:12:56.254056622 +0200 +@@ -7,7 +7,10 @@ + def main_mpi_collaborative(): + import sys + import os +- from mpi4py import MPI ++ try: ++ from mpi4py import MPI ++ except: ++ from openmpi.mpi4py import MPI + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/med_1D3D/main_medmpi_collaborative.py C3PO_dev/tests/med_1D3D/main_medmpi_collaborative.py +--- C3PO/tests/med_1D3D/main_medmpi_collaborative.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_1D3D/main_medmpi_collaborative.py 2024-04-22 15:10:42.764368751 +0200 +@@ -5,7 +5,10 @@ + + + def main_medmpi_collaborative(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + import os + import math + import glob +diff -Naur C3PO/tests/med_1D3D/main_medmpi_reloading.py C3PO_dev/tests/med_1D3D/main_medmpi_reloading.py +--- C3PO/tests/med_1D3D/main_medmpi_reloading.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_1D3D/main_medmpi_reloading.py 2024-04-22 15:11:20.317280946 +0200 +@@ -2,7 +2,10 @@ + from __future__ import print_function, division + import math + import pytest +-from mpi4py import MPI as mpi ++try: ++ from mpi4py import MPI as mpi ++except: ++ from openmpi.mpi4py import MPI as mpi + + import c3po.medcouplingCompat as mc + +diff -Naur C3PO/tests/med_1D3D/main_mpi_hybrid.py C3PO_dev/tests/med_1D3D/main_mpi_hybrid.py +--- C3PO/tests/med_1D3D/main_mpi_hybrid.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_1D3D/main_mpi_hybrid.py 2024-04-22 15:11:53.357203690 +0200 +@@ -5,7 +5,10 @@ + + + def main_mpi_hybrid(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + import os + import math + import glob +diff -Naur C3PO/tests/med_1D3D/main_workerThermo.py C3PO_dev/tests/med_1D3D/main_workerThermo.py +--- C3PO/tests/med_1D3D/main_workerThermo.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_1D3D/main_workerThermo.py 2024-04-22 15:12:20.878139339 +0200 +@@ -1,6 +1,9 @@ + # -*- coding: utf-8 -*- + from __future__ import print_function, division +-import mpi4py.MPI as mpi ++try: ++ import mpi4py.MPI as mpi ++except: ++ import openmpi.mpi4py.MPI as mpi + import os + import math + +diff -Naur C3PO/tests/med_Dussaix/main_master.py C3PO_dev/tests/med_Dussaix/main_master.py +--- C3PO/tests/med_Dussaix/main_master.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/main_master.py 2024-04-22 15:09:19.611564683 +0200 +@@ -5,7 +5,10 @@ + + + def main_master(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/med_Dussaix/main_medmpi_collaborative.py C3PO_dev/tests/med_Dussaix/main_medmpi_collaborative.py +--- C3PO/tests/med_Dussaix/main_medmpi_collaborative.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/main_medmpi_collaborative.py 2024-04-22 15:14:36.941821194 +0200 +@@ -5,7 +5,10 @@ + + + def main_medmpi_collaborative(): +- from mpi4py import MPI ++ try: ++ from mpi4py import MPI ++ except: ++ from openmpi.mpi4py import MPI + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/med_Dussaix/main_mpi_collaborative.py C3PO_dev/tests/med_Dussaix/main_mpi_collaborative.py +--- C3PO/tests/med_Dussaix/main_mpi_collaborative.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/main_mpi_collaborative.py 2024-04-22 15:06:37.271951247 +0200 +@@ -5,7 +5,10 @@ + + + def main_mpi_collaborative(exchangeWithFiles): +- from mpi4py import MPI ++ try: ++ from mpi4py import MPI ++ except: ++ from openmpi.mpi4py import MPI + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/med_Dussaix/main_mpi_masterWorkers.py C3PO_dev/tests/med_Dussaix/main_mpi_masterWorkers.py +--- C3PO/tests/med_Dussaix/main_mpi_masterWorkers.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/main_mpi_masterWorkers.py 2024-04-22 15:08:02.538749420 +0200 +@@ -3,7 +3,10 @@ + + + def main_mpi_masterWorkers(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + + comm = mpi.COMM_WORLD + rank = comm.Get_rank() +diff -Naur C3PO/tests/med_Dussaix/main_workerNeutro.py C3PO_dev/tests/med_Dussaix/main_workerNeutro.py +--- C3PO/tests/med_Dussaix/main_workerNeutro.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/main_workerNeutro.py 2024-04-22 15:07:18.426855152 +0200 +@@ -3,7 +3,10 @@ + + + def main_workerNeutro(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/med_Dussaix/main_workerThermo.py C3PO_dev/tests/med_Dussaix/main_workerThermo.py +--- C3PO/tests/med_Dussaix/main_workerThermo.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/main_workerThermo.py 2024-04-22 15:08:40.043659524 +0200 +@@ -3,7 +3,10 @@ + + + def main_workerThermo(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/med_Dussaix/MPINeutroDriver.py C3PO_dev/tests/med_Dussaix/MPINeutroDriver.py +--- C3PO/tests/med_Dussaix/MPINeutroDriver.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/med_Dussaix/MPINeutroDriver.py 2024-04-22 15:10:08.236449480 +0200 +@@ -2,7 +2,10 @@ + # This class is the "neutronic" part of the two meshes model. + from __future__ import print_function, division + from math import * +-from mpi4py import MPI as mpi ++try: ++ from mpi4py import MPI as mpi ++except: ++ from openmpi.mpi4py import MPI as mpi + + import c3po.medcouplingCompat as mc + +diff -Naur C3PO/tests/unitests/exchanger/main_mpi_valueBcast.py C3PO_dev/tests/unitests/exchanger/main_mpi_valueBcast.py +--- C3PO/tests/unitests/exchanger/main_mpi_valueBcast.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/unitests/exchanger/main_mpi_valueBcast.py 2024-04-22 15:13:29.694978430 +0200 +@@ -1,6 +1,9 @@ + # -*- coding: utf-8 -*- + from __future__ import print_function +-import mpi4py.MPI as mpi ++try: ++ import mpi4py.MPI as mpi ++except: ++ import openmpi.mpi4py.MPI as mpi + + import c3po + import c3po.mpi +diff -Naur C3PO/tests/unitests/masterWorkers/main_masterWorkers.py C3PO_dev/tests/unitests/masterWorkers/main_masterWorkers.py +--- C3PO/tests/unitests/masterWorkers/main_masterWorkers.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/unitests/masterWorkers/main_masterWorkers.py 2024-04-22 15:13:52.957924036 +0200 +@@ -85,7 +85,10 @@ + masterDriver.terminate() + + def main_masterWorkers(): +- import mpi4py.MPI as mpi ++ try: ++ import mpi4py.MPI as mpi ++ except: ++ import openmpi.mpi4py.MPI as mpi + import c3po + import c3po.mpi + from tests.unitests.masterWorkers.WorkerDriver import WorkerDriver +diff -Naur C3PO/tests/unitests/remapper_2D/main_medmpi.py C3PO_dev/tests/unitests/remapper_2D/main_medmpi.py +--- C3PO/tests/unitests/remapper_2D/main_medmpi.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/unitests/remapper_2D/main_medmpi.py 2024-04-22 15:01:51.191576461 +0200 +@@ -3,7 +3,10 @@ + from __future__ import print_function, division + import math + import pytest +-import mpi4py.MPI as mpi ++try: ++ import mpi4py.MPI as mpi ++except: ++ import openmpi.mpi4py.MPI as mpi + + import c3po + import c3po.mpi diff --git a/products/patches/C3PO-v2.3-0002.patch b/products/patches/C3PO-v2.3-0002.patch new file mode 100644 index 0000000..338fcbb --- /dev/null +++ b/products/patches/C3PO-v2.3-0002.patch @@ -0,0 +1,24 @@ +diff -Naur C3PO/tests/runMPITest.py C3PO_dev/tests/runMPITest.py +--- C3PO/tests/runMPITest.py 2024-01-17 08:51:14.000000000 +0100 ++++ C3PO_dev/tests/runMPITest.py 2024-04-22 17:30:17.162231326 +0200 +@@ -1,14 +1,18 @@ + # -*- coding: utf-8 -*- + from __future__ import print_function + ++import os + import subprocess + + + def runMPITest(nbProcesses, fileAbspath): + subprocessError = None + try: +- result = subprocess.run(args=['mpirun', '-n', str(nbProcesses), 'python', fileAbspath], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True, universal_newlines=True) +- print(result.stdout) ++ if nbProcesses <= os.cpu_count(): ++ result = subprocess.run(args=['mpirun', '-n', str(nbProcesses), 'python', fileAbspath], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True, universal_newlines=True) ++ print(result.stdout) ++ else: ++ pass + except subprocess.CalledProcessError as error: + print(error.stdout) + subprocessError = AssertionError(error.stderr) -- 2.39.2