Le 29/11/2017 15:21, David Creasy a écrit :
> Hello Brice,
>
> That makes perfect sense, and yes I do see group objects on larger
> systems. I was hoping to use the number of groups to see if it was
> safe to call hwloc_set_proc_cpubind(), but I obviously can't. I can of
> course simply call the Windows GetActiveProcessorGroupCount() function
> instead.
>
> As I'm sure you know, the windows implementation of
> hwloc_set_proc_cpubind has:
>
> hwloc_win_set_proc_cpubind(hwloc_topology_t topology...)
> {
>   assert(nr_processor_groups == 1);

This internal function should not be called at all when
nr_processor_groups>1.
Calling the API hwloc_set_proc_cpubind() should return an error and
never cause that assertion failure.

> Guess it might help to clarify when groups are assigned in the
> documentation.

I'll look at it, thanks.

Brice


>
> Thank you,
>
> David
>
> On 29/11/2017 13:35, Brice Goglin wrote:
>> Hello
>>
>> We only add hwloc Group objects when necessary. On your system, each
>> processor group contains a single NUMA node, so these Groups would not
>> really bring additional information about the hierarchy of resources.
>> If you had a bigger system with, let's say, 4 NUMA nodes, with 2 of them
>> in each processor groups, hwloc would report those as hwloc Group
>> objects.
>>
>> Does this help? I can clarify the FAQ if needed.
>>
>> Brice
>>
>>
>>
>> Le 29/11/2017 14:25, David Creasy a écrit :
>>> Hello,
>>>
>>> Thank you to all contributors to hwloc - very useful.
>>>
>>> In the FAQ,  under the section "What are these Group objects in my
>>> topology?" it says that they are used for "Windows processor groups".
>>> However, I'm either not seeing this, or I'm looking in the wrong
>>> place. On a system with two processor groups, I get:
>>>
>>> C:\temp\hwloc-win64-build-1.11.8\bin>hwloc-info.exe
>>> depth 0:        1 Machine (type #1)
>>>   depth 1:       2 NUMANode (type #2)
>>>    depth 2:      2 Package (type #3)
>>>     depth 3:     2 L3Cache (type #4)
>>>      depth 4:    12 L2Cache (type #4)
>>>       depth 5:   12 L1dCache (type #4)
>>>        depth 6:  12 L1iCache (type #4)
>>>         depth 7: 12 Core (type #5)
>>>          depth 8:        24 PU (type #6)
>>>
>>> C:\temp\hwloc-win64-build-1.11.8\bin>hwloc-ls.exe
>>> Machine (1506MB total)
>>>    NUMANode L#0 (P#0 346MB) + Package L#0 + L3 L#0 (12MB)
>>>      L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
>>>        PU L#0 (P#0)
>>>        PU L#1 (P#1)
>>>      L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
>>>        PU L#2 (P#2)
>>>        PU L#3 (P#3)
>>>      L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2
>>>        PU L#4 (P#4)
>>>        PU L#5 (P#5)
>>>      L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3
>>>        PU L#6 (P#6)
>>>        PU L#7 (P#7)
>>>      L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4
>>>        PU L#8 (P#8)
>>>        PU L#9 (P#9)
>>>      L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5
>>>        PU L#10 (P#10)
>>>        PU L#11 (P#11)
>>>    NUMANode L#1 (P#1 1160MB) + Package L#1 + L3 L#1 (12MB)
>>>      L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6
>>>        PU L#12 (P#64)
>>>        PU L#13 (P#65)
>>>      L2 L#7 (256KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7
>>>        PU L#14 (P#66)
>>>        PU L#15 (P#67)
>>>      L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8
>>>        PU L#16 (P#68)
>>>        PU L#17 (P#69)
>>>      L2 L#9 (256KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9
>>>        PU L#18 (P#70)
>>>        PU L#19 (P#71)
>>>      L2 L#10 (256KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10
>>>        PU L#20 (P#72)
>>>        PU L#21 (P#73)
>>>      L2 L#11 (256KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11
>>>        PU L#22 (P#74)
>>>        PU L#23 (P#75)
>>>
>>> I definitely have 2 processor groups:
>>> C:\Windows\system32>bcdedit /enum | find "group"
>>> groupsize               6
>>> maxgroup                Yes
>>>
>>> And you can see this because the processor numbers above in the second
>>> numa node start at 64. Also, calling GetActiveProcessorGroupCount()
>>> returns 2.
>>>
>>> I was expecting to get "2" back from:
>>> hwloc_get_nbobjs_by_type(hwlocTopology_, HWLOC_OBJ_GROUP)
>>>
>>> but that returns 0. Am I doing something wrong?
>>>
>>> Thank you!
>>>
>>> David
>>>
>>
>> _______________________________________________
>> hwloc-users mailing list
>> hwloc-users@lists.open-mpi.org
>> https://lists.open-mpi.org/mailman/listinfo/hwloc-users
>>
>

_______________________________________________
hwloc-users mailing list
hwloc-users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-users

Reply via email to