Add workaround for MPICH 4.2.0
See: https://github.com/pmodels/mpich/issues/6946 Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
This commit is contained in:
		
							parent
							
								
									067919c135
								
							
						
					
					
						commit
						f90172ab77
					
				
							
								
								
									
										36
									
								
								pkgs/mpich-fix-hwtopo.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								pkgs/mpich-fix-hwtopo.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | diff --git a/src/util/mpir_hwtopo.c b/src/util/mpir_hwtopo.c
 | ||||||
|  | index 33e88bc..ee3641c 100644
 | ||||||
|  | --- a/src/util/mpir_hwtopo.c
 | ||||||
|  | +++ b/src/util/mpir_hwtopo.c
 | ||||||
|  | @@ -200,18 +200,6 @@ int MPII_hwtopo_init(void)
 | ||||||
|  |  #ifdef HAVE_HWLOC | ||||||
|  |      bindset = hwloc_bitmap_alloc(); | ||||||
|  |      hwloc_topology_init(&hwloc_topology); | ||||||
|  | -    char *xmlfile = MPIR_pmi_get_jobattr("PMI_hwloc_xmlfile");
 | ||||||
|  | -    if (xmlfile != NULL) {
 | ||||||
|  | -        int rc;
 | ||||||
|  | -        rc = hwloc_topology_set_xml(hwloc_topology, xmlfile);
 | ||||||
|  | -        if (rc == 0) {
 | ||||||
|  | -            /* To have hwloc still actually call OS-specific hooks, the
 | ||||||
|  | -             * HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM has to be set to assert that the loaded
 | ||||||
|  | -             * file is really the underlying system. */
 | ||||||
|  | -            hwloc_topology_set_flags(hwloc_topology, HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM);
 | ||||||
|  | -        }
 | ||||||
|  | -        MPL_free(xmlfile);
 | ||||||
|  | -    }
 | ||||||
|  | 
 | ||||||
|  |      hwloc_topology_set_io_types_filter(hwloc_topology, HWLOC_TYPE_FILTER_KEEP_ALL); | ||||||
|  |      if (!hwloc_topology_load(hwloc_topology))  | ||||||
|  | 
 | ||||||
|  | --- a/src/mpi/init/local_proc_attrs.c
 | ||||||
|  | +++ b/src/mpi/init/local_proc_attrs.c
 | ||||||
|  | @@ -79,10 +79,6 @@ int MPII_init_local_proc_attrs(int *p_thread_required)
 | ||||||
|  |      /* Set the number of tag bits. The device may override this value. */ | ||||||
|  |      MPIR_Process.tag_bits = MPIR_TAG_BITS_DEFAULT; | ||||||
|  | 
 | ||||||
|  | -    char *requested_kinds = MPIR_pmi_get_jobattr("PMI_mpi_memory_alloc_kinds");
 | ||||||
|  | -    MPIR_get_supported_memory_kinds(requested_kinds, &MPIR_Process.memory_alloc_kinds);
 | ||||||
|  | -    MPL_free(requested_kinds);
 | ||||||
|  | -
 | ||||||
|  |      return mpi_errno; | ||||||
|  |  } | ||||||
| @ -11,6 +11,10 @@ final: prev: | |||||||
|       paths = [ pmix.dev pmix.out ]; |       paths = [ pmix.dev pmix.out ]; | ||||||
|     }; |     }; | ||||||
|   in prev.mpich.overrideAttrs (old: { |   in prev.mpich.overrideAttrs (old: { | ||||||
|  |     patches = [ | ||||||
|  |       # See https://github.com/pmodels/mpich/issues/6946 | ||||||
|  |       ./mpich-fix-hwtopo.patch | ||||||
|  |     ]; | ||||||
|     buildInput = old.buildInputs ++ [ |     buildInput = old.buildInputs ++ [ | ||||||
|       libfabric |       libfabric | ||||||
|       pmixAll |       pmixAll | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user