use CMK_HAS_GETHOSTNAME to protect code which can not be compiled on bluegene.
authorGengbin Zheng <gzheng@illinois.edu>
Mon, 29 Oct 2007 20:03:39 +0000 (20:03 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Mon, 29 Oct 2007 20:03:39 +0000 (20:03 +0000)
src/conv-core/cpuaffinity.c

index afd5d1a1fc55446c585b8ba2b6b481bd37c061d3..a5ff7daea6d1d9c3d2bb31ec2b58782711ae1638 100644 (file)
@@ -8,7 +8,7 @@ cpu affinity.
  when CMK_NO_SOCKETS, which is typically on cray xt3 and bluegene/L.
  There is no hostname for the compute nodes.
 */
-#if (CMK_HAS_SETAFFINITY || defined (_WIN32)) && !CMK_NO_SOCKETS
+#if (CMK_HAS_SETAFFINITY || defined (_WIN32)) 
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -75,7 +75,6 @@ int num_cores(void) {
   a = mpctl(MPC_GETNUMSPUS, 0, 0); /* total number of CPUs */
 #endif /* HPUX */
 
-printf("[%d] %d\n", sysconf(_SC_NPROCESSORS_ONLN), a);
   return a;
 }
 
@@ -241,6 +240,7 @@ void CmiInitCPUAffinity(char **argv)
        CmiRegisterHandler((CmiHandler)cpuAffinityHandler);
   cpuAffinityRecvHandlerIdx =
        CmiRegisterHandler((CmiHandler)cpuAffinityRecvHandler);
+
   if (CmiMyPe() >= CmiNumPes()) return;    /* comm thread return */
   if (!affinity_flag) return;
 
@@ -250,7 +250,13 @@ void CmiInitCPUAffinity(char **argv)
   }
 #endif
     /* get my ip address */
+#if CMK_XT3
+  myip = getXT3NodeID(CmiMyPe(), CmiNumPes());
+#elif CMK_HAS_GETHOSTNAME
   myip = skt_my_ip();
+#else
+  CmiAbort("Can not get unique name for the compute nodes. \n");
+#endif
 
     /* prepare a msg to send */
   msg = (hostnameMsg *)CmiAlloc(sizeof(hostnameMsg));