[ET Trac] [Einstein Toolkit] #1618: Compile with adaptive MPI (based on Charm++)

Einstein Toolkit trac-noreply at einsteintoolkit.org
Thu Jun 5 10:46:29 CDT 2014


#1618: Compile with adaptive MPI (based on Charm++)
-------------------------------+--------------------------------------------
  Reporter:  jtao@…            |       Owner:                     
      Type:  enhancement       |      Status:  new                
  Priority:  major             |   Milestone:                     
 Component:  Cactus            |     Version:  development version
Resolution:                    |    Keywords:                     
-------------------------------+--------------------------------------------

Comment (by eschnett):

 No, we do not like this patch:

 AMPI_TLS needs to be named CCTK_TLS. Possibly, "TLS" should be
 "THREAD_LOCAL" instead, so that it is more similar to the modern C and C++
 standards.

 The construct
 {{{
 #ifdef AMPI
     CmiDisableTLS();
 #endif
 }}}
 should be wrapped into a single function, probably called
 "CCTK_DisableThreadLocal()" or so. Same for CmiEnableTLS. In particular,
 the #ifdefs should go into this function, so that using it requires only 1
 instead of 3 lines of code.

 The various comments containing the work "hack" should instead contain an
 explanation of what they do. There is no need to call it "hack".

 "AMPI" should become "CCTK_HAVE_AMPI", similar to other capabilities.

 The header file mpi.h should be accessed via <mpi.h>, not "mpi.h".

 There are some commented out lines of code that are introduced. These
 should not be introduced.

 The code in Boundary.c seems fishy. Are these static variables really
 correct, even if executed by multiple threads? Does the code need to be
 redesigned instead?

 shelob.ini should not change the default for Shelob.

 The newly introduced CCTK_* macros and functions need to be documented.



 But before we do any of this, it would be good to describe in an email to
 the developers' list which new features you propose to introduce to the
 flesh, and why, and what other packages (except AMPI) may want similar
 features, how this compares to C11 and C++11, etc.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1618#comment:5>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list