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