From 52f0f1c5028324a0ebea604a1e35bd6a80504e98 Mon Sep 17 00:00:00 2001 From: Pietro Incardona <incardon@mpi-cbg.de> Date: Mon, 3 Feb 2020 23:29:03 +0100 Subject: [PATCH] Latest modules --- openfpm_data | 2 +- script/download_MPI.sh | 8 +++---- script/install_HDF5.sh | 8 +++---- script/install_MPI.sh | 4 ++-- script/install_PETSC.sh | 22 +++++++++---------- script/pre_req | 27 ------------------------ script/remove_old | 12 +++++------ src/Amr/grid_dist_amr.hpp | 4 ++-- src/Amr/tests/amr_base_gpu_unit_tests.cu | 3 ++- src/Grid/grid_dist_id.hpp | 7 +++++- 10 files changed, 38 insertions(+), 59 deletions(-) diff --git a/openfpm_data b/openfpm_data index 58f3b70f2..0083a00b0 160000 --- a/openfpm_data +++ b/openfpm_data @@ -1 +1 @@ -Subproject commit 58f3b70f264af944182ff2182e168d68f196b7e8 +Subproject commit 0083a00b0bf82127a828c52ff3c1e922c18e19cf diff --git a/script/download_MPI.sh b/script/download_MPI.sh index c691b736d..765e5ac2e 100755 --- a/script/download_MPI.sh +++ b/script/download_MPI.sh @@ -2,8 +2,8 @@ # check if the directory $1/MPI exist -rm -rf openmpi-3.1.3 -rm openmpi-3.1.3.tar.gz -wget http://ppmcore.mpi-cbg.de/upload/openmpi-3.1.3.tar.gz -tar -xvf openmpi-3.1.3.tar.gz +rm -rf openmpi-4.0.2 +rm openmpi-4.0.2.tar.gz +wget http://ppmcore.mpi-cbg.de/upload/openmpi-4.0.2.tar.gz +tar -xvf openmpi-4.0.2.tar.gz diff --git a/script/install_HDF5.sh b/script/install_HDF5.sh index 7e21087e6..f44ac3df6 100755 --- a/script/install_HDF5.sh +++ b/script/install_HDF5.sh @@ -37,9 +37,9 @@ else fi ### 1.8.19 does not compile on CYGWIN -wget http://ppmcore.mpi-cbg.de/upload/hdf5-1.8.19.tar.gz -tar -xf hdf5-1.8.19.tar.gz -cd hdf5-1.8.19 +wget http://ppmcore.mpi-cbg.de/upload/hdf5-1.10.6.tar.gz +tar -xf hdf5-1.10.6.tar.gz +cd hdf5-1.10.6 if [ x"$platform" != x"cygwin" ]; then CC=mpicc ./configure --with-zlib=$1/ZLIB --enable-parallel --prefix=$1/HDF5 @@ -54,4 +54,4 @@ if [ $? -ne 0 ]; then echo "HDF5 error installing" exit 0 fi -echo 1 > $1/HDF5/version +echo 2 > $1/HDF5/version diff --git a/script/install_MPI.sh b/script/install_MPI.sh index cc0d922e9..3a1d6ac23 100755 --- a/script/install_MPI.sh +++ b/script/install_MPI.sh @@ -8,7 +8,7 @@ if [ -d "$1/MPI" ]; then fi ./script/download_MPI.sh -cd openmpi-3.1.3 +cd openmpi-4.0.2 if [ x"$3" == x"1" ]; then echo "Installing MPI with GPU support" @@ -25,5 +25,5 @@ make -j $2 make install # Mark the installation -echo 4 > $1/MPI/version +echo 5 > $1/MPI/version diff --git a/script/install_PETSC.sh b/script/install_PETSC.sh index 2b9ee3190..a12f66149 100755 --- a/script/install_PETSC.sh +++ b/script/install_PETSC.sh @@ -19,7 +19,7 @@ source script/solve_python discover_os function test_configure_options() { - cd petsc-3.10.2 + cd petsc-3.12.3 $python_command ./configure COPTFLAGS="-O3 -g" CXXOPTFLAGS="-O3 -g" FOPTFLAGS="-O3 -g" $ldflags_petsc --with-cxx-dialect=C++11 $petsc_openmp --with-mpi-dir=$mpi_dir $configure_options2 --with-debugging=0 error=$? cd .. @@ -49,14 +49,14 @@ fi #### Download and uncompress petsc -rm petsc-lite-3.10.2.tar.gz -rm -rf petsc-3.10.2 -wget http://ppmcore.mpi-cbg.de/upload/petsc-lite-3.10.2.tar.gz +rm petsc-lite-3.12.3.tar.gz +rm -rf petsc-3.12.3 +wget http://ppmcore.mpi-cbg.de/upload/petsc-lite-3.12.3.tar.gz if [ $? -ne 0 ]; then echo -e "\033[91;5;1m FAILED! Installation requires an Internet connection \033[0m" exit 1 fi -tar -xf petsc-lite-3.10.2.tar.gz +tar -xf petsc-lite-3.12.3.tar.gz #### @@ -114,15 +114,15 @@ configure_options="$configure_options --download-scalapack --download-mumps" configure_options="$configure_options --download-superlu_dist" configure_options="$configure_options --download-hypre" -rm petsc-lite-3.10.2.tar.gz -rm -rf petsc-3.10.2 -wget http://ppmcore.mpi-cbg.de/upload/petsc-lite-3.10.2.tar.gz +rm petsc-lite-3.12.3.tar.gz +rm -rf petsc-3.12.3 +wget http://ppmcore.mpi-cbg.de/upload/petsc-lite-3.12.3.tar.gz if [ $? -ne 0 ]; then echo -e "\033[91;5;1m FAILED! Installation requires an Internet connection \033[0m" exit 1 fi -tar -xf petsc-lite-3.10.2.tar.gz -cd petsc-3.10.2 +tar -xf petsc-lite-3.12.3.tar.gz +cd petsc-3.12.3 if [ x"$CXX" != x"icpc" ]; then @@ -158,7 +158,7 @@ if [ ! "$(ls -A $1/PETSC)" ]; then rm -rf $1/PETSC else #Mark the installation - echo 2 > $1/PETSC/version + echo 3 > $1/PETSC/version exit 0 fi diff --git a/script/pre_req b/script/pre_req index 42347be5f..f2d10992e 100755 --- a/script/pre_req +++ b/script/pre_req @@ -308,33 +308,6 @@ if [ x"$MPI_valid" == x"yes" ]; then fi fi - #### Detect a potential dangerous situation ### - #### In which g++ is different from mpic++ ### - - output_mpi=$(mpic++ --version) - output_gcc=$($dgc_compiler --version) - - if [ x"$output_mpi" != x"$output_gcc" ]; then - echo -e "\033[91;5;1m MPI dangerous installation \033[0m" - echo -e "Performing a \033[1m \"mpic++ --version\" \033[0m, we detect that your installed mpic++ does not wrap the standard command g++" - echo "In general we strongly disencourage to override the default compiler(s), this configuration not only is not supported by OpenFPM, but can lead potentialy to several problems at system level. For the following reasons" - echo -e "\033[1m 1) All system wide dependencies become potentially useless \033[0m" - echo -e "\033[1m 2) A package maneger (apt-get or brew) installing a packege from source can potentialy generate incompatible system packages \033[0m" - echo -e "\033[1m 3) It is not easy to discover which compiler has been used to compile one dependency \033[0m" - echo -e "For just the time of the installation the installer will realign mpic++ to g++, unfortunately this could be not enough to ensure that all the dependencies has been compiled with the same compiler" - echo -e "\033[1m Installation will resume in 20 seconds \033[0m" - export OMPI_CXX=g++ - sleep 20 - fi - - output_mpi=$(mpic++ --version) - output_gcc=$($dgc_compiler --version) - - if [ x"$output_mpi" != x"$output_gcc" ]; then - echo -e "\033[91;5;1m MPI dangerous installation \033[0m" - echo -e "\033[1m The realign operation failed the installation will continue \033[0m" - sleep 10 - fi fi } diff --git a/script/remove_old b/script/remove_old index dd11a7639..b0f778e50 100755 --- a/script/remove_old +++ b/script/remove_old @@ -76,10 +76,10 @@ function remove_old() ## Check the installed version of the dependencies if [ -d $1/BOOST ]; then - is_update=$(cat $1/BOOST/include/boost/version.hpp | grep "#define BOOST_VERSION 106800") + is_update=$(cat $1/BOOST/include/boost/version.hpp | grep "#define BOOST_VERSION 107200") if [ x"$is_update" == x"" ]; then echo -e "\033[1;34;5m --------------------------------------------------------------------------- \033[0m" - echo -e "\033[1;34;5m Boost has been updated to 1.68, the component will be updated automatically \033[0m" + echo -e "\033[1;34;5m Boost has been updated to 1.72, the component will be updated automatically \033[0m" echo -e "\033[1;34;5m --------------------------------------------------------------------------- \033[0m" sleep 5 rm -rf $1/BOOST/include @@ -143,9 +143,9 @@ function remove_old() if [ -d $1/PETSC ]; then version=$(cat $1/PETSC/version) - if [ x"$version" != x"2" ]; then + if [ x"$version" != x"3" ]; then echo -e "\033[1;34;5m -------------------------------------------------------------------------------------- \033[0m" - echo -e "\033[1;34;5m PETSC has been updated to version 3.10.2, the component will be updated automatically \033[0m" + echo -e "\033[1;34;5m PETSC has been updated to version 3.12.3, the component will be updated automatically \033[0m" echo -e "\033[1;34;5m -------------------------------------------------------------------------------------- \033[0m" sleep 5 rm -rf $1/PETSC @@ -158,7 +158,7 @@ function remove_old() if [ -d $1/HDF5 ]; then version=$(cat $1/HDF5/version) - if [ x"$version" != x"1" ]; then + if [ x"$version" != x"2" ]; then echo -e "\033[1;34;5m -------------------------------------------------------------------------------------- \033[0m" echo -e "\033[1;34;5m HDF5 has been updated to version 1.10.6, the component will be updated automatically \033[0m" echo -e "\033[1;34;5m -------------------------------------------------------------------------------------- \033[0m" @@ -169,7 +169,7 @@ function remove_old() if [ -d $1/MPI ]; then version=$(cat $1/MPI/version) - if [ x"$version" != x"4" ]; then + if [ x"$version" != x"5" ]; then echo -e "\033[1;34;5m -------------------------------------------------------------------------------------- \033[0m" echo -e "\033[1;34;5m MPI has been updated to version 4.0.2, the component will be updated automatically \033[0m" echo -e "\033[1;34;5m -------------------------------------------------------------------------------------- \033[0m" diff --git a/src/Amr/grid_dist_amr.hpp b/src/Amr/grid_dist_amr.hpp index 6ac740458..ce1d0eb39 100644 --- a/src/Amr/grid_dist_amr.hpp +++ b/src/Amr/grid_dist_amr.hpp @@ -758,11 +758,11 @@ public: * \tparam prp... Properties to synchronize * */ - template<int... prp> void ghost_get() + template<int... prp> void ghost_get(size_t opt = 0) { for (size_t i = 0 ; i < gd_array.size() ; i++) { - gd_array.get(i).template ghost_get<prp...>(); + gd_array.get(i).template ghost_get<prp...>(opt); } } diff --git a/src/Amr/tests/amr_base_gpu_unit_tests.cu b/src/Amr/tests/amr_base_gpu_unit_tests.cu index 63f0dea44..b22454719 100644 --- a/src/Amr/tests/amr_base_gpu_unit_tests.cu +++ b/src/Amr/tests/amr_base_gpu_unit_tests.cu @@ -376,8 +376,9 @@ BOOST_AUTO_TEST_CASE( grid_dist_id_amr_gpu_link_test_more_dense ) } amr_g.hostToDevice<0>(); - amr_g.ghost_get<0>(); + amr_g.ghost_get<0>(RUN_ON_DEVICE); amr_g.tagBoundaries<NNStar<2>>(); + amr_g.ghost_get<0>(RUN_ON_DEVICE); amr_g.construct_level_connections(); amr_g.deviceToHost<0>(); amr_g.write("TESTOUT"); diff --git a/src/Grid/grid_dist_id.hpp b/src/Grid/grid_dist_id.hpp index 5246e6292..76c9d7f08 100644 --- a/src/Grid/grid_dist_id.hpp +++ b/src/Grid/grid_dist_id.hpp @@ -2688,7 +2688,12 @@ public: { for (int i = 0 ; i < loc_grid.size() ; i++) { - loc_grid.get(i).template tagBoundaries<stencil_type>(v_cl.getmgpuContext()); + // we limit to the domain subset for tagging + + Box_check<dim,unsigned int> chk(gdb_ext.get(i).Dbox); + + + loc_grid.get(i).template tagBoundaries<stencil_type>(v_cl.getmgpuContext(),chk); } } -- GitLab