Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Otf2MpiProfiling Class Reference

Implementation of the MPI operations interface. Decorates each MPI call with functions from the library Otf2 for profiling. More...

#include <arcane/std/internal/Otf2MpiProfiling.h>

Inheritance diagram for Arcane::Otf2MpiProfiling:
Collaboration diagram for Arcane::Otf2MpiProfiling:

Public Types

using ReturnType = void
Public Types inherited from Arcane::MessagePassing::Mpi::IMpiProfiling
using ReturnType = void

Public Member Functions

 Otf2MpiProfiling (Otf2LibWrapper *otf2_wrapper)
 Constructor.
ReturnType broadcast (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) final
 MPI_Bcast.
ReturnType gather (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) final
 MPI_Gather.
ReturnType gatherVariable (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) final
 MPI_Gatherv.
ReturnType allGather (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) final
 MPI_Allgather.
ReturnType allGatherVariable (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) final
 MPI_Allgatherv.
ReturnType scatterVariable (const void *sendbuf, const int *sendcounts, const int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) final
 MPI_Scatterv.
ReturnType allToAll (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) final
 MPI_Alltoall.
ReturnType allToAllVariable (const void *sendbuf, const int *sendcounts, const int *sdispls, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) final
 MPI_Alltoallv.
ReturnType barrier (MPI_Comm comm) final
 MPI_Barrier.
ReturnType reduce (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) final
 MPI_Reduce.
ReturnType allReduce (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) final
 MPI_Allreduce.
ReturnType scan (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) final
 MPI_Scan.
ReturnType sendRecv (const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status) final
 MPI_Sendrecv.
ReturnType iSend (const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) final
 MPI_Isend.
ReturnType send (const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) final
 MPI_Send.
ReturnType iRecv (void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) final
 MPI_Irecv.
ReturnType recv (void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) final
 MPI_recv.
ReturnType test (MPI_Request *request, int *flag, MPI_Status *status) final
 MPI_Test.
ReturnType probe (int source, int tag, MPI_Comm comm, MPI_Status *status) final
 MPI_Probe.
ReturnType getCount (const MPI_Status *status, MPI_Datatype datatype, int *count) final
 MPI_Get_count.
ReturnType wait (MPI_Request *request, MPI_Status *status) final
 MPI_Wait.
ReturnType waitAll (int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) final
 MPI_Waitall.
ReturnType testSome (int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]) final
 MPI_Testsome.
ReturnType waitSome (int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]) final
 MPI_Waitsome.
Public Member Functions inherited from Arcane::MessagePassing::Mpi::IMpiProfiling
virtual ReturnType waitAll (int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)=0
virtual ReturnType testSome (int incount, MPI_Request *array_of_requests, int *outcount, int *array_of_indices, MPI_Status *array_of_statuses)=0
virtual ReturnType waitSome (int incount, MPI_Request *array_of_requests, int *outcount, int *array_of_indices, MPI_Status *array_of_statuses)=0

Private Member Functions

void _doEventEnter (eMpiName event_name)
void _doEventLeave (eMpiName event_name)
ReturnType _ret (int r) const

Private Attributes

Otf2LibWrapperm_otf2_wrapper

Detailed Description

Implementation of the MPI operations interface. Decorates each MPI call with functions from the library Otf2 for profiling.

Definition at line 41 of file Otf2MpiProfiling.h.

Member Typedef Documentation

◆ ReturnType

using Arcane::Otf2MpiProfiling::ReturnType = void

Definition at line 48 of file Otf2MpiProfiling.h.

Constructor & Destructor Documentation

◆ Otf2MpiProfiling()

Arcane::Otf2MpiProfiling::Otf2MpiProfiling ( Otf2LibWrapper * otf2_wrapper)
explicit

Constructor.

Definition at line 51 of file Otf2MpiProfiling.cc.

Member Function Documentation

◆ _doEventEnter()

void Arcane::Otf2MpiProfiling::_doEventEnter ( eMpiName event_name)
private

