Summary: | sys-cluster/torque-6.0.4-r2 - machine.cpp: error: struct hwloc_obj has no member named memory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Gentoo Cluster Team <cluster> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | l_indien |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.portage.tar.bz2 logs.tar.bz2 sys-cluster:torque-6.0.4-r2:20220302-115012.log.bz2 temp.tar.bz2 |
Description
Toralf Förster
2022-03-02 13:04:02 UTC
Created attachment 766141 [details]
emerge-info.txt
Created attachment 766142 [details]
emerge-history.txt
Created attachment 766143 [details]
environment
Created attachment 766144 [details]
etc.portage.tar.bz2
Created attachment 766145 [details]
logs.tar.bz2
Created attachment 766146 [details]
sys-cluster:torque-6.0.4-r2:20220302-115012.log.bz2
Created attachment 766147 [details]
temp.tar.bz2
The following patch seems to fix this issue. The first part (removing undefined flags) maybe suspicious, though... --- torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/resmom/mom_main.c 2022-03-13 16:17:07.570759335 +0100 +++ torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/resmom/mom_main.c 2022-03-13 16:55:25.287022431 +0100 @@ -4711,7 +4711,7 @@ int cg_initialize_hwloc_topology() read_all_devices(); unsigned long flags = HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM; - flags |= HWLOC_TOPOLOGY_FLAG_IO_DEVICES; + //flags |= HWLOC_TOPOLOGY_FLAG_IO_DEVICES; #ifdef NVIDIA_GPUS /* Include IO devices (i.e. PCI devices) when loading topology information. @@ -4719,7 +4719,7 @@ int cg_initialize_hwloc_topology() * HWLOC_TOPOLOGY_FLAG_IO_DEVICES was introduced in hwloc 1.3. If NVIDIA_GPUS is defined * --enable-nvidia-gpus was used, which requires hwloc 1.9 or later. */ - flags |= HWLOC_TOPOLOGY_FLAG_IO_DEVICES; + //flags |= HWLOC_TOPOLOGY_FLAG_IO_DEVICES; #endif if ((hwloc_topology_set_flags(topology, flags) != 0)) --- torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/numa_socket.cpp 2017-08-30 00:25:11.000000000 +0200 +++ torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/numa_socket.cpp 2022-03-13 16:41:23.702248881 +0100 @@ -116,10 +116,10 @@ int Socket::initializeAMDSocket(hwloc_ob hwloc_obj_t prev = NULL; this->id = socket_obj->logical_index; - this->memory = socket_obj->memory.total_memory / 1024; + this->memory = socket_obj->total_memory / 1024; this->available_memory = this->memory; - this->socket_cpuset = socket_obj->allowed_cpuset; - this->socket_nodeset = socket_obj->allowed_nodeset; + this->socket_cpuset = hwloc_topology_get_allowed_cpuset(topology); + this->socket_nodeset = hwloc_topology_get_allowed_nodeset(topology); hwloc_bitmap_list_snprintf(this->socket_cpuset_string, MAX_CPUSET_SIZE, this->socket_cpuset); hwloc_bitmap_list_snprintf(this->socket_nodeset_string, MAX_NODESET_SIZE, this->socket_nodeset); @@ -156,10 +156,10 @@ int Socket::initializeIntelSocket(hwloc_ hwloc_obj_t prev = NULL; this->id = socket_obj->logical_index; - this->memory = socket_obj->memory.total_memory / 1024; + this->memory = socket_obj->total_memory / 1024; this->available_memory = this->memory; - this->socket_cpuset = socket_obj->allowed_cpuset; - this->socket_nodeset = socket_obj->allowed_nodeset; + this->socket_cpuset = hwloc_topology_get_allowed_cpuset(topology); + this->socket_nodeset = hwloc_topology_get_allowed_nodeset(topology); hwloc_bitmap_list_snprintf(this->socket_cpuset_string, MAX_CPUSET_SIZE, this->socket_cpuset); hwloc_bitmap_list_snprintf(this->socket_nodeset_string, MAX_NODESET_SIZE, this->socket_nodeset); --- torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/machine.cpp 2017-08-30 00:25:11.000000000 +0200 +++ torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/machine.cpp 2022-03-13 16:35:24.885646865 +0100 @@ -91,7 +91,7 @@ int get_machine_total_memory(hwloc_topol return(PBSE_SYSTEM); } - *memory = machine_obj->memory.total_memory; + *memory = machine_obj->total_memory; return(PBSE_NONE); } @@ -296,7 +296,7 @@ int Machine::initializeMachine(hwloc_top } /* We have the machine object. Fill in what we know */ - totalMemory = obj->memory.total_memory / 1024; + totalMemory = obj->total_memory / 1024; machine_cpuset = hwloc_topology_get_allowed_cpuset(topology); machine_nodeset = hwloc_topology_get_allowed_nodeset(topology); /* initialize the machines cpuset and nodeset strings */ --- torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/numa_chip.cpp 2022-03-13 16:33:17.938018692 +0100 +++ torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/numa_chip.cpp 2022-03-13 16:39:17.387628829 +0100 @@ -612,10 +612,10 @@ int Chip::initializeChip(hwloc_obj_t chi this->id = chip_obj->logical_index; // Store the memory in kb - this->memory = chip_obj->memory.local_memory / 1024; + this->memory = chip_obj->attr->numanode.local_memory / 1024; this->available_memory = this->memory; - this->chip_cpuset = chip_obj->allowed_cpuset; - this->chip_nodeset = chip_obj->allowed_nodeset; + this->chip_cpuset = hwloc_topology_get_allowed_cpuset(topology); + this->chip_nodeset = hwloc_topology_get_allowed_nodeset(topology); hwloc_bitmap_list_snprintf(this->chip_cpuset_string, MAX_CPUSET_SIZE, this->chip_cpuset); hwloc_bitmap_list_snprintf(this->chip_nodeset_string, MAX_CPUSET_SIZE, this->chip_nodeset); this->totalCores = hwloc_get_nbobjs_inside_cpuset_by_type(topology, this->chip_cpuset, HWLOC_OBJ_CORE); --- torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/numa_core.cpp 2017-08-30 00:25:11.000000000 +0200 +++ torque-6a0b37f85c7d644e9217cbab1542792d646f59a6/src/lib/Libutils/numa_core.cpp 2022-03-13 16:39:43.810967724 +0100 @@ -38,8 +38,8 @@ int Core::initializeCore(hwloc_obj_t cor { /* We now need to find all of the processing units associated with this core */ this->id = core_obj->logical_index; - this->core_cpuset = core_obj->allowed_cpuset; - this->core_nodeset = core_obj->allowed_nodeset; + this->core_cpuset = hwloc_topology_get_allowed_cpuset(topology); + this->core_nodeset = hwloc_topology_get_allowed_nodeset(topology); hwloc_bitmap_list_snprintf(this->core_cpuset_string, MAX_CPUSET_SIZE, this->core_cpuset); hwloc_bitmap_list_snprintf(this->core_nodeset_string, MAX_NODESET_SIZE, this->core_nodeset); translate_range_string_to_vector(this->core_cpuset_string, this->indices); |