SpECTRE  v2024.04.12
AlgorithmSingleton< ParallelComponent, SpectreArrayIndex > Class Template Reference

A Spectre algorithm object that wraps a single element charm++ array chare. More...

#include <AlgorithmSingleton.hpp>

Detailed Description

template<typename ParallelComponent, typename SpectreArrayIndex>
class AlgorithmSingleton< ParallelComponent, SpectreArrayIndex >

A Spectre algorithm object that wraps a single element charm++ array chare.

Details

Charm++ does offer a distributed object called a singleton, however we don't use this for a few reasons:

  1. Charm++ singletons cannot be (easily) placed on particular processors. Typically we will want singletons on their own processors.
  2. Charm++ singletons don't participate in load balancing.
  3. Charm++ singletons don't participate in checkpoint/restart when restarted on a different number of procs.

For implementation details, see AlgorithmArray.


The documentation for this class was generated from the following file: