[mpas-developers] Halo Exchange Design Document

Todd Ringler todd.ringler at mac.com
Fri Feb 17 20:28:33 MST 2012


Hi Conrad,

This will be a great addition to the MPAS framework, so first off I want to thank you all for pushing it along. Also, thanks for taking the time to put this document together. Here are a couple of thoughts .....

1. I might not be following it correctly, so feel free to point me in the right direction here. It seems like the optional argument (haloIndices) is a list of local {cell, vertex, edge} IDs that will used to figure out what data to send/receive. This pushes a good bit of the effort into the core, in the sense that the core has to build/maintain/keep-track-off haloIndices of various sorts.

At init (discussed in #2 below) we might specify some integer parameter like maxHaloWidth. This is currently two, but after this design it would be set at runtime. Then at init the halo source code will build (and store internally) haloIndices for {cells, edges, vertices} for haloWidth from 1 to maxHaloWidth. Then the user calls halo exchange with the optional argument is the requested width of the halo update (with valid ranges from 1 to maxHaloWidth). This essentially hides all of the mechanics inside halo exchange and gives the developer an easy-to-understand optional argument.

2. The design document discusses the actual call the halo update. How will the process initialize? i.e. will there be an init interface?

3. How will the design be tested? We have been considering the idea of implementing a unit test for the MPI halo updates. As we move to tens of thousands of processors, MPI-related stuff has the tendency to break. Simply being able to easily test that the messages are generated, sent and received correctly will likely prove to be a great debugging tool as we move to bigger and bigger machines.

4. I am guessing that the fieldType will contain meta data that will allow haloExchange to figure out if it is updated cell, edge or vertex data. Is this correct.

Thanks again for sharing the document. I am excited to try out the code!

Cheers,
Todd


Begin forwarded message:

> From: Conrad Roesch <croesch at ucar.edu>
> Subject: Halo Exchange Design Document
> Date: February 17, 2012 11:15:34 AM MST
> To: mpas-developers at ucar.edu
> 
> 
> Hello All,
> 
> I have drafted a design document (attached) that outlines some proposed changes to the MPAS halo exchange routines.  This work would initially be done in a sub-branch of the omp_blocks branch of the repository.  Before implementing any changes, I wanted to give everyone a chance to look this over, and so if anyone will require modifications to this proposal, or have any suggestions or questions, please let me know.
> 
> Cheers,
> Conrad
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/mpas-developers/attachments/20120217/a627ddf7/attachment-0002.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mpas_halo.pdf
Type: application/pdf
Size: 932753 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/mpas-developers/attachments/20120217/a627ddf7/attachment-0001.pdf 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/mpas-developers/attachments/20120217/a627ddf7/attachment-0003.html 


More information about the mpas-developers mailing list