Ejemplo n.º 1
0
/* unique numeric SMP-node identifier */
long vt_pform_node_id() {
#ifdef BGL_GROUP_ON_NODEBOARD
  return ((mybgl.location >> 6) & 0x1fff);
#else
  if ( BGLPersonality_virtualNodeMode(&mybgl) )
    return ( BGLPersonality_psetNum(&mybgl) *
           BGLPersonality_numNodesInPset(&mybgl) +
           BGLPersonality_rankInPset(&mybgl)) * 2
           + rts_get_processor_id();
  else
    return BGLPersonality_psetNum(&mybgl) *
           BGLPersonality_numNodesInPset(&mybgl) +
           BGLPersonality_rankInPset(&mybgl);
#endif
}
Ejemplo n.º 2
0
/* number of nodes */
int elg_pform_num_nodes() {
  int nn = BGLPersonality_numPsets(&mybgl) *
           BGLPersonality_numNodesInPset(&mybgl);

#ifdef BGL_GROUP_ON_NODEBOARD
  return (nn - 1) / 32 + 1;
#else
  if ( BGLPersonality_virtualNodeMode(&mybgl) )
    return nn * 2;
  else
    return nn;
#endif
}