[mpich2-dev] Coverage annotations and mpid_rma.c

William Gropp wgropp at uiuc.edu
Mon Apr 28 12:30:40 CDT 2008


I was looking at some of the files that have substantial uncovered  
sections, and one such file is ch3/src/mpid_rma.c .  All of the  
uncovered code in that file is of the form

if (! initialized) { initialize(); }

This raises a number of questions:

1) Should there be a coverage annotation for this case (e.g.,  
BEGIN_OPTIONALINIT ... END_OPTIONALINIT)?

2) In almost all cases, these initializes cannot happen in correct  
code (e.g., some other routine must have been called first, such as  
MPI_Win_create).  Should these be marked as BEGIN ERROR HANDLING ..  
END ERROR HANDLING instead?  If so, should it be in the #if error  
handling defintions?

3) This entire file is used to provide for and make available a  
function table for the RMA functions (except MPID_Win_test).  This  
adds an extra function call to all RMA operations, including latency- 
sensitive operations such as lock or put.  Would it make sense to  
promote something like this interface into the top-level routines  
(e.g., MPI_Win_lock), perhaps with a macro that would basically say  
"either convert to a specific routine or convert to a reference to a  
standardized function table"?  That would then eliminate this file  
from ch3 entirely.

Bill

William Gropp
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mcs.anl.gov/mailman/private/mpich2-dev/attachments/20080428/2a38fbd7/attachment.htm>


More information about the mpich2-dev mailing list