diff --git a/configure b/configure index 3b8dba654f09c784c2af059f0dbbeaa8bb1b0748..b715bb21b23cc803f15eadc1aabe3c2936f8be9e 100755 --- a/configure +++ b/configure @@ -117,6 +117,7 @@ with_lapack with_suitesparse with_petsc with_eigen +with_mpi enable_gpu ' @@ -483,6 +484,9 @@ do mpivendor) conf_options="$conf_options -DMPI_VENDOR=$ac_optarg" ;; + mpi) + conf_options="$conf_options -DMPI_C_COMPILER=$ac_optarg/bin/mpicc -DMPI_CXX_COMPILER=$ac_optarg/bin/mpic++ -DMPI_Fortran_COMPILER=mpif90" + ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac diff --git a/example/Grid/3_gray_scott_3d_vectorization/main.cpp b/example/Grid/3_gray_scott_3d_vectorization/main.cpp index ea40422e26340ad30c0216c54642df7829c16414..be485b82cb5161dd6ab0e4ce63b18ad843a76b14 100644 --- a/example/Grid/3_gray_scott_3d_vectorization/main.cpp +++ b/example/Grid/3_gray_scott_3d_vectorization/main.cpp @@ -233,7 +233,7 @@ int main(int argc, char* argv[]) Box<3,double> domain({0.0,0.0},{2.5,2.5,2.5}); // grid size - size_t sz[3] = {256,256,256}; + size_t sz[3] = {128,128,128}; // Define periodicity of the grid periodicity<3> bc = {PERIODIC,PERIODIC,PERIODIC}; @@ -242,7 +242,7 @@ int main(int argc, char* argv[]) Ghost<3,long int> g(1); // deltaT - double deltaT = 1; + double deltaT = 1.0; // Diffusion constant for specie U double du = 2*1e-5; @@ -310,7 +310,7 @@ int main(int argc, char* argv[]) for (size_t i = 0; i < timeSteps; ++i) { - if (i % 300 == 0) + if (i % 1 == 0) std::cout << "STEP: " << i << std::endl; /*! @@ -375,12 +375,12 @@ int main(int argc, char* argv[]) //! \cond [save hdf5] \endcond // Every 2000 time step we output the configuration on hdf5 - if (i % 2000 == 0) +/* if (i % 2000 == 0) { OldU.save("output_u_" + std::to_string(count)); OldV.save("output_v_" + std::to_string(count)); count++; - } + }*/ //! \cond [save hdf5] \endcond } diff --git a/example/Vector/1_gpu_first_step/main.cu b/example/Vector/1_gpu_first_step/main.cu index cedab9c868ad1b728563444aaa212e4001fda76a..0bb965e8022f7bed4fedc5985b2a84603af0e8dd 100644 --- a/example/Vector/1_gpu_first_step/main.cu +++ b/example/Vector/1_gpu_first_step/main.cu @@ -112,7 +112,7 @@ #define OPENMPI //! \cond [using_openmpi] \endcond -//#define SCAN_WITH_CUB <------ MODERNGPU is broken on RTX use CUB library for scan +#define SCAN_WITH_CUB <------ MODERNGPU is broken on RTX use CUB library for scan //#define EXTERNAL_SET_GPU <----- In case you want to distribute the GPUs differently from the default #include "Vector/vector_dist.hpp" diff --git a/install b/install index f84aaf6c6d9845833483a18995cded02758558fc..cc3dd2687cf74cd68a24f7ec1421916093e1c3e5 100755 --- a/install +++ b/install @@ -291,6 +291,10 @@ fi call_test_working_mpi_options=0 set_mpi $i_dir $ncore $gpu_support $CC $CXX $F77 $FC +if [ -d "$i_dir/MPI" ]; then + configure_options=" $configure_options --with-mpi=$i_dir/MPI " +fi + ### METIS and ParMETIS must be installed independently from sistem wide installation ./script/install_Parmetis.sh $i_dir $ncore