MPI_Channel::recvVector() - incorrect number of entries for Vector received

This forum is for issues related to parallel processing
and OpenSees using the new interpreters OpenSeesSP and OpenSeesMP

Moderator: selimgunay

Post Reply
cmckee
Posts: 5
Joined: Mon Sep 05, 2016 1:41 pm
Location: Texas A&M

MPI_Channel::recvVector() - incorrect number of entries for Vector received

Post by cmckee » Mon Apr 12, 2021 12:59 pm

Howdy,

When using the Mumps system, I am receiving the following error:

Code: Select all

MPI_Channel::recvVector() - incorrect number of entries for Vector received: -32766 expected: 24
The call stack leading up to this failure is:

Code: Select all

	OpenSeesSP.exe!MPI_Channel::recvVector(int dbTag, int commitTag, Vector & theVector, ChannelAddress * theAddress) Line 340	C++
 	OpenSeesSP.exe!MumpsParallelSOE::solve() Line 353	C++
 	OpenSeesSP.exe!NewtonRaphson::solveCurrentStep() Line 187	C++
 	OpenSeesSP.exe!DirectIntegrationAnalysis::analyzeStep(double dT) Line 215	C++
 	OpenSeesSP.exe!DirectIntegrationAnalysis::analyze(int numSteps, double dT) Line 173	C++
 	OpenSeesSP.exe!analyzeModel(void * clientData, Tcl_Interp * interp, int argc, const char * * argv) Line 1902	C++
 	[External Code]	
 	OpenSeesSP.exe!OPS_SourceCmd(void * dummy, Tcl_Interp * interp, int objc, Tcl_Obj * const * objv) Line 1179	C++
 	[External Code]	
 	OpenSeesSP.exe!OPS_SourceCmd(void * dummy, Tcl_Interp * interp, int objc, Tcl_Obj * const * objv) Line 1179	C++
 	[External Code]	
 	OpenSeesSP.exe!g3TclMain(int argc, char * * argv, int(*)(Tcl_Interp *) appInitProc, int rank, int np) Line 443	C++
 	OpenSeesSP.exe!main(int argc, char * * argv) Line 275	C++
Error occurs when the MumpsParallelSOE is receiving the *vectX from each channel. A quick try with SuperLU shows the same issue.

Error occurs using both IMPI and OpenMpi.

Is there anything obvious that may be the issue here? I can provide more details if necessary.

Thank you

mhscott
Posts: 583
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Post by mhscott » Mon Apr 12, 2021 1:25 pm

Can you spit out the size and values in vectX before the call the recvVector in MumpsParallelSOE line 353ish?

cmckee
Posts: 5
Joined: Mon Sep 05, 2016 1:41 pm
Location: Texas A&M

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Post by cmckee » Mon Apr 12, 2021 1:57 pm

Code: Select all

vectX.size() - 24
vectX[0] = -4.43559e-06 -0.000700246 1.16597e-06 -2.14741e-06 -0.00130121 9.16138e-07 2.14741e-06 -0.00130121 -9.16138e-07 4.43559e-06 -0.000700246 -1.16597e-06 3.62509e-06 -0.00051289 3.78252e-07 1.75734e-06 -0.000940812 3.64984e-07 -1.75734e-06 -0.000940812 -3.64984e-07 -3.62509e-06 -0.00051289 -3.78252e-07
vectX[1] =
vectX[2] =
vectX[3] =
vectX[4] = 0 0 0
vectX[5] =
vectX[6] =
vectX[7] =
vectX[8] = 0.000155822 -3.1354 1.16593e-06 0.000147964 -6.34034 9.16101e-07 -0.000147964 -6.34034 -9.16101e-07 -0.000155822 -3.1354 -1.16593e-06 0.15083 -3.81564 2.17735 -0.1511 -6.99583 1.58268 0.000127963 -7.01149 -3.6497e-07 0.000141536 -3.79998 -3.78237e-07
vectX[9] =
vectX[10] =
vectX[11] =
vectX[12] = -0.00145004 -0.205156 -0.000151301
vectX[13] =
vectX[14] =
vectX[15] =
vectX[16] = 0 0 0
vectX[17] =
vectX[18] =
vectX[19] =
vectX[20] = 4.43559e-06 -0.000700246 -1.16597e-06
vectX[21] =
vectX[22] =
vectX[23] =

cmckee
Posts: 5
Joined: Mon Sep 05, 2016 1:41 pm
Location: Texas A&M

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Post by cmckee » Mon Apr 12, 2021 3:05 pm

I believe it is related to the NormUnbalance convergence test. If I change to NormDispIncr, the issue goes away.

Post Reply