Skip to content
Snippets Groups Projects
  • Mark OLESEN's avatar
    c91fc6f4
    CONFIG: rationalize mpi config tuning (#1910) · c91fc6f4
    Mark OLESEN authored
    - prefix FOAM_MPI and library directories with 'sys-' for system
      versions for uniform identication.
    
      WM_MPLIB      | libdir (FOAM_MPI)  | old naming |
      SYSTEMMPI     | sys-mpi            | mpi        |
      SYSTEMOPENMPI | sys-openmpi        | openmpi-system |
    
    - prefix preferences with 'prefs.' to make them more easily
      identifiable, and update bin/tools/create-mpi-config accordingly
    
          Old name: config.{csh,sh}/openmpi
          New name: config.{csh,sh}/prefs.openmpi
    
    - additional mpi preferences now available:
        * prefs.intelmpi
        * prefs.mpich
        ...
    
    CONFIG: added hook for EASYBUILDMPI (eb-mpi), somewhat like USERMPI
    
    - EasyBuild uses mpicc when compiling, so no explicit wmake rules are
      used
    
    ENH: support different major versions for system openmpi
    
    - for example, with
    
         WM_MPLIB=SYSTEMOPENMPI2
    
      defines FOAM_MPI=sys-openmpi2 and thus creates lib/sys-openmpi2
    
    ENH: centralize handling of mpi as 'mpi-rules'
    
        Before:
            sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB)
            sinclude $(DEFAULT_RULES)/mplib$(WM_MPLIB)
    
            ifeq (,$(FOAM_MPI_LIBBIN))
                FOAM_MPI_LIBBIN := $(FOAM_LIBBIN)/$(FOAM_MPI)
            endif
    
        After:
            include $(GENERAL_RULES)/mpi-rules
    
    - also allows variants such as SYSTEMOPENMPI2 to be handled separately
    c91fc6f4
    History
    CONFIG: rationalize mpi config tuning (#1910)
    Mark OLESEN authored
    - prefix FOAM_MPI and library directories with 'sys-' for system
      versions for uniform identication.
    
      WM_MPLIB      | libdir (FOAM_MPI)  | old naming |
      SYSTEMMPI     | sys-mpi            | mpi        |
      SYSTEMOPENMPI | sys-openmpi        | openmpi-system |
    
    - prefix preferences with 'prefs.' to make them more easily
      identifiable, and update bin/tools/create-mpi-config accordingly
    
          Old name: config.{csh,sh}/openmpi
          New name: config.{csh,sh}/prefs.openmpi
    
    - additional mpi preferences now available:
        * prefs.intelmpi
        * prefs.mpich
        ...
    
    CONFIG: added hook for EASYBUILDMPI (eb-mpi), somewhat like USERMPI
    
    - EasyBuild uses mpicc when compiling, so no explicit wmake rules are
      used
    
    ENH: support different major versions for system openmpi
    
    - for example, with
    
         WM_MPLIB=SYSTEMOPENMPI2
    
      defines FOAM_MPI=sys-openmpi2 and thus creates lib/sys-openmpi2
    
    ENH: centralize handling of mpi as 'mpi-rules'
    
        Before:
            sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB)
            sinclude $(DEFAULT_RULES)/mplib$(WM_MPLIB)
    
            ifeq (,$(FOAM_MPI_LIBBIN))
                FOAM_MPI_LIBBIN := $(FOAM_LIBBIN)/$(FOAM_MPI)
            endif
    
        After:
            include $(GENERAL_RULES)/mpi-rules
    
    - also allows variants such as SYSTEMOPENMPI2 to be handled separately