[Trilinos-Users] Attempting to use an MPI routine after finalizing MPICH

Tim Stitt stitt at cscs.ch
Thu Jan 14 08:00:43 MST 2010


Hi Mike,

Thanks for your suggestion.

I ran the user's code through the debugger (with a debug build of  
Trilinos) and it seems that the problem occurs in the file  
"ml_MultiLevelPreconditioner.cpp" in the ML package.

<snip>
// Creates new list with level-specific smoother, level-specific
   // aggregation, and coarse options now in sublists.
   ParameterList newList;
   ML_CreateSublists(List_,newList,NumLevels_);
   List_ = newList;
   // Validate Parameter List
   int depth=List_.get("ML validate depth",5);
   if(List_.get("ML validate parameter list",true)
      && !ValidateMLPParameters(List_,depth))
   {
     if (Comm_->MyPID() == 0)
       cout<<"ERROR: ML's Teuchos::ParameterList contains incorrect  
parameter!\n"<<endl;
       cout << endl << "** IMPORTANT **" << endl << endl;
       cout << "ML copies your parameter list and modifies copy:" <<  
endl
            << "   1) Level-specific smoother and aggregation options  
are placed in sublists" << endl
            << "      called \"smoother: list (level XX)\" and  
\"aggregation: list (level XX)\"," << endl
            << "      respectively." << endl
            << "   2) Coarse options are placed in a sublist called  
\"coarse: list\"." << endl
            << "   3) In \"coarse: list\", any option that started  
with \"coarse:\" now starts" << endl
            << "      with \"smoother:\"."
            << endl << endl;
#   ifdef HAVE_MPI
     MPI_Finalize();
#   endif
     exit(EXIT_FAILURE);
   }
<snip>

The user's code is dropping into the MPI_Finalize() routine due to  
incorrectly specified parameters. I am assuming that the allowable  
parameters may have probably changed between v7.0.8 (which works) and  
v10.0 which is giving problems.  I've asked the user to check into this.

Unfortunately, the "cout" statements never produced any output in our  
job log files, which made this problem harder to diagnose than it  
really was. Do you know why this would be the case?

Thanks again for your help, but hopefully now the user can update  
their argument list and all will be well.

Cheers,

Tim.



More information about the Trilinos-Users mailing list