ComputationalRadiationPhysics / graybat

Graph Approach for Highly Generic Communication Schemes Based on Adaptive Topologies :satellite:
Other
8 stars 4 forks source link

Documentation of communication preconditions #127

Closed fabian-jung closed 7 years ago

fabian-jung commented 7 years ago

The way graybat works, it assumes that some preconditions are met to achive higher speedup. Since this preconditions are not checked by the compiler, they should be well documented.

Here is a list, of all preconditions, that come to my mind:

To send data:

To receive data:

For heterogenious systems (different compiler and/or different architecture)

I think there are some more with respect to the availability of copy/move and default constructors. There may be some more, which i did not figured out yet.

erikzenker commented 7 years ago

Currently, I am trying to document the send and recv data properties through concept like documentation in #118. Furthermore, there is ongoing work to remove some of the mentioned conditions above.

I did not yet think about systems with different endians or varying word sizes, because I had the assumption that the underlying communication library or at least the communication policy should care.

Actually, each used template should be completely specified.

erikzenker commented 7 years ago

I added comments in "concept like" syntax is a first step to better documentation in #129. Is this something that could help you? Where can I improve further?

fabian-jung commented 7 years ago

This is a big help. The small downside is, that until it is integrated into the compiler one has to check all functions in graybat to check for the requisites.