<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>PS: sorry, I missed to tell the SLurm-Version: it's 17.11.7<br>
    </p>
    <div class="moz-cite-prefix">On 10/24/18 9:43 AM, Andreas Henkel
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:503f3407-cb77-02a9-6c87-054e91ca2788@uni-mainz.de">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>HI all,</p>
      <p>did anyone build Slurm using a recent version of HWLOC like
        2.0.1 or 2.0.2? <br>
      </p>
      <p>When I try to I end up with <br>
      </p>
      <p>task_cgroup_cpuset.c:486:40: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
            hwloc_bitmap_or(cpuset, cpuset, pobj->allowed_cpuset);<br>
                                                ^<br>
        task_cgroup_cpuset.c:492:39: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
            hwloc_bitmap_or(cpuset, cpuset, obj->allowed_cpuset);<br>
                                               ^<br>
        task_cgroup_cpuset.c:496:38: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
           hwloc_bitmap_or(cpuset, cpuset, obj->allowed_cpuset);<br>
                                              ^<br>
        task_cgroup_cpuset.c: In function
        '_task_cgroup_cpuset_dist_cyclic':<br>
        task_cgroup_cpuset.c:621:31: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
                (hwloc_bitmap_first(obj->allowed_cpuset) != -1)) {<br>
                                       ^<br>
        task_cgroup_cpuset.c:632:14: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
                   obj->allowed_cpuset) != -1)) {<br>
                      ^<br>
        task_cgroup_cpuset.c: In function '_validate_mask':<br>
        task_cgroup_cpuset.c:880:29: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
           j = hwloc_bitmap_isset(obj->allowed_cpuset, i);<br>
                                     ^<br>
        task_cgroup_cpuset.c:893:30: error: 'struct hwloc_obj' has no
        member named 'allowed_cpuset'<br>
            if (hwloc_bitmap_isset(obj->allowed_cpuset, i) > 0)<br>
      </p>
      <p><br>
      </p>
      <p>which is completely in sync with <br>
      </p>
      <h1>allowed_cpuset and allowed_nodeset only in the main topology</h1>
      <p>Objects do not have <code>allowed_cpuset</code> and <code>allowed_nodeset</code>
        anymore. They are only available for the entire topology using <a
          class="el"
href="https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00166.php#ga517d5d68ec9f24583d8933aab713be8e"
          title="Get allowed CPU set. " moz-do-not-send="true">hwloc_topology_get_allowed_cpuset()</a>
        and <a class="el"
href="https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00166.php#ga21a4d7237a11e76b912ed4524ab78cbd"
          title="Get allowed node set. " moz-do-not-send="true">hwloc_topology_get_allowed_nodeset()</a>.</p>
      <p>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 </p>
      <pre class="fragment">hwloc_bitmap_intersects(obj->cpuset, hwloc_topology_get_allowed_cpuset(topology))
</pre>
      <p> Replace cpusets with nodesets for NUMA nodes. To find out
        which ones, replace intersects() with and() to get the actual
        intersection.</p>
      <p>at <a class="moz-txt-link-freetext"
          href="https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00327.php"
          moz-do-not-send="true">https://www.open-mpi.org/projects/hwloc/doc/v2.0.1/a00327.php</a></p>
      <p>Yet in the source code of Slurm there are already some
        preprocessor switches for HWLOC 2. <br>
      </p>
      <p>Any hints welcome. <br>
      </p>
      <p>Best, <br>
      </p>
      <p>Andreas Henkel<br>
      </p>
    </blockquote>
  </body>
</html>