]> SALOME platform Git repositories - tools/sat_salome.git/commitdiff
Salome HOME
spns #26662: SOLVERLAB: update PETSc + SLEPc and link against mpi4py used by MEDCOUPLING
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Thu, 18 Nov 2021 23:27:18 +0000 (00:27 +0100)
committerNabil Ghodbane <nabil.ghodbane@cea.fr>
Thu, 18 Nov 2021 23:27:18 +0000 (00:27 +0100)
14 files changed:
applications/SALOME-9.8.0-MPI.pyconf
applications/SALOME-9.8.0-int32.pyconf
applications/SALOME-9.8.0-native.pyconf
applications/SALOME-9.8.0-windows.pyconf
applications/SALOME-9.8.0.pyconf
applications/SALOME-master-int32.pyconf
applications/SALOME-master-native.pyconf
applications/SALOME-master-windows.pyconf
applications/SALOME-master.pyconf
products/compil_scripts/petsc-3.16.0.sh
products/env_scripts/mpi4py.py [new file with mode: 0644]
products/mpi4py.pyconf
products/patches/petsc-3.16-mpi4py.patch [new file with mode: 0644]
products/petsc.pyconf

index e578dbde7b016b8ae5272e96aeff51f068807a7c..7d04f74f8bd952fbc11a1e61fc7e6fddc8ff9c44 100644 (file)
@@ -31,7 +31,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.71.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : '2018.8.24'
         cgns : {tag : '4.1.1', hpc : 'yes'}
         chardet : '3.0.4'
@@ -85,7 +85,7 @@ APPLICATION :
         pandas : '0.25.2'
         patsy : '0.5.2'
         ParaView : {tag : '5.9.0', hpc : 'yes', section: 'version_5_9_0_MPI'}
-        petsc : {tag : '3.15.0', section: 'version_3_15_0'}
+        petsc : {tag : '3.16.0', section: 'version_3_16_0'}
         Pillow : '7.1.1'
         planegcs : '0.18-3cb6890'
         psutil : '5.7.2'
index 65f81a00b12414d3c86ad399dae59c15199c0e80..c4aafd30b29818c8b38666dd42507c86e50a44d2 100644 (file)
@@ -29,7 +29,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.71.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : '2018.8.24'
         cgns : '4.1.1'
         chardet : '3.0.4'
@@ -81,7 +81,7 @@ APPLICATION :
         pandas : '0.25.2'
         patsy : '0.5.2'
         ParaView : '5.9.0'
-        petsc : {tag : '3.15.0', section: 'version_3_15_0'}
+        petsc : {tag : '3.16.0', section: 'version_3_16_0'}
         Pillow : '7.1.1'
         planegcs : '0.18-3cb6890'
         psutil : '5.7.2'
index a859c416d7f6ef4c78836aa5fca5cc433245db41..015acd7bc27e04444d77648098b12871dd44ede7 100644 (file)
@@ -31,7 +31,7 @@ APPLICATION :
         alabaster : 'native'
         Babel : 'native'
         boost : 'native'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : 'native'
         # Standalone native cgns works well. Unfortunately, it's directly linked to native hdf which uses a higher version than us.
         # Rollback to embedded version to avoid versions mismatch between both of them (see imp_1538_cgns_export_import.py)
@@ -84,7 +84,7 @@ APPLICATION :
         packaging : 'native'
         pandas : 'native'
         ParaView : '5.9.0'
-        petsc : {tag : '3.15.0', section: 'version_3_15_0'}
+        petsc : {tag : '3.16.0', section: 'version_3_16_0'}
         Pillow : 'native'
         # 'native' not exists : freeCAD part but not delivered with it from package handler
         planegcs : '0.18-3cb6890'
index b7c7bd6fc9d00298fb2dcd9bcd3096bb0623537a..4c60a6846208de3b61e6dc0e17f69d9d9b7be9d9 100644 (file)
@@ -36,7 +36,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.67.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1_win'}
+        CAS : 'V7_5_3p1'
         certifi : '2019.6.16'
         cgns : '4.1.1'
         chardet : '3.0.4'
index 3034b226295a007c547fde9571c07ee26d8d1eb0..94dd8ba14956b8ba5f367fc5bdbdb37c2e2f2f65 100644 (file)
@@ -31,7 +31,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.71.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : '2018.8.24'
         cgns : '4.1.1'
         chardet : '3.0.4'
@@ -83,7 +83,7 @@ APPLICATION :
         pandas : '0.25.2'
         patsy : '0.5.2'
         ParaView : '5.9.0'
-        petsc : {tag : '3.15.0', section: 'version_3_15_0'}
+        petsc : {tag : '3.16.0', section: 'version_3_16_0'}
         Pillow : '7.1.1'
         planegcs : '0.18-3cb6890'
         psutil : '5.7.2'
index 01ca6a3f8444a2ec147f54975f5acfb2f2df05f5..afbaadc758773fd74bc3d6f7613a3b5847670ccc 100644 (file)
@@ -29,7 +29,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.71.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : '2018.8.24'
         cgns : '4.1.1'
         chardet : '3.0.4'
@@ -81,7 +81,7 @@ APPLICATION :
         pandas : '0.25.2'
         patsy : '0.5.2'
         ParaView : '5.9.0'
-        petsc : {tag : '3.15.0', section: 'version_3_15_0'}
+        petsc : {tag : '3.16.0', section: 'version_3_16_0'}
         Pillow : '7.1.1'
         planegcs : '0.18-3cb6890'
         psutil : '5.7.2'
index af4aa1cd5d1dfd11c9237575e6c0b077938772d0..6ccc5408f5527f5b885ca67652b1bae220b3a0af 100644 (file)
@@ -31,7 +31,7 @@ APPLICATION :
         alabaster : 'native'
         Babel : 'native'
         boost : 'native'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : 'native'
         # Standalone native cgns works well. Unfortunately, it's directly linked to native hdf which uses a higher version than us.
         # Rollback to embedded version to avoid versions mismatch between both of them (see imp_1538_cgns_export_import.py)
@@ -84,7 +84,7 @@ APPLICATION :
         packaging : 'native'
         pandas : 'native'
         ParaView : '5.9.0'
-        petsc : {tag : '3.15.0', section: 'version_3_15_0'}
+        petsc : {tag : '3.16.0', section: 'version_3_16_0'}
         Pillow : 'native'
         # 'native' not exists : freeCAD part but not delivered with it from package handler
         planegcs : '0.18-3cb6890'
index 2a78bc41d90da6d120870f79eb60836ba6a39625..f641cffbf461e5616115254a15aad2e5ad64ab04 100644 (file)
@@ -36,7 +36,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.67.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1_win'}
+        CAS : 'V7_5_3p1'
         certifi : '2019.6.16'
         cgns : '4.1.1'
         chardet : '3.0.4'
index ff51b9a5e5cb13569b8577c6f49cd5f0bedbe544..f3c65ea7a761337ee7418a0d9cc5a8df0c1419b2 100644 (file)
@@ -31,7 +31,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.71.0'
-        CAS : {tag: 'b08cd044f9', section: 'version_7_5_3p1'}
+        CAS : 'V7_5_3p1'
         certifi : '2018.8.24'
         cgns : '4.1.1'
         chardet : '3.0.4'
index a3f990c9a4a807fee66fcb39d0a7276a46fe856b..a8031acccddce87496e2e92c81036ea26d3a2ec0 100755 (executable)
@@ -13,7 +13,7 @@ CONFIGURE_FLAGS+=" --with-hdf5-dir=${HDF5_ROOT_DIR}"
 CONFIGURE_FLAGS+=" --download-metis=ext/metis-5.1.0-p10.tar.gz"
 CONFIGURE_FLAGS+=" --with-debugging=0" # by default Petsc is build in debug mode
 CONFIGURE_FLAGS+=" --with-petsc4py=yes"
-CONFIGURE_FLAGS+=" --download-slepc-configure-arguments=\" --with-slepc4py=yes\" "
+CONFIGURE_FLAGS+=" --download-slepc-configure-arguments=--with-slepc4py=yes "
 echo
 if [ -n "${MPI_ROOT_DIR}" ]
 then
@@ -22,6 +22,7 @@ then
   CONFIGURE_FLAGS+=" --download-parms=ext/parms-3.2-p5.tar.gz"
   CONFIGURE_FLAGS+=" --download-parmetis=ext/parmetis-4.0.3-p6.tar.gz"
   CONFIGURE_FLAGS+=" --download-ptscotch=ext/scotch_6.1.0.tar.gz"
+#  CONFIGURE_FLAGS+=" --download-mpi4py=ext/mpi4py-3.0.3.tar.gz"
   CONFIGURE_FLAGS+=" --with-mpi4py-dir=${MPI4PY_ROOT_DIR}"
   ./configure --prefix=${PRODUCT_INSTALL} --with-mpi-dir=${MPI_ROOT_DIR} ${CONFIGURE_FLAGS}
 else
diff --git a/products/env_scripts/mpi4py.py b/products/env_scripts/mpi4py.py
new file mode 100644 (file)
index 0000000..97003e7
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+import os.path, platform
+
+def set_env(env, prereq_dir, version):
+  if platform.system() == "Windows" :
+    pass
+  else :
+    versionPython = env.get('PYTHON_VERSION')
+    env.set("MPI4PY_ROOT_DIR",os.path.join(prereq_dir, 'lib', 'python' + versionPython, 'site-packages'))
+
+def set_nativ_env(env):
+    pass
+
index 4f90fd131af02c6043281742b608f58d4e27b2d9..3e9e9e4508750baf947e3817b92a487ad0e5e230 100644 (file)
@@ -13,7 +13,7 @@ default :
     }
     environ :
     {
-        MPI4PY_ROOT_DIR : $install_dir
+       env_script : $name + ".py"
     }
     depend : ["Python", 'openmpi']
     source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name
diff --git a/products/patches/petsc-3.16-mpi4py.patch b/products/patches/petsc-3.16-mpi4py.patch
new file mode 100644 (file)
index 0000000..a4aecaa
--- /dev/null
@@ -0,0 +1,21 @@
+diff -Naur petsc_ref/config/BuildSystem/config/packages/mpi4py.py  petsc/config/BuildSystem/config/packages/mpi4py.py
+--- petsc_ref/config/BuildSystem/config/packages/mpi4py.py     2021-11-18 23:17:43.058783475 +0100
++++ petsc/config/BuildSystem/config/packages/mpi4py.py 2021-11-18 23:58:42.759826515 +0100
+@@ -22,7 +22,7 @@
+     return
+   def Install(self):
+-    installLibPath = os.path.join(self.installDir, 'lib')
++    installLibPath = os.path.join(self.installDir)
+     if self.setCompilers.isDarwin(self.log):
+       apple = 'You may need to\n (csh/tcsh) setenv MACOSX_DEPLOYMENT_TARGET 10.X\n (sh/bash) MACOSX_DEPLOYMENT_TARGET=10.X; export MACOSX_DEPLOYMENT_TARGET\nbefore running make on PETSc'
+     else:
+@@ -73,7 +73,7 @@
+         raise RuntimeError('mpi4py unreconginzed mode of building mpi4py! Suggest using --download-mpi4py!')
+     if self.directory:
+-      installLibPath = os.path.join(self.directory, 'lib')
++      installLibPath = os.path.join(self.directory)
+       if not os.path.isfile(os.path.join(installLibPath,'mpi4py','__init__.py')):
+         raise RuntimeError('mpi4py not found at %s' % installLibPath)
+       self.addMakeMacro('PETSC_MPI4PY_PYTHONPATH',installLibPath)
index 5572919bd0b62e9db3438437184e5f5609b5f5f8..26e9c96e65b6b012f7dbb91ac4d7da7fdd463ed9 100644 (file)
@@ -24,6 +24,7 @@ version_3_16_0 :
 {
     compil_script :  "petsc-3.16.0.sh"
     depend : ["hdf5", "Python"]
+    patches: ['petsc-3.16-mpi4py.patch']
 }
 
 version_3_15_0 :