pace
pace copied to clipboard
Better integration of halo exchange
The current version of the integration of halo exchange uses WrappedHaloExchange class to allow orchestration and stencil backends to co-exists (due to DaCe parsing limitations).
This has two issues:
- Goes against the "state-less" design of the code by requiring the same
stateto be passed to__init__and__call__of the model - Performance of the orchestration is limited by the callback which acts as a black-box funnel for the data-flow
Solutions:
- Using literal list, which is pending a DaCe feature to be finished, we could keep the callback but remove the state from
__init__ - Furthermore, we could recode the custom pack/unpack in a language that DaCe can parse then do away with the wrapper altogether