packages feed

mpi-hs-0.1.0.1: c/include/mpihs.h

#ifndef MPIHS_H
#define MPIHS_H

#include <mpi.h>

enum ComparisonResult {
  Identical = MPI_IDENT,
  Congruent = MPI_CONGRUENT,
  Similar = MPI_SIMILAR,
  Unequal = MPI_UNEQUAL
};

enum ThreadSupport {
  ThreadSingle = MPI_THREAD_SINGLE,
  ThreadFunneled = MPI_THREAD_FUNNELED,
  ThreadSerialized = MPI_THREAD_SERIALIZED,
  ThreadMultiple = MPI_THREAD_MULTIPLE
};

// Comm
void mpihs_get_comm_null(MPI_Comm *comm);
void mpihs_get_comm_self(MPI_Comm *comm);
void mpihs_get_comm_world(MPI_Comm *comm);

// Count
int mpihs_get_undefined();

// Datatype
void mpihs_get_datatype_null(MPI_Datatype *datatype);

void mpihs_get_byte(MPI_Datatype *datatype);
void mpihs_get_char(MPI_Datatype *datatype);
void mpihs_get_double(MPI_Datatype *datatype);
void mpihs_get_float(MPI_Datatype *datatype);
void mpihs_get_int(MPI_Datatype *datatype);
void mpihs_get_long(MPI_Datatype *datatype);
void mpihs_get_long_double(MPI_Datatype *datatype);
void mpihs_get_long_long_int(MPI_Datatype *datatype);
void mpihs_get_short(MPI_Datatype *datatype);
void mpihs_get_unsigned(MPI_Datatype *datatype);
void mpihs_get_unsigned_char(MPI_Datatype *datatype);
void mpihs_get_unsigned_long(MPI_Datatype *datatype);
void mpihs_get_unsigned_short(MPI_Datatype *datatype);

// Op
void mpihs_get_op_null(MPI_Op *op);

void mpihs_get_band(MPI_Op *op);
void mpihs_get_bor(MPI_Op *op);
void mpihs_get_bxor(MPI_Op *op);
void mpihs_get_land(MPI_Op *op);
void mpihs_get_lor(MPI_Op *op);
void mpihs_get_lxor(MPI_Op *op);
void mpihs_get_max(MPI_Op *op);
void mpihs_get_maxloc(MPI_Op *op);
void mpihs_get_min(MPI_Op *op);
void mpihs_get_minloc(MPI_Op *op);
void mpihs_get_prod(MPI_Op *op);
void mpihs_get_sum(MPI_Op *op);

// Rank
int mpihs_get_any_source();

// Request
void mpihs_get_request_null(MPI_Request *request);

// Status
MPI_Status *mpihs_get_status_ignore();

// Tag
int mpihs_get_any_tag();

// Wrappers
int mpihs_iprobe(int source, int tag, MPI_Comm *comm, int *flag,
                 MPI_Status *status);

#endif // #ifndef MPIHS_H