Skip to content
  • Mark OLESEN's avatar
    ENH: reduce storage and startup communication for processorTopology · 173c9ac1
    Mark OLESEN authored
    - previously built the entire adjacency table (full communication!)
      but this is only strictly needed when using 'scheduled' as the
      default communication mode. For blocking/nonBlocking modes this
      information is not necessary at that point.
    
      The processorTopology::New now generally creates a smaller amount of
      data at startup: the processor->patch mapping and the patchSchedule.
    
      If the default communication mode is 'scheduled', the behaviour is
      almost identical to previously.
    
    - Use Map<label> for the processor->patch mapping for a smaller memory
      footprint on large (ie, sparsely connected) cases. It also
      simplifies coding and allows recovery of the list of procNeighbours
      on demand.
    
    - Setup the processor initEvaluate/evaluate states with fewer loops
      over the patches.
    
    ========
    BREAKING: procNeighbours() method changed definition
    
    - this was previously the entire adjacency table, but is now only the
      processor-local nei...
    173c9ac1