/* 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 }
/** Rank of I/O node */ int DDI_BGL_File_IONode_rank(DDI_Comm *comm) { BGLPersonality personality; rts_get_personality(&personality, sizeof(personality)); return BGLPersonality_psetNum(&personality); }