[slurm-users] Slurm not building with HWLOC 2.0.2

Andreas Henkel henkel at uni-mainz.de
Wed Oct 24 02:16:58 MDT 2018


PS: sorry, I missed to tell the SLurm-Version: it's 17.11.7

On 10/24/18 9:43 AM, Andreas Henkel wrote:
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20181024/af718cd7/attachment.html>


More information about the slurm-users mailing list