-#include <sys/time.h>
+#ifndef SMPI_H
+#define SMPI_H
+#include <sys/time.h>
#include <xbt/function_types.h>
-#include <simix/simix.h>
#define SMPI_RAND_SEED 5
#define MPI_ERR_TAG 8
// MPI_Comm
+typedef struct smpi_mpi_communicator_simdata *smpi_mpi_communicator_simdata_t;
struct smpi_mpi_communicator_t {
int size;
- smx_host_t *hosts;
-
- smx_process_t *processes;
- int barrier_count;
- smx_mutex_t barrier_mutex;
- smx_cond_t barrier_cond;
+ smpi_mpi_communicator_simdata_t simdata;
};
typedef struct smpi_mpi_communicator_t smpi_mpi_communicator_t;
typedef smpi_mpi_communicator_t *MPI_Comm;
typedef smpi_mpi_datatype_t *MPI_Datatype;
// MPI_Request
+typedef struct smpi_mpi_request_simdata *smpi_mpi_request_simdata_t;
struct smpi_mpi_request_t {
smpi_mpi_communicator_t *comm;
int src;
int count;
short int completed :1;
- smx_mutex_t mutex;
- smx_cond_t cond;
+
+ smpi_mpi_request_simdata_t simdata;
};
typedef struct smpi_mpi_request_t smpi_mpi_request_t;
typedef smpi_mpi_request_t *MPI_Request;
unsigned int smpi_sleep(unsigned int);
void smpi_exit(int);
int smpi_gettimeofday(struct timeval *tv, struct timezone *tz);
+
+#endif