#include <unordered_map>
#include <vector>
-#define KEY_SIZE (sizeof(int) * 2 + 1)
-
using simgrid::s4u::Actor;
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_replay,smpi,"Trace Replay with SMPI");
-int communicator_size = 0;
-static int active_processes = 0;
-std::unordered_map<int,std::vector<MPI_Request>*> reqq;
+static int communicator_size = 0;
+static int active_processes = 0;
+static std::unordered_map<int, std::vector<MPI_Request>*> reqq;
-MPI_Datatype MPI_DEFAULT_TYPE;
-MPI_Datatype MPI_CURRENT_TYPE;
+static MPI_Datatype MPI_DEFAULT_TYPE;
+static MPI_Datatype MPI_CURRENT_TYPE;
-static int sendbuffer_size=0;
-char* sendbuffer=nullptr;
-static int recvbuffer_size=0;
-char* recvbuffer=nullptr;
+static int sendbuffer_size = 0;
+static char* sendbuffer = nullptr;
+static int recvbuffer_size = 0;
+static char* recvbuffer = nullptr;
static void log_timed_action (const char *const *action, double clock){
if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
{
switch(atoi(action)) {
case 0:
- MPI_CURRENT_TYPE=MPI_DOUBLE;
+ return MPI_DOUBLE;
break;
case 1:
- MPI_CURRENT_TYPE=MPI_INT;
+ return MPI_INT;
break;
case 2:
- MPI_CURRENT_TYPE=MPI_CHAR;
+ return MPI_CHAR;
break;
case 3:
- MPI_CURRENT_TYPE=MPI_SHORT;
+ return MPI_SHORT;
break;
case 4:
- MPI_CURRENT_TYPE=MPI_LONG;
+ return MPI_LONG;
break;
case 5:
- MPI_CURRENT_TYPE=MPI_FLOAT;
+ return MPI_FLOAT;
break;
case 6:
- MPI_CURRENT_TYPE=MPI_BYTE;
+ return MPI_BYTE;
break;
default:
- MPI_CURRENT_TYPE=MPI_DEFAULT_TYPE;
+ return MPI_DEFAULT_TYPE;
break;
}
- return MPI_CURRENT_TYPE;
}
const char* encode_datatype(MPI_Datatype datatype)