diff --git a/openfpm_data b/openfpm_data index 58f3b70f264af944182ff2182e168d68f196b7e8..0083a00b0bf82127a828c52ff3c1e922c18e19cf 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 c691b736d8db1239426c015772d920aea17ac723..765e5ac2e81c8d9d9edb736eea86760723ecf5ca 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 7e21087e62bfad5045053713f2756a39e1cbc56b..f44ac3df67fe6ff48e140fe16cd0577bf2d48fcb 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 cc0d922e905770d7e5ffb83718cce3d38f8c347f..3a1d6ac23f5153ab6e0e9adf587c326c7b6d4bf8 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 2b9ee3190647f2aebf573588fe0965c2dd3dd064..a12f6614993869df823b9da039eef482dfa1c1a0 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 42347be5f94723c7857fdad7d7af526defc2679b..f2d10992ef4632f737383e267849625fe1852dc3 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 dd11a7639e79bf61cf8fc4eda8cc85d19eb3dc58..b0f778e506d8e64b920cc8ac0bb23763873f912f 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 6ac740458cbbefa05dc21b0277a4134c7ce6d31b..ce1d0eb395088b7ea8f4a1b9aba54399fe736d60 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 63f0dea44c16db921be2696ce3159733bfc6b32e..b224547198bfbe691c9c387866002d0530503cec 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 5246e6292ec847f5887bc8fd71a1a51feb6f46b1..76c9d7f08721dd2ec574ef51b71338bb2a330b41 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); } }