#include "simgrid/simix.h"
#include "smpi/smpi.h"
-#include "src/include/smpi/smpi_interface.h"
#include "src/instr/instr_private.h"
#include "src/internal_config.h"
#include "xbt.h"
#include "xbt/synchro.h"
#include "xbt/xbt_os_time.h"
#include "src/smpi/smpi_f2c.hpp"
+#include "src/smpi/smpi_keyvals.hpp"
#include "src/smpi/smpi_group.hpp"
+#include "src/smpi/smpi_topo.hpp"
#include "src/smpi/smpi_coll.hpp"
#include "src/smpi/smpi_comm.hpp"
#include "src/smpi/smpi_info.hpp"
#include "src/smpi/smpi_datatype.hpp"
#include "src/smpi/smpi_datatype_derived.hpp"
#include "src/smpi/smpi_request.hpp"
-#include "src/smpi/smpi_topo.hpp"
#include "src/smpi/smpi_win.hpp"
SG_BEGIN_DECL()
extern XBT_PRIVATE MPI_Comm MPI_COMM_UNINITIALIZED;
-
-
-typedef struct s_smpi_mpi_comm_key_elem {
- MPI_Comm_copy_attr_function* copy_fn;
- MPI_Comm_delete_attr_function* delete_fn;
-} s_smpi_mpi_comm_key_elem_t;
-typedef struct s_smpi_mpi_comm_key_elem *smpi_comm_key_elem;
-
-typedef struct s_smpi_mpi_type_key_elem {
- MPI_Type_copy_attr_function* copy_fn;
- MPI_Type_delete_attr_function* delete_fn;
-} s_smpi_mpi_type_key_elem_t;
-typedef struct s_smpi_mpi_type_key_elem *smpi_type_key_elem;
-
XBT_PRIVATE void smpi_process_destroy();
XBT_PRIVATE void smpi_process_finalize();
XBT_PRIVATE int smpi_process_finalized();
XBT_PRIVATE int smpi_mpi_get_count(MPI_Status * status, MPI_Datatype datatype);
-XBT_PRIVATE int smpi_comm_keyval_create(MPI_Comm_copy_attr_function* copy_fn, MPI_Comm_delete_attr_function* delete_fn,
- int* keyval, void* extra_state);
-XBT_PRIVATE int smpi_comm_keyval_free(int* keyval);
-
-XBT_PRIVATE int smpi_type_attr_delete(MPI_Datatype type, int keyval);
-XBT_PRIVATE int smpi_type_attr_get(MPI_Datatype type, int keyval, void* attr_value, int* flag);
-XBT_PRIVATE int smpi_type_attr_put(MPI_Datatype type, int keyval, void* attr_value);
-XBT_PRIVATE int smpi_type_keyval_create(MPI_Type_copy_attr_function* copy_fn, MPI_Type_delete_attr_function* delete_fn,
- int* keyval, void* extra_state);
-XBT_PRIVATE int smpi_type_keyval_free(int* keyval);
// utilities
extern XBT_PRIVATE double smpi_cpu_threshold;
extern XBT_PRIVATE double smpi_host_speed;