diff --git a/ompi/mca/coll/ucg/coll_ucg_component.c b/ompi/mca/coll/ucg/coll_ucg_component.c index ecbff7feb951dda7a2877b1457d765c32fc93511..24e00c0297855c213543dcf7e007d2ffe745bebc 100644 --- a/ompi/mca/coll/ucg/coll_ucg_component.c +++ b/ompi/mca/coll/ucg/coll_ucg_component.c @@ -89,7 +89,7 @@ static int mca_coll_ucg_register(void) __asm__ volatile ("mrs %0, MIDR_EL1":"=r"(cpu_id)); unsigned long long vendor = (cpu_id >> 0x18) & 0xFF; unsigned long long part_id = (cpu_id >> 0x4) & 0xFFF; - // If CPU arch is module F, reduce priority of UCG. + // Reduce priority of UCG on some CPU archs. if ((vendor == 0x48) && (part_id == 0xD22)) { mca_coll_ucg_component.priority = 0; } diff --git a/opal/mca/hwloc/hwloc201/hwloc/hwloc/topology-linux.c b/opal/mca/hwloc/hwloc201/hwloc/hwloc/topology-linux.c index 582a1b353ea456d2d75037e78b57cb89d3853043..97d4a78160bd630a9762458f454aaba1bfa86e08 100644 --- a/opal/mca/hwloc/hwloc201/hwloc/hwloc/topology-linux.c +++ b/opal/mca/hwloc/hwloc201/hwloc/hwloc/topology-linux.c @@ -2957,18 +2957,8 @@ static int hwloc_linux_try_handle_kunpeng_moc_hwdata_properties(struct knl_hwdat hwdata->memory_mode[0] = '\0'; hwdata->cluster_mode[0] = '\0'; - unsigned long total_cache_size = 64UL*1024*1024*1024 - MCDRAM_numa_size; - - if (!MCDRAM_nbnodes) { - strcpy(hwdata->memory_mode, "Cache"); - } else { - if (!total_cache_size) - strcpy(hwdata->memory_mode, "Flat"); - else - fprintf(stderr, "Unexpected Kunpeng MCDRAM cache size %lu\n", total_cache_size); - } - - hwdata->mcdram_cache_size = total_cache_size/DDR_nbnodes; + strcpy(hwdata->memory_mode, "Cache"); + hwdata->mcdram_cache_size = 4UL*1024; hwdata->mcdram_cache_associativity = 1; hwdata->mcdram_cache_inclusiveness = 0; hwdata->mcdram_cache_line_size = 64; @@ -3365,6 +3355,9 @@ look_sysfsnode(struct hwloc_topology *topology, /* nothing else to do for DDR */ continue; } + if (data->is_kunpeng_with_moc) { + continue; + } /* MCDRAM */ nodes[i]->subtype = strdup("MCDRAM"); @@ -3410,7 +3403,7 @@ look_sysfsnode(struct hwloc_topology *topology, /* everything is ready for insertion now */ /* insert knl clusters */ - if (data->is_knl || data->is_kunpeng_with_moc) { + if (data->is_knl) { for(i=0; icpuset) && data->is_kunpeng_with_moc) { + continue; + } if ((data->is_knl || data->is_kunpeng_with_moc) && node_cluster[i] != -1) { /* directly attach to the existing cluster */ hwloc_obj_t parent = clusters[node_cluster[i]];