A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
encapsulated simdata in private data structures so that smpi.h does not need to
[simgrid.git]
/
src
/
smpi
/
smpi.h
diff --git
a/src/smpi/smpi.h
b/src/smpi/smpi.h
index
f19628c
..
967fb64
100644
(file)
--- a/
src/smpi/smpi.h
+++ b/
src/smpi/smpi.h
@@
-1,7
+1,8
@@
-#include <sys/time.h>
+#ifndef SMPI_H
+#define SMPI_H
+#include <sys/time.h>
#include <xbt/function_types.h>
#include <xbt/function_types.h>
-#include <simix/simix.h>
#define SMPI_RAND_SEED 5
#define SMPI_RAND_SEED 5
@@
-19,14
+20,10
@@
#define MPI_ERR_TAG 8
// MPI_Comm
#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;
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 struct smpi_mpi_communicator_t smpi_mpi_communicator_t;
typedef smpi_mpi_communicator_t *MPI_Comm;
@@
-46,6
+43,7
@@
typedef struct smpi_mpi_datatype_t smpi_mpi_datatype_t;
typedef smpi_mpi_datatype_t *MPI_Datatype;
// MPI_Request
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;
struct smpi_mpi_request_t {
smpi_mpi_communicator_t *comm;
int src;
@@
-57,8
+55,8
@@
struct smpi_mpi_request_t {
int count;
short int completed :1;
int count;
short int completed :1;
- smx_mutex_t mutex;
- sm
x_cond_t cond
;
+
+ sm
pi_mpi_request_simdata_t simdata
;
};
typedef struct smpi_mpi_request_t smpi_mpi_request_t;
typedef smpi_mpi_request_t *MPI_Request;
};
typedef struct smpi_mpi_request_t smpi_mpi_request_t;
typedef smpi_mpi_request_t *MPI_Request;
@@
-114,3
+112,5
@@
XBT_IMPORT_NO_EXPORT(int) smpi_simulated_main(int argc, char **argv);
unsigned int smpi_sleep(unsigned int);
void smpi_exit(int);
int smpi_gettimeofday(struct timeval *tv, struct timezone *tz);
unsigned int smpi_sleep(unsigned int);
void smpi_exit(int);
int smpi_gettimeofday(struct timeval *tv, struct timezone *tz);
+
+#endif