Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SMPI] Update smpi_deployment_register_process for actors
[simgrid.git] / src / smpi / include / private.hpp
index 4f0ca57..b74967f 100644 (file)
@@ -6,6 +6,7 @@
 #ifndef SMPI_PRIVATE_HPP
 #define SMPI_PRIVATE_HPP
 
+#include "include/xbt/config.hpp"
 #include "simgrid/msg.h" // msg_bar_t
 #include "smpi/smpi.h"
 #include "src/instr/instr_smpi.hpp"
@@ -61,10 +62,10 @@ typedef SMPI_Graph_topology* MPIR_Graph_Topology;
 typedef SMPI_Dist_Graph_topology* MPIR_Dist_Graph_Topology;
 
 XBT_PRIVATE SMPI_Process* smpi_process();
-XBT_PRIVATE SMPI_Process* smpi_process_remote(int index);
+XBT_PRIVATE SMPI_Process* smpi_process_remote(simgrid::s4u::ActorPtr actor);
 XBT_PRIVATE int smpi_process_count();
 
-XBT_PRIVATE void smpi_deployment_register_process(const char* instance_id, int rank, int index);
+XBT_PRIVATE void smpi_deployment_register_process(const char* instance_id, int rank, simgrid::s4u::ActorPtr actor);
 XBT_PRIVATE MPI_Comm* smpi_deployment_comm_world(const char* instance_id);
 XBT_PRIVATE msg_bar_t smpi_deployment_finalization_barrier(const char* instance_id);
 XBT_PRIVATE void smpi_deployment_cleanup_instances();
@@ -93,7 +94,7 @@ XBT_PRIVATE void smpi_really_switch_data_segment(int dest);
 XBT_PRIVATE int smpi_is_privatization_file(char* file);
 
 XBT_PRIVATE void smpi_get_executable_global_size();
-XBT_PRIVATE void smpi_initialize_global_memory_segments();
+XBT_PRIVATE void smpi_backup_global_memory_segment();
 XBT_PRIVATE void smpi_destroy_global_memory_segments();
 XBT_PRIVATE void smpi_bench_destroy();
 XBT_PRIVATE void smpi_bench_begin();
@@ -410,9 +411,9 @@ struct s_smpi_privatization_region_t {
 };
 typedef s_smpi_privatization_region_t* smpi_privatization_region_t;
 
-extern XBT_PRIVATE smpi_privatization_region_t smpi_privatization_regions;
 extern XBT_PRIVATE int smpi_loaded_page;
 extern XBT_PRIVATE int smpi_universe_size;
+XBT_PRIVATE smpi_privatization_region_t smpi_init_global_memory_segment_process();
 }
 
 /**
@@ -430,6 +431,8 @@ XBT_PRIVATE int smpi_process_papi_event_set();
 #endif
 
 extern std::unordered_map<std::string, double> location2speedup;
+// TODO: Move this to the right location (if we keep this...)
+void smpi_add_process(simgrid::s4u::ActorPtr actor);
 
 /** @brief Returns the last call location (filename, linenumber). Process-specific. */
 extern "C" {
@@ -441,7 +444,7 @@ enum smpi_priv_strategies {
   SMPI_PRIVATIZE_NONE    = 0,
   SMPI_PRIVATIZE_MMAP    = 1,
   SMPI_PRIVATIZE_DLOPEN  = 2,
-  SMPI_PRIVATIZE_DEFAULT = SMPI_PRIVATIZE_MMAP
+  SMPI_PRIVATIZE_DEFAULT = SMPI_PRIVATIZE_DLOPEN
 };
 
 extern XBT_PRIVATE int smpi_privatize_global_variables;