67 assert((clustsrc >= 0) && (clustsrc < ctrl->clustnbr));
68 assert((clustdst >= 0) && (clustdst < ctrl->clustnbr));
69 assert((sync_comm_nbr > 0) && (sync_comm_nbr <= ctrl->clustnbr));
71 if(clustsrc == clustdst)
81 switch (sync_comm_nbr)
85 *startup = SHARED_STARTUP_1;
86 *bandwidth = SHARED_BANDWIDTH_1;
90 *startup = SHARED_STARTUP_2;
91 *bandwidth = SHARED_BANDWIDTH_2;
97 *startup = SHARED_STARTUP_4;
98 *bandwidth = SHARED_BANDWIDTH_4;
101 *startup = SHARED_STARTUP_8;
102 *bandwidth = SHARED_BANDWIDTH_8;
108 switch (sync_comm_nbr)
112 *startup = CLUSTER_STARTUP_1;
113 *bandwidth = CLUSTER_BANDWIDTH_1;
117 *startup = CLUSTER_STARTUP_2;
118 *bandwidth = CLUSTER_BANDWIDTH_2;
124 *startup = CLUSTER_STARTUP_4;
125 *bandwidth = CLUSTER_BANDWIDTH_4;
128 *startup = CLUSTER_STARTUP_8;
129 *bandwidth = CLUSTER_BANDWIDTH_8;
void getCommunicationCosts(const BlendCtrl *ctrl, pastix_int_t clustsrc, pastix_int_t clustdst, pastix_int_t sync_comm_nbr, double *startup, double *bandwidth)
Return the communication cost between two cores.