Definition at line 556 of file Otf2MpiProfiling.cc.

◆ _doEventLeave()

void Arcane::Otf2MpiProfiling::_doEventLeave ( eMpiName event_name)
private

Definition at line 566 of file Otf2MpiProfiling.cc.

◆ _ret()

ReturnType Arcane::Otf2MpiProfiling::_ret ( int r) const
inlineprivate

Definition at line 131 of file Otf2MpiProfiling.h.

◆ allGather()

ReturnType Arcane::Otf2MpiProfiling::allGather ( const void * sendbuf,
int sendcount,
MPI_Datatype sendtype,
void * recvbuf,
int recvcount,
MPI_Datatype recvtype,
MPI_Comm comm )
finalvirtual

MPI_Allgather.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 143 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ allGatherVariable()

ReturnType Arcane::Otf2MpiProfiling::allGatherVariable ( const void * sendbuf,
int sendcount,
MPI_Datatype sendtype,
void * recvbuf,
const int * recvcounts,
const int * displs,
MPI_Datatype recvtype,
MPI_Comm comm )
finalvirtual

MPI_Allgatherv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 169 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ allReduce()

ReturnType Arcane::Otf2MpiProfiling::allReduce ( const void * sendbuf,
void * recvbuf,
int count,
MPI_Datatype datatype,
MPI_Op op,
MPI_Comm comm )
finalvirtual

MPI_Allreduce.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 319 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ allToAll()

ReturnType Arcane::Otf2MpiProfiling::allToAll ( const void * sendbuf,
int sendcount,
MPI_Datatype sendtype,
void * recvbuf,
int recvcount,
MPI_Datatype recvtype,
MPI_Comm comm )
finalvirtual

MPI_Alltoall.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 231 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ allToAllVariable()

ReturnType Arcane::Otf2MpiProfiling::allToAllVariable ( const void * sendbuf,
const int * sendcounts,
const int * sdispls,
MPI_Datatype sendtype,
void * recvbuf,
const int * recvcounts,
const int * rdispls,
MPI_Datatype recvtype,
MPI_Comm comm )
finalvirtual

MPI_Alltoallv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 253 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ barrier()

ReturnType Arcane::Otf2MpiProfiling::barrier ( MPI_Comm comm)
finalvirtual

MPI_Barrier.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 276 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ broadcast()

ReturnType Arcane::Otf2MpiProfiling::broadcast ( void * buffer,
int count,
MPI_Datatype datatype,
int root,
MPI_Comm comm )
finalvirtual

MPI_Bcast.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 61 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ gather()

ReturnType Arcane::Otf2MpiProfiling::gather ( const void * sendbuf,
int sendcount,
MPI_Datatype sendtype,
void * recvbuf,
int recvcount,
MPI_Datatype recvtype,
int root,
MPI_Comm comm )
finalvirtual

MPI_Gather.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 86 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ gatherVariable()

ReturnType Arcane::Otf2MpiProfiling::gatherVariable ( const void * sendbuf,
int sendcount,
MPI_Datatype sendtype,
void * recvbuf,
const int * recvcounts,
const int * displs,
MPI_Datatype recvtype,
int root,
MPI_Comm comm )
finalvirtual

MPI_Gatherv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 112 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ getCount()

ReturnType Arcane::Otf2MpiProfiling::getCount ( const MPI_Status * status,
MPI_Datatype datatype,
int * count )
finalvirtual

MPI_Get_count.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 490 of file Otf2MpiProfiling.cc.

◆ iRecv()

ReturnType Arcane::Otf2MpiProfiling::iRecv ( void * buf,
int count,
MPI_Datatype datatype,
int source,
int tag,
MPI_Comm comm,
MPI_Request * request )
finalvirtual

MPI_Irecv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 425 of file Otf2MpiProfiling.cc.

◆ iSend()

ReturnType Arcane::Otf2MpiProfiling::iSend ( const void * buf,
int count,
MPI_Datatype datatype,
int dest,
int tag,
MPI_Comm comm,
MPI_Request * request )
finalvirtual

MPI_Isend.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 386 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ probe()

ReturnType Arcane::Otf2MpiProfiling::probe ( int source,
int tag,
MPI_Comm comm,
MPI_Status * status )
finalvirtual

MPI_Probe.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 477 of file Otf2MpiProfiling.cc.

◆ recv()

ReturnType Arcane::Otf2MpiProfiling::recv ( void * buf,
int count,
MPI_Datatype datatype,
int source,
int tag,
MPI_Comm comm,
MPI_Status * status )
finalvirtual

MPI_recv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 444 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ reduce()

ReturnType Arcane::Otf2MpiProfiling::reduce ( const void * sendbuf,
void * recvbuf,
int count,
MPI_Datatype datatype,
MPI_Op op,
int root,
MPI_Comm comm )
finalvirtual

MPI_Reduce.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 297 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ scan()

ReturnType Arcane::Otf2MpiProfiling::scan ( const void * sendbuf,
void * recvbuf,
int count,
MPI_Datatype datatype,
MPI_Op op,
MPI_Comm comm )
finalvirtual

MPI_Scan.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 344 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ scatterVariable()

ReturnType Arcane::Otf2MpiProfiling::scatterVariable ( const void * sendbuf,
const int * sendcounts,
const int * displs,
MPI_Datatype sendtype,
void * recvbuf,
int recvcount,
MPI_Datatype recvtype,
int root,
MPI_Comm comm )
finalvirtual

MPI_Scatterv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 198 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ send()

ReturnType Arcane::Otf2MpiProfiling::send ( const void * buf,
int count,
MPI_Datatype datatype,
int dest,
int tag,
MPI_Comm comm )
finalvirtual

MPI_Send.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 407 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ sendRecv()

ReturnType Arcane::Otf2MpiProfiling::sendRecv ( const void * sendbuf,
int sendcount,
MPI_Datatype sendtype,
int dest,
int sendtag,
void * recvbuf,
int recvcount,
MPI_Datatype recvtype,
int source,
int recvtag,
MPI_Comm comm,
MPI_Status * status )
finalvirtual

MPI_Sendrecv.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 368 of file Otf2MpiProfiling.cc.

◆ test()

ReturnType Arcane::Otf2MpiProfiling::test ( MPI_Request * request,
int * flag,
MPI_Status * status )
finalvirtual

MPI_Test.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 461 of file Otf2MpiProfiling.cc.

References Arcane::Otf2LibWrapper::getTime().

Here is the call graph for this function:

◆ testSome()

ReturnType Arcane::Otf2MpiProfiling::testSome ( int incount,
MPI_Request array_of_requests[],
int * outcount,
int array_of_indices[],
MPI_Status array_of_statuses[] )
final

MPI_Testsome.

Definition at line 529 of file Otf2MpiProfiling.cc.

◆ wait()

ReturnType Arcane::Otf2MpiProfiling::wait ( MPI_Request * request,
MPI_Status * status )
finalvirtual

MPI_Wait.

Implements Arcane::MessagePassing::Mpi::IMpiProfiling.

Definition at line 503 of file Otf2MpiProfiling.cc.

◆ waitAll()

ReturnType Arcane::Otf2MpiProfiling::waitAll ( int count,
MPI_Request array_of_requests[],
MPI_Status array_of_statuses[] )
final

MPI_Waitall.

Definition at line 516 of file Otf2MpiProfiling.cc.

◆ waitSome()

ReturnType Arcane::Otf2MpiProfiling::waitSome ( int incount,
MPI_Request array_of_requests[],
int * outcount,
int array_of_indices[],
MPI_Status array_of_statuses[] )
final

MPI_Waitsome.

Definition at line 543 of file Otf2MpiProfiling.cc.

Member Data Documentation

◆ m_otf2_wrapper

Otf2LibWrapper* Arcane::Otf2MpiProfiling::m_otf2_wrapper
private

Definition at line 125 of file Otf2MpiProfiling.h.


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