Re: [mpich-discuss] Problem with RMA && MPI_Type_vector when stride value is relatively large (UPD)
Hi Victor, The bug is recently fixed: https://trac.mpich.org/projects/mpich/ticket/2189 You can try tonight's mpich nightly snapshot, which will be available from http://www.mpich.org/static/downloads/nightly/master/mpich/ Thanks, Xin ________________________________ From: Zhao, Xin Sent: Thursday, October 16, 2014 12:59 PM To: [email protected] Subject: RE: [mpich-discuss] Problem with RMA && MPI_Type_vector when stride value is relatively large (UPD) Hi Victor, I think it is due to a bug for MPI_PUT to handle large derived datatype and we will fix it as soon as possible. The code works with MPI_GET. You can track this bug at: https://trac.mpich.org/projects/mpich/ticket/2189 Thanks, Xin ________________________________ From: Victor Vysotskiy [[email protected]] Sent: Thursday, October 16, 2014 11:19 AM To: [email protected] Subject: Re: [mpich-discuss] Problem with RMA && MPI_Type_vector when stride value is relatively large (UPD) Hi, I am sorry that the test bed code has not been attached to the original message. Enclosed please find it. I have also checked the issue in MPICH v3.1.3. Unfortunately, the latest MPICH3 version behaves exactly the same as the MPICH2 v1.5, i.e. it also hangs at "30000 2000". With best regards, Victor. P.s. Below is given an update on MPICH3 version used: MPICH2 Version: 3.1.3 MPICH2 Release date: Wed Oct 8 09:37:19 CDT 2014 MPICH2 Device: ch3:nemesis MPICH2 configure: --prefix=/opt/mpi/mpich3-1.3/ --disable-weak-symbols MPICH2 CC: gcc -O2 MPICH2 CXX: c++ -O2 MPICH2 F77: gfortran -O2 MPICH2 FC: gfortran -O2 GCC version 4.7.3 ________________________________ From: Victor Vysotskiy Sent: Thursday, October 16, 2014 1:34 PM To: [email protected] Subject: Problem with RMA && MPI_Type_vector when stride value is relatively large Hi, I am straggling with a simple MPI program when a vector derived datatype is used as origin/remote datatypes in the MPI_Put RMA operation. The underlying idea is quite simple: a contiguous piece of memory is interpreted as a 2D array and only its certain slice is going to be updated via MPI_Put. To this end, I am using a MPI_Type_vector call. Everything works fine when the stride value <= 24000, regardless count and blocklength. However, if stride is greater than 24000 then program simply hangs. The source code is attached and you can simply verify the issue by compiling and running it with the following parameters: mpicc mpi_tvec_rma.c mpirun -np 2 ./a.out 10000 2000 Ok mpirun -np 2 ./a.out 20000 2000 Ok mpirun -np 2 ./a.out 30000 2000 Hangs Is there any internal/known limits to the size of MPI_TYPE_VECTOR datatypes? So, I am really puzzled what is happening here and any help will be greatly appreciated! With best regards, Victor. P.S. The attached code is perfectly runs with the OpenMPI v1.8.2. P.P.S. Below are given some details about hardware and software setups used: MPICH2 Version: 1.5 MPICH2 Release date: Mon Oct 8 14:00:48 CDT 2012 MPICH2 Device: ch3:nemesis MPICH2 configure: --prefix=/opt/mpi/mpich2/ --disable-weak-symbols MPICH2 CC: gcc -O2 MPICH2 CXX: c++ -O2 MPICH2 F77: gfortran -O2 MPICH2 FC: gfortran -O2 GCC version 4.7.3 _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Zhao, Xin