Motiv
Marvelous OTF2 Traces Interactive Visualizer
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
CollectiveCommunicationEvent Class Reference

A class representing an MPI collective operation. More...

#include <CollectiveCommunicationEvent.hpp>

Inheritance diagram for CollectiveCommunicationEvent:
Inheritance graph
[legend]
Collaboration diagram for CollectiveCommunicationEvent:
Collaboration graph
[legend]

Classes

class  Member
 A class representing a member of a collective operation. More...
 

Public Member Functions

 CollectiveCommunicationEvent (std::vector< Member * > members, otf2::definition::location *location, types::communicator *communicator, otf2::collective_type operation, uint32_t root)
 Creates a new instance of the CollectiveCommunicationEvent class. More...
 
otf2::definition::location * getLocation () const override
 Returns the location of the longest waiting member. More...
 
otf2::chrono::duration getStartTime () const override
 
otf2::chrono::duration getEndTime () const override
 Returns the end time of the collective operations. More...
 
types::communicator * getCommunicator () const override
 
CommunicationKind getKind () const override
 
otf2::collective_type getOperation () const
 Returns the kind of the collective operation. More...
 
uint32_t getRoot () const
 Returns the root of the collective operation. More...
 
const std::vector< Member * > & getMembers () const
 Returns all members participating in the collective operation. More...
 
virtual otf2::definition::location * getLocation () const =0
 
otf2::chrono::duration getStartTime () const override=0
 
otf2::chrono::duration getEndTime () const override=0
 
virtual types::communicator * getCommunicator () const =0
 
virtual CommunicationKind getKind () const =0
 
- Public Member Functions inherited from TimedElement
virtual types::TraceTime getStartTime () const =0
 Returns the start time of the current object. More...
 
virtual types::TraceTime getEndTime () const =0
 Returns the end time of the current object. More...
 
virtual types::TraceTime getDuration () const
 Returns the duration of the current object. More...
 

Public Attributes

BUILDER(CollectiveCommunicationEvent, BUILDER_FIELD(uint32_t, root), members, location, communicator, operation, root) private otf2::chrono::duration end {}
 
otf2::definition::location * location
 
std::vector< Member * > members
 
types::communicator * communicator
 
otf2::common::collective_type operation
 
std::uint32_t root
 

Detailed Description

A class representing an MPI collective operation.

This class represents an MPI collective operation. It contains all involved members (MPI ranks) and when they joined and completed the operation.

Definition at line 33 of file CollectiveCommunicationEvent.hpp.

Constructor & Destructor Documentation

◆ CollectiveCommunicationEvent()

CollectiveCommunicationEvent::CollectiveCommunicationEvent ( std::vector< Member * >  members,
otf2::definition::location *  location,
types::communicator *  communicator,
otf2::collective_type  operation,
uint32_t  root 
)

Creates a new instance of the CollectiveCommunicationEvent class.

Parameters
membersVector of members participating in the collective operation
locationThe location of the longest waiting member
communicatorThe communicator of the collective operation
operationThe kind of the collective operation
rootThe rank of the root of the operation. Can be any of otf2::common::collective_root_type

Definition at line 22 of file CollectiveCommunicationEvent.cpp.

Member Function Documentation

◆ getCommunicator()

types::communicator * CollectiveCommunicationEvent::getCommunicator ( ) const
overridevirtual

Gets the communicator the recorded event took place in.

Returns
Communicator of the event

Implements CommunicationEvent.

Definition at line 47 of file CollectiveCommunicationEvent.cpp.

◆ getEndTime()

otf2::chrono::duration CollectiveCommunicationEvent::getEndTime ( ) const
overridevirtual

Returns the end time of the collective operations.

The end time of the collective operation is the time the last member

Returns
The end time of the collective operation

Implements CommunicationEvent.

Definition at line 43 of file CollectiveCommunicationEvent.cpp.

◆ getKind()

CommunicationKind CollectiveCommunicationEvent::getKind ( ) const
overridevirtual

Returns
Returns CommunicationKind::Collective

Implements CommunicationEvent.

Definition at line 51 of file CollectiveCommunicationEvent.cpp.

◆ getLocation()

otf2::definition::location * CollectiveCommunicationEvent::getLocation ( ) const
overridevirtual

Returns the location of the longest waiting member.

Returns
The location of the longest waiting member

Implements CommunicationEvent.

Definition at line 35 of file CollectiveCommunicationEvent.cpp.

◆ getMembers()

const std::vector< CollectiveCommunicationEvent::Member * > & CollectiveCommunicationEvent::getMembers ( ) const

Returns all members participating in the collective operation.

Returns
All members involved in the collective operation

Definition at line 63 of file CollectiveCommunicationEvent.cpp.

◆ getOperation()

otf2::collective_type CollectiveCommunicationEvent::getOperation ( ) const

Returns the kind of the collective operation.

Returns
The kind of the collective operation.

Definition at line 55 of file CollectiveCommunicationEvent.cpp.

◆ getRoot()

uint32_t CollectiveCommunicationEvent::getRoot ( ) const

Returns the root of the collective operation.

Returns
Can be any of otf2::common::collective_root_type

Definition at line 59 of file CollectiveCommunicationEvent.cpp.

◆ getStartTime()

otf2::chrono::duration CollectiveCommunicationEvent::getStartTime ( ) const
overridevirtual

Returns the start time of the collective operations

The start time of the collective operation is the time the first call to the collective operation was made. This corresponds with the start time of the first member.

Returns
The start time of the collective operation

Implements CommunicationEvent.

Definition at line 39 of file CollectiveCommunicationEvent.cpp.

Member Data Documentation

◆ communicator

types::communicator* CollectiveCommunicationEvent::communicator

Definition at line 178 of file CollectiveCommunicationEvent.hpp.

◆ end

BUILDER (CollectiveCommunicationEvent, BUILDER_FIELD(uint32_t, root), members, location, communicator, operation, root) private otf2::chrono::duration CollectiveCommunicationEvent::end {}

Definition at line 175 of file CollectiveCommunicationEvent.hpp.

◆ location

otf2::definition::location* CollectiveCommunicationEvent::location

Definition at line 176 of file CollectiveCommunicationEvent.hpp.

◆ members

std::vector<Member*> CollectiveCommunicationEvent::members

Definition at line 177 of file CollectiveCommunicationEvent.hpp.

◆ operation

otf2::common::collective_type CollectiveCommunicationEvent::operation

Definition at line 179 of file CollectiveCommunicationEvent.hpp.

◆ root

std::uint32_t CollectiveCommunicationEvent::root

Definition at line 180 of file CollectiveCommunicationEvent.hpp.


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