From cd4e24dd90e4e6b41dacdd3c7682662ea5abf900 Mon Sep 17 00:00:00 2001 From: Quentin Cozette Date: Mon, 30 Nov 2020 18:21:49 +0100 Subject: [PATCH] Add capability to compile petsc with MPI support - Add and fix some SOLVERLAB applicatives - Patch SALOME-MPI related to qt (UB20) --- applications/SALOME-9.6.0-MPI.pyconf | 9 ++ applications/SALOME-master-MPI.pyconf | 8 ++ applications/SOLVERLAB-9.6.0-MPI.pyconf | 115 +++++++++++++++++++++ applications/SOLVERLAB-9.6.0.pyconf | 114 ++++++++++++++++++++ applications/SOLVERLAB-master-int32.pyconf | 2 +- applications/SOLVERLAB-master.pyconf | 2 +- products/compil_scripts/petsc.sh | 14 ++- products/petsc.pyconf | 2 +- 8 files changed, 261 insertions(+), 5 deletions(-) create mode 100644 applications/SOLVERLAB-9.6.0-MPI.pyconf create mode 100644 applications/SOLVERLAB-9.6.0.pyconf mode change 100755 => 100644 products/compil_scripts/petsc.sh diff --git a/applications/SALOME-9.6.0-MPI.pyconf b/applications/SALOME-9.6.0-MPI.pyconf index 740d048..5733272 100644 --- a/applications/SALOME-9.6.0-MPI.pyconf +++ b/applications/SALOME-9.6.0-MPI.pyconf @@ -170,3 +170,12 @@ APPLICATION : single_install_dir : "no" } } + +__overwrite__ : +[ + { + # + __condition__ : "VARS.dist in ['UB20.04']" + 'PRODUCTS.qt.version_5_9_1.patches' : ['qt-5.9.1-UB20-FD32-socketcanbackend.patch'] + } +] diff --git a/applications/SALOME-master-MPI.pyconf b/applications/SALOME-master-MPI.pyconf index 61f5523..95e6cee 100644 --- a/applications/SALOME-master-MPI.pyconf +++ b/applications/SALOME-master-MPI.pyconf @@ -170,3 +170,11 @@ APPLICATION : single_install_dir : "yes" } } +__overwrite__ : +[ + { + # + __condition__ : "VARS.dist in ['UB20.04']" + 'PRODUCTS.qt.version_5_9_1.patches' : ['qt-5.9.1-UB20-FD32-socketcanbackend.patch'] + } +] diff --git a/applications/SOLVERLAB-9.6.0-MPI.pyconf b/applications/SOLVERLAB-9.6.0-MPI.pyconf new file mode 100644 index 0000000..7fb57b1 --- /dev/null +++ b/applications/SOLVERLAB-9.6.0-MPI.pyconf @@ -0,0 +1,115 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +APPLICATION : +{ + name : 'SOLVERLAB-9.6.0-MPI' + workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist + tag : 'V9_6_0' + dev : 'no' + verbose :'no' + debug : 'no' + base : 'no' + python3 : 'yes' + environ : + { + build : + { + CONFIGURATION_ROOT_DIR : $workdir + $VARS.sep + "SOURCES" + $VARS.sep + "CONFIGURATION" + RESTRICTED_ROOT_DIR : $workdir + $VARS.sep + "SOURCES" + $VARS.sep + "RESTRICTED" + SALOME_USE_64BIT_IDS : '1' + } + launch : {PYTHONIOENCODING:"UTF_8", SALOME_MODULES_ORDER:""} + SALOME_trace : "local" # local/file:.../with_logger + SALOME_MODULES : "" # specify the first modules to display in gui + } + products : + { + # PREREQUISITES : + alabaster : '0.7.6' + Babel : '2.7.0' + boost : '1.58.0' + certifi : '2018.8.24' + cgns : {tag : '3.3.1', hpc : 'yes'} + chardet : '3.0.4' + click : '6.7' + cmake : '3.12.1' + cycler : '0.10.0' + Cython : '0.25.2' + cppunit : '1.13.2' + dateutil : '2.4.2' + docutils : '0.12' + doxygen : '1.8.14' + freetype : '2.9.1' + graphviz : '2.38.0' + hdf5 : {tag : '1.10.3', hpc : 'yes'} + idna : '2.7' + imagesize : '1.0.0' + Jinja2 : '2.7.3' + kiwisolver : '1.0.1' + lapack : '3.8.0' + libxml2 : '2.9.1' + markupsafe : '0.23' + matplotlib : '2.2.2' + medfile : {tag : '4.1.0', hpc : 'yes', section : 'default_Autotools' } + openmpi : '2.1.6' + ParMetis : '3.1.1' + numpy : '1.15.1' + packaging : '17.1' + ParaView : {tag : '5.8.0', hpc : 'yes', section: 'version_5_8_0_MPI'} + petsc : '3.14.0' + Pygments : '2.0.2' + pyparsing : '2.0.3' + PyQt : '5.9' + Python : '3.6.5' + pytz : '2015.7' + qt : '5.9.1' + requests : '2.19.1' + scipy : '0.19.1' + scotch : '6.0.4' + setuptools : '38.4.0' + sip : '4.19.3' + six : '1.10.0' + snowballstemmer : '1.2.1' + Sphinx : '1.7.6' + sphinxcontrib_websupport : '1.1.0' + sphinxintl: '0.9.10' + swig : '3.0.12' + urllib3 : '1.23' + + # SALOME MODULES : + 'CONFIGURATION' + 'MEDCOUPLING' : {section : 'default_MPI', verbose : 'yes'} + 'SOLVERLAB' : {section : 'default_MPI', hpc: 'yes'} + } + profile : + { + launcher_name : "salome" + } + virtual_app: + { + name : "salome" + application_name : "APPLI" + } + test_base : + { + name : "SALOME" + tag : "SalomeV9" + } + properties : + { + mesa_launcher_in_package : "yes" + repo_dev : "yes" + pip : 'yes' + pip_install_dir : 'python' + single_install_dir : "no" + } +} +__overwrite__ : +[ + { + # + __condition__ : "VARS.dist in ['UB20.04']" + 'PRODUCTS.qt.version_5_9_1.patches' : ['qt-5.9.1-UB20-FD32-socketcanbackend.patch'] + } +] diff --git a/applications/SOLVERLAB-9.6.0.pyconf b/applications/SOLVERLAB-9.6.0.pyconf new file mode 100644 index 0000000..b6c8734 --- /dev/null +++ b/applications/SOLVERLAB-9.6.0.pyconf @@ -0,0 +1,114 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +APPLICATION : +{ + name : 'SOLVERLAB-9.6.0' + workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist + tag : 'V9_6_0' + dev : 'no' + verbose :'no' + debug : 'no' + base : 'no' + python3 : 'yes' + environ : + { + build : + { + CONFIGURATION_ROOT_DIR : $workdir + $VARS.sep + "SOURCES" + $VARS.sep + "CONFIGURATION" + RESTRICTED_ROOT_DIR : $workdir + $VARS.sep + "SOURCES" + $VARS.sep + "RESTRICTED" + SALOME_USE_64BIT_IDS : '1' + } + launch : {PYTHONIOENCODING:"UTF_8", SALOME_MODULES_ORDER:""} + SALOME_trace : "local" # local/file:.../with_logger + SALOME_MODULES : "" # specify the first modules to display in gui + } + products : + { + # PREREQUISITES : + alabaster : '0.7.6' + Babel : '2.7.0' + boost : '1.58.0' + certifi : '2018.8.24' + cgns : '3.3.1' + chardet : '3.0.4' + click : '6.7' + cmake : '3.12.1' + cycler : '0.10.0' + Cython : '0.25.2' + cppunit : '1.13.2' + dateutil : '2.4.2' + docutils : '0.12' + doxygen : '1.8.14' + freetype : '2.9.1' + graphviz : '2.38.0' + hdf5 : '1.10.3' + idna : '2.7' + imagesize : '1.0.0' + Jinja2 : '2.7.3' + kiwisolver : '1.0.1' + lapack : '3.8.0' + libxml2 : '2.9.1' + markupsafe : '0.23' + matplotlib : '2.2.2' + medfile : {section: 'default_Autotools', tag: '4.1.0'} + metis : '5.1.0' + numpy : '1.15.1' + packaging : '17.1' + ParaView : '5.8.0' + petsc : '3.14.0' + Pygments : '2.0.2' + pyparsing : '2.0.3' + PyQt : '5.9' + Python : '3.6.5' + pytz : '2015.7' + qt : '5.9.1' + requests : '2.19.1' + scipy : '0.19.1' + scotch : '6.0.4' + setuptools : '38.4.0' + sip : '4.19.3' + six : '1.10.0' + snowballstemmer : '1.2.1' + Sphinx : '1.7.6' + sphinxcontrib_websupport : '1.1.0' + sphinxintl: '0.9.10' + swig : '3.0.12' + urllib3 : '1.23' + + # SALOME MODULES : + 'CONFIGURATION' + 'MEDCOUPLING' : {section: 'default_int64'} # this will trigger other modules as int64 + 'SOLVERLAB' + } + profile : + { + launcher_name : "salome" + } + virtual_app: + { + name : "salome" + application_name : "APPLI" + } + test_base : + { + name : "SALOME" + tag : "SalomeV9" + } + properties : + { + mesa_launcher_in_package : "yes" + repo_dev : "yes" + pip : 'yes' + pip_install_dir : 'python' + single_install_dir : "no" + } +} +__overwrite__ : +[ + { + # + __condition__ : "VARS.dist in ['UB20.04']" + 'PRODUCTS.qt.version_5_9_1.patches' : ['qt-5.9.1-UB20-FD32-socketcanbackend.patch'] + } +] diff --git a/applications/SOLVERLAB-master-int32.pyconf b/applications/SOLVERLAB-master-int32.pyconf index 97906b9..f915c25 100644 --- a/applications/SOLVERLAB-master-int32.pyconf +++ b/applications/SOLVERLAB-master-int32.pyconf @@ -100,7 +100,7 @@ APPLICATION : repo_dev : "yes" pip : 'yes' pip_install_dir : 'python' - single_install_dir : "yes" + single_install_dir : "no" } } __overwrite__ : diff --git a/applications/SOLVERLAB-master.pyconf b/applications/SOLVERLAB-master.pyconf index e8b15b4..8bbdf0b 100644 --- a/applications/SOLVERLAB-master.pyconf +++ b/applications/SOLVERLAB-master.pyconf @@ -101,7 +101,7 @@ APPLICATION : repo_dev : "yes" pip : 'yes' pip_install_dir : 'python' - single_install_dir : "yes" + single_install_dir : "no" } } __overwrite__ : diff --git a/products/compil_scripts/petsc.sh b/products/compil_scripts/petsc.sh old mode 100755 new mode 100644 index bebcbc8..b1b37ec --- a/products/compil_scripts/petsc.sh +++ b/products/compil_scripts/petsc.sh @@ -8,9 +8,19 @@ echo "########################################################################## cp -r $SOURCE_DIR/* . +CONFIGURE_FLAGS='' +CONFIGURE_FLAGS=$CONFIGURE_FLAGS" --download-f2cblaslapack=ext/f2cblaslapack-3.4.2.q4" +CONFIGURE_FLAGS=$CONFIGURE_FLAGS" --download-slepc=ext/slepc-3.14.0" + echo -echo "*** configure" -./configure --prefix=$PRODUCT_INSTALL --with-mpi=0 --download-f2cblaslapack=ext/f2cblaslapack-3.4.2.q4 --download-slepc=ext/slepc-3.14.0 +if [ -n "${MPI_ROOT_DIR}" ] +then + echo "*** configure with mpi" + ./configure --prefix=${PRODUCT_INSTALL} --with-mpi-dir=${MPI_ROOT_DIR} ${CONFIGURE_FLAGS} +else + echo "*** configure without mpi" + ./configure --prefix=${PRODUCT_INSTALL} --with-mpi=0 ${CONFIGURE_FLAGS} +fi if [ $? -ne 0 ] then diff --git a/products/petsc.pyconf b/products/petsc.pyconf index a55aae0..bfe320d 100644 --- a/products/petsc.pyconf +++ b/products/petsc.pyconf @@ -9,8 +9,8 @@ default : env_script : $name + ".py" } depend : [] + opt_depend : ["openmpi"] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name install_dir : 'base' } - -- 2.39.2