HI all, did anyone build Slurm using a recent version of HWLOC like 2.0.1 or 2.0.2?
When I try to I end up with task_cgroup_cpuset.c:486:40: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' hwloc_bitmap_or(cpuset, cpuset, pobj->allowed_cpuset); ^ task_cgroup_cpuset.c:492:39: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' hwloc_bitmap_or(cpuset, cpuset, obj->allowed_cpuset); ^ task_cgroup_cpuset.c:496:38: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' hwloc_bitmap_or(cpuset, cpuset, obj->allowed_cpuset); ^ task_cgroup_cpuset.c: In function '_task_cgroup_cpuset_dist_cyclic': task_cgroup_cpuset.c:621:31: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' (hwloc_bitmap_first(obj->allowed_cpuset) != -1)) { ^ task_cgroup_cpuset.c:632:14: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' obj->allowed_cpuset) != -1)) { ^ task_cgroup_cpuset.c: In function '_validate_mask': task_cgroup_cpuset.c:880:29: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' j = hwloc_bitmap_isset(obj->allowed_cpuset, i); ^ task_cgroup_cpuset.c:893:30: error: 'struct hwloc_obj' has no member named 'allowed_cpuset' if (hwloc_bitmap_isset(obj->allowed_cpuset, i) > 0) which is completely in sync with allowed_cpuset and allowed_nodeset only in the main topology Objects do not have |allowed_cpuset| and |allowed_nodeset| anymore. They are only available for the entire topology using hwloc_topology_get_allowed_cpuset() <https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00166.php#ga517d5d68ec9f24583d8933aab713be8e> and hwloc_topology_get_allowed_nodeset() <https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00166.php#ga21a4d7237a11e76b912ed4524ab78cbd>. As usual, those are only needed when the WHOLE_SYSTEM topology flag is given, which means disallowed objects are kept in the topology. If so, one may find out whether some PUs inside an object is allowed by checking hwloc_bitmap_intersects(obj->cpuset, hwloc_topology_get_allowed_cpuset(topology)) Replace cpusets with nodesets for NUMA nodes. To find out which ones, replace intersects() with and() to get the actual intersection. at https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00327.php Yet in the source code of Slurm there are already some preprocessor switches for HWLOC 2. Any hints welcome. Best, Andreas Henkel