Changes between Version 5 and Version 6 of CombiningOperations

Show
Ignore:
Timestamp:
10/30/09 15:45:27 (3 weeks ago)
Author:
robl (IP: 130.202.135.164)
Comment:

feedback from wei-keng: c and fortran apis. no fortran bindings just yet for explicit.

Legend:

Unmodified
Added
Removed
Modified
  • CombiningOperations

    v5 v6  
    2424 
    2525'''Explicit Method:''' The caller explicitly accesses multiple variables at once. New routines added to the library (e.g. ncmpi_put_mvara_all)  
    26 take a list of variables to access 
    27  
    28 '''Implicit Method'''  The library accesses multiple variables implicitly. Several variable accesses can be "scheduled" with the 
    29 nonblocking routines.   Then, when the application waits for completion of 
    30 those accesses, the library will service them all in a single call. 
     26take a list of variables to access.   
    3127 
    3228The function calls for the explicit method look like this: 
     
    4440}}} 
    4541 
     42Do note that we do not have Fortran bindings for these new routines in 
     43parallel-netcdf-1.1.0, but want very much to introduce Fortran bindings for 
     44this feature in a future release.  In the meantime, Fortran codes can use the 
     45implicit method (below). 
     46 
     47'''Implicit Method'''  The library accesses multiple variables implicitly. Several variable accesses can be "scheduled" with the 
     48nonblocking routines.   Then, when the application waits for completion of 
     49those accesses, the library will service them all in a single call. 
     50 
     51While it may not have had widespread use, parallel-netcdf has had a 
     52nonblocking interface for some time.  It looks a lot like the MPI non-blocking 
     53routines: 
     54 
     55In C: 
     56 
     57{{{ 
     58ncmpi_iget_vara_all 
     59ncmpi_iput_vara_all 
     60ncmpi_wait 
     61ncmpi_waitall 
     62}}} 
     63 
     64In Fortran: 
     65{{{ 
     66nfmpi_iget_vara_all 
     67nfmpi_iput_vara_all 
     68nfmpi_wait 
     69nfmpi_waitall 
     70}}} 
     71 
     72In the 'wait' and 'waitall' methods, the library actually batches up all 
     73outstanding nonblocking operations.  In this way, we can carry out this 
     74optimization without needing a thread.   
     75 
    4676== References == 
    4777