Construct halos from imports
Moved Collector implementation into a Halo that is constructed by specifying ids and ranks to import data from. (See PR #817. This PR closes PR #817)
An import-based Halo is used when you know who you are receiving from but not who you are sending to.
Additions:
- Added
Cabana::ExportandCabana::Importtype tags. - A
Cabana::Halois now typed onMemorySpaceandBuildType, whereBuildTypeis eitherCabana::ExportorCabana::Import. (DefaultCabana::Exportfor backwards compatibility) -
createFromXXXfunctions inCabana_CommunicationPlan.hppare renamed and typed onCabana::ExportorCabana::Importto support overriding. - Updated
Halotest to test halos built from imports. - Added
ImportHaloExchangeexample. RenamedHaloExchangeexample toExportHaloExchange. - From PR #817: Added
Cabana_INSTALL_TEST_EXECUTABLECMake flag that is set to OFF by default.
I'd like to get your opinion on my design of addition 3. A Halo needs four different constructors based on the combination of import/export, topo/no topo, and overriding the createFromXXX functions in CommunicationPlan let me use less hard coding of function names in those constructors.
Looks close - can you remove the namespace commits (will make the update once we merge that much easier)? Will be easier to review
Yes. Just reverted them.
@streeve all checks have passed. Do you have any more comments or suggestions?