[ET Trac] [Einstein Toolkit] #1601: test system ignores nprocs unless MPI is found

Einstein Toolkit trac-noreply at einsteintoolkit.org
Tue Apr 29 11:32:14 CDT 2014


#1601: test system ignores nprocs unless MPI is found
--------------------+-------------------------------------------------------
 Reporter:  rhaas   |       Owner:                     
     Type:  defect  |      Status:  new                
 Priority:  minor   |   Milestone:                     
Component:  Cactus  |     Version:  development version
 Keywords:          |  
--------------------+-------------------------------------------------------
 the test system script RunTestUtils.pl checks if the configuration is MPI
 enabled by looking into some build files (see function ParseExtras and its
 use of file $config/bindings/Configuration/Capabilities/cctki_MPI.h).

 However in line 549
 {{{
   if ($have_mpi)
   {
     $config_data->{'NPROCS'} =
       &defprompt('  Enter number of processors ($nprocs)', $nprocs);
   }
   else
   {
       print "No MPI available\n";
       if ($nprocs > 1)
       {
           die("Cannot run on $nprocs processes without an MPI
 implementation\n");
       }
   }
 }}}
 it only sets $config_data->{NPROCS} if MPI was found and leaves it
 undefined otherwise. This seems to confuse later parts of the script which
 try to decide which tests to run and one gets eg
 {{{
   Summary for configuration sim

     Time                     -> Mon Apr 28 21:35:38 PDT 2014
     Host                     -> nid27637
     Processes                ->
     User                     -> rhaas

     Total available tests    -> 287
     Unrunnable tests         -> 133
     Runnable tests           -> 154
     Total number of thorns   -> 209
     Number of tested thorns  -> 52
     Number of tests passed   -> 149
     Number passed only to
                set tolerance -> 95
     Number failed            -> 5
 }}}
 and
 {{{
   Tests missed for different number of processors required:

     checkpointML-EE in AHFinderDirect
       (EinsteinAnalysis/AHFinderDirect/test/checkpointML-EE.par)
       Requires 1 processors

     test_cc_o5 in CarpetProlongateTest
       (CarpetExtra/CarpetProlongateTest/test/test_cc_o5.par)
       Requires 2 processors
 }}}

 I suggest setting congif_data->{NPROCS} to 1 if no MPI is found.

 Note that this really only happens if one manages to compile without MPI
 (which implies no Carpet) or (as in my case) uses simfactory (with 1
 process) but has rsync filter rules that prevent it from copying all of
 configs/sim to the simulation base dir.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1601>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list