14 #define _XOPEN_SOURCE 700
24 #include <sys/types.h>
42 #include <firmware/include/personality.h>
43 int sion_get_IO_comm_mpi(MPI_Comm *commSame) {
45 Personality_t personality;
46 int rc, rank, factor, bridgeid;
48 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
51 Kernel_GetPersonality(&personality,
sizeof(Personality_t));
54 bridgeid = personality.Network_Config.cnBridge_E;
55 factor *= personality.Network_Config.Enodes;
56 bridgeid += personality.Network_Config.cnBridge_D*factor;
57 factor *= personality.Network_Config.Dnodes;
58 bridgeid += personality.Network_Config.cnBridge_C*factor;
59 factor *= personality.Network_Config.Cnodes;
60 bridgeid += personality.Network_Config.cnBridge_B*factor;
61 factor *= personality.Network_Config.Bnodes;
62 bridgeid += personality.Network_Config.cnBridge_A*factor;
65 rc=MPI_Comm_split(MPI_COMM_WORLD, bridgeid, rank, commSame);
71 int sion_get_IO_comm_mpi(MPI_Comm *commSame) {
74 rc=MPI_Comm_dup(MPI_COMM_WORLD, commSame);