15 #define _XOPEN_SOURCE 700
25 #include <sys/types.h>
43 #include <firmware/include/personality.h>
44 int sion_get_IO_comm_ompi(MPI_Comm *commSame) {
46 Personality_t personality;
47 int rc, rank, factor, bridgeid;
49 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
52 Kernel_GetPersonality(&personality,
sizeof(Personality_t));
55 bridgeid = personality.Network_Config.cnBridge_E;
56 factor *= personality.Network_Config.Enodes;
57 bridgeid += personality.Network_Config.cnBridge_D*factor;
58 factor *= personality.Network_Config.Dnodes;
59 bridgeid += personality.Network_Config.cnBridge_C*factor;
60 factor *= personality.Network_Config.Cnodes;
61 bridgeid += personality.Network_Config.cnBridge_B*factor;
62 factor *= personality.Network_Config.Bnodes;
63 bridgeid += personality.Network_Config.cnBridge_A*factor;
66 rc=MPI_Comm_split(MPI_COMM_WORLD, bridgeid, rank, commSame);
72 int sion_get_IO_comm_ompi(MPI_Comm *commSame) {
75 rc=MPI_Comm_dup(MPI_COMM_WORLD, commSame);