Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Have replay always use shared buffers instead of allocating new ones, even inside...
[simgrid.git] / src / smpi / private.h
index 6010a59..29f0d48 100644 (file)
@@ -258,6 +258,19 @@ int smpi_comm_is_uniform(MPI_Comm comm);
 int smpi_comm_is_blocked(MPI_Comm comm);
 void smpi_comm_init_smp(MPI_Comm comm);
 
+int smpi_comm_c2f(MPI_Comm comm);
+MPI_Comm smpi_comm_f2c(int comm);
+int smpi_group_c2f(MPI_Group group);
+MPI_Group smpi_group_f2c(int group);
+int smpi_request_c2f(MPI_Request req);
+MPI_Request smpi_request_f2c(int req);
+int smpi_type_c2f(MPI_Datatype datatype);
+MPI_Datatype smpi_type_f2c(int datatype);
+int smpi_op_c2f(MPI_Op op);
+MPI_Op smpi_op_f2c(int op);
+int smpi_win_c2f(MPI_Win win);
+MPI_Win smpi_win_f2c(int win);
+
 MPI_Request smpi_mpi_send_init(void *buf, int count, MPI_Datatype datatype,
                                int dst, int tag, MPI_Comm comm);
 MPI_Request smpi_mpi_recv_init(void *buf, int count, MPI_Datatype datatype,
@@ -401,6 +414,11 @@ void smpi_bench_destroy(void);
 void smpi_bench_begin(void);
 void smpi_bench_end(void);
 
+void* smpi_get_tmp_sendbuffer(int size);
+void* smpi_get_tmp_recvbuffer(int size);
+void  smpi_free_tmp_buffer(void* buf);
+
+
 
 // f77 wrappers
 void mpi_init_(int*);
@@ -690,7 +708,14 @@ void TRACE_smpi_finalize(int rank);
 const char* encode_datatype(MPI_Datatype datatype);
 
 // TODO, make this static and expose it more cleanly
-extern void** mappings;
+
+typedef struct s_smpi_privatisation_region {
+  void* address;
+  int file_descriptor;
+} *smpi_privatisation_region_t;
+
+extern smpi_privatisation_region_t smpi_privatisation_regions;
+
 extern int smpi_loaded_page;
 
 int SIMIX_process_get_PID(smx_process_t self);