Class AAH_SPDS
Defined in File aah.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public opensn::SPDS(Class SPDS)
Class Documentation
-
class AAH_SPDS : public opensn::SPDS
Public Functions
Creates a sweep-plane data structure (SPDS) for the given direction and grid.
- Parameters:
id – The unique identifier for this SPDS.
omega – The angular direction for the sweep operation.
grid – The grid on which the sweep is performed.
face_neighbor_info – Cached neighbor information for every local cell face.
allow_cycles – Whether cycles are allowed in the local and global sweep dependency graphs.
use_gpus – Whether to allocate device memory for GPU acceleration.
-
inline bool AllowCycles() const
Returns true if this SPDS is allowed to remove local and global sweep cycles.
-
inline int GetLocationDepth() const
Return this location’s depth in the global sweep graph for DOG scheduling.
-
GlobalSweepMetadata BuildGlobalSweepMetadata()
Builds the global sweep metadata on the graph-owning rank.
-
void SetGlobalSweepMetadata(int location_depth, std::vector<int> delayed_dependencies, std::vector<int> delayed_successors)
Installs the metadata needed by this rank.
-
void CopySPLSDataOnDevice()
Copies the levelized SPLS data on device.
-
void FreeDeviceData()
Free the memory on GPU.
-
inline std::uint32_t *GetDeviceLevelVector(std::size_t level) const
Get level vector on device.
-
std::vector<std::pair<int, double>> ComputeLocalLocationEdgeWeights() const
Returns non-zero outgoing edge weights as (destination, weight) pairs.
-
inline void SetGlobalEdges(std::vector<GlobalSweepEdge> edges)
Sets the sparse global sweep graph edges.
-
~AAH_SPDS() override
Destructor.
-
struct GlobalSweepEdge
-
struct GlobalSweepMetadata