Hi list, I'm hitting a limitation with paffinity/hwloc with cpu numbers >= 64.
In opal/mca/paffinity/hwloc/paffinity_hwloc_module.c, module_set() is the routine that sets the calling process affinity to the mask given as parameter. Note that "mask" is a opal_paffinity_base_cpu_set_t (so we allow the cpus to be potentially numbered up to OPAL_PAFFINITY_BITMASK_CPU_MAX - 1). The problem with module_set() is that is loops over OPAL_PAFFINITY_BITMASK_T_NUM_BITS bits to check if these bits are set in the mask: for (i = 0; ((unsigned int) i) < OPAL_PAFFINITY_BITMASK_T_NUM_BITS; ++i) { if (OPAL_PAFFINITY_CPU_ISSET(i, mask)) { hwloc_bitmap_set(set, i); } } Given "mask"'s type, I think module_set() should instead loop over OPAL_PAFFINITY_BITMASK_CPU_MAX bits. Note that module_set() uses a type for its internal mask that is coherent with OPAL_PAFFINITY_BITMASK_T_NUM_BITS (hwloc_bitmap_t). So I'm wondering whether this is a known limitation I've never heard of or an actual bug? Regards, Nadia