22 #include <sys/types.h> 40 #include <firmware/include/personality.h> 41 int sion_get_IO_comm_mpi(MPI_Comm *commSame) {
43 Personality_t personality;
44 int rc, rank, factor, bridgeid;
46 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
49 Kernel_GetPersonality(&personality,
sizeof(Personality_t));
52 bridgeid = personality.Network_Config.cnBridge_E;
53 factor *= personality.Network_Config.Enodes;
54 bridgeid += personality.Network_Config.cnBridge_D*factor;
55 factor *= personality.Network_Config.Dnodes;
56 bridgeid += personality.Network_Config.cnBridge_C*factor;
57 factor *= personality.Network_Config.Cnodes;
58 bridgeid += personality.Network_Config.cnBridge_B*factor;
59 factor *= personality.Network_Config.Bnodes;
60 bridgeid += personality.Network_Config.cnBridge_A*factor;
63 rc=MPI_Comm_split(MPI_COMM_WORLD, bridgeid, rank, commSame);
69 int sion_get_IO_comm_mpi(MPI_Comm *commSame) {
72 rc=MPI_Comm_dup(MPI_COMM_WORLD, commSame);