Open MPI logo

Hardware Locality Users' Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Users mailing list

Subject: Re: [hwloc-users] hwloc on systems with more than 64 cpus?
From: Jirka Hladky (jhladky_at_[hidden])
Date: 2010-05-24 15:28:01


On Saturday 22 May 2010 11:42:31 am Brice Goglin wrote:
> On 17/05/2010 17:41, Jirka Hladky wrote:
> > I don't have system with 128 CPUs, but according to man page it's
> > 0x80000000000000000000000000000000
> >
> > I have attached the source code as well. See str_to_cpuset function. It
> > supports cpuset hex mask of any length.
> >
> > I understand your point to use hwloc-bind. However, I still believe that
> > supporting taskset would be a useful feature and very easy to implement
> > (you basically just convert physical CPU # into hex). taskset is
> > currently THE user-space program to set CPU affinity. I understand that
> > it's probably too late for this release. But perhaps you can consider it
> > for the next release.
>
> Hello Jirka,
>
> I have added --taskset options to hwloc-calc, hwloc-bind and lstopo. It
> uses some new hwloc_cpuset_taskset_snprint/asprintf/sscanf() functions.
>
> See the patch at:
>
> https://svn.open-mpi.org/trac/hwloc/changeset?new=2120%40trunk&old=2119%40t
> runk (applies to trunk, but not to 1.0)
>
> The easiest way for you to test it might be tomorrow's nightly tarball
> (http://www.open-mpi.org/software/hwloc/nightly/trunk/).
>
> Brice

Hi Brice,

thanks a lot for the patch. I have tested hwloc-1.1a1r2130 from May 22.

I have tested it on the box with 64 cores.

lstopo --taskset --cpuset
works as expected. Correct taskset string is generated. That's great news!!
:-)

What's confusing is that --taskset alone (without --cpuset) has no effect at
all. IMHO, --cpuset and --taskset should be mutually exclusive options.

I was not able to get hwloc-distrib working together with hwloc-calc to get
expected output:
hwloc-distrib --single 8
0x00000001
0x00000010
0x00000002
0x00000020
0x00000004
0x00000040
0x00000008
0x00000080

but
hwloc-distrib --single 8 | xargs hwloc-calc --taskset
will produce
0xff ???

Could you please suggest what am I doing wrong or perhaps add support of
--taskset to
hwloc-distrib
command directly?

Thanks a lot for looking into it!!!
Jirka