#include <smpi/smpi.h>
#include <f2c.h>
-XBT_PUBLIC(int) smpi_current_rank;
+XBT_PUBLIC_DATA(__thread int) smpi_current_rank;
XBT_PUBLIC(int) smpi_process_argc(void);
XBT_PUBLIC(int) smpi_process_getarg(integer* index, char* dst, ftnlen len);
xbt_dict_t allocs = NULL; /* Allocated on first use */
xbt_dict_t samples = NULL; /* Allocated on first use */
-int smpi_current_rank = 0; /* Updated after each MPI call */
+__thread int smpi_current_rank = 0; /* Updated after each MPI call */
typedef struct {
int count;