first review
This commit is contained in:
@@ -128,6 +128,14 @@ Only nonfloating licenses will be taken into account.
|
|||||||
*** DONE Must Export a Predefined Subset of POSIX Standard and Other Common Environment Variables
|
*** DONE Must Export a Predefined Subset of POSIX Standard and Other Common Environment Variables
|
||||||
CLOSED: [2014-04-28 Mon 10:55]
|
CLOSED: [2014-04-28 Mon 10:55]
|
||||||
|
|
||||||
|
The following environment variable *must be set* by all modules:
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
<NAME>_VERSION
|
||||||
|
<NAME>_PREFIX
|
||||||
|
<NAME>_DIR
|
||||||
|
<NAME>_HOME
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
Every module that *has effect* on the following POSIX standard environment variables
|
Every module that *has effect* on the following POSIX standard environment variables
|
||||||
*must explicitly export* them:
|
*must explicitly export* them:
|
||||||
#+BEGIN_EXAMPLE
|
#+BEGIN_EXAMPLE
|
||||||
@@ -136,12 +144,64 @@ Every module that *has effect* on the following POSIX standard environment varia
|
|||||||
MANPATH
|
MANPATH
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
FIXME (non-POSIX, e.g. common GCC shared by many other applications):
|
FIXME (non-POSIX, e.g. common GCC shared by many other applications)
|
||||||
|
if corresponding path exists:
|
||||||
#+BEGIN_EXAMPLE
|
#+BEGIN_EXAMPLE
|
||||||
|
CPATH
|
||||||
C_INCLUDE_PATH
|
C_INCLUDE_PATH
|
||||||
...
|
CPLUS_INCLUDE_PATH
|
||||||
|
<NAME>_INCLUDE_DIR
|
||||||
|
LIBRARY_PATH
|
||||||
|
<NAME>_LIBRARY_DIR
|
||||||
|
LD_LIBRARY_PATH
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
*** IN-PROGRESS Must Export Family Environment Variables
|
||||||
|
|
||||||
|
<FAMILY>=<implementation>
|
||||||
|
<FAMILY>_VERSION=<implementation-version>
|
||||||
|
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
MPI=openmpi
|
||||||
|
MPI_VERSION=1.8.0
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
**** IN-PROGRESS Must Export Environment Variables for Compiler Implementations
|
||||||
|
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
CC
|
||||||
|
CXX
|
||||||
|
F77
|
||||||
|
F90
|
||||||
|
FC
|
||||||
|
FORTRAN
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
**** IN-PROGRESS Must Export Environment Variables for MPI Implementations
|
||||||
|
|
||||||
|
Set environment variables to corresponding MPI wrappers
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
CC
|
||||||
|
CXX
|
||||||
|
F77
|
||||||
|
F90
|
||||||
|
FC
|
||||||
|
FORTRAN
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
MPICC
|
||||||
|
MPICXX
|
||||||
|
MPIF77
|
||||||
|
MPIF90
|
||||||
|
MPIFC
|
||||||
|
MPIFORTRAN
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
Note: names without underscore seems to be more common and more
|
||||||
|
commonly uses be autotools and cmake.
|
||||||
|
|
||||||
*** IN-PROGRESS Should Export Package- or Vendor-Defined Environment Variables
|
*** IN-PROGRESS Should Export Package- or Vendor-Defined Environment Variables
|
||||||
|
|
||||||
@@ -153,38 +213,7 @@ scientific libraries, and Python.
|
|||||||
|
|
||||||
The details for specific packages must be discussed with future maintainers.
|
The details for specific packages must be discussed with future maintainers.
|
||||||
|
|
||||||
Exaples follow.
|
Examples follow.
|
||||||
|
|
||||||
**** TODO GCC Specific Environment Varaibales
|
|
||||||
|
|
||||||
FIXME:
|
|
||||||
#+BEGIN_EXAMPLE
|
|
||||||
CC=gcc
|
|
||||||
CXX=g++
|
|
||||||
FC=gfort
|
|
||||||
|
|
||||||
CFLAGS
|
|
||||||
FFLAGS
|
|
||||||
|
|
||||||
LIBRARY_PATH
|
|
||||||
#+END_EXAMPLE
|
|
||||||
|
|
||||||
|
|
||||||
**** TODO GSL Specific Environment Varaibales
|
|
||||||
|
|
||||||
#+BEGIN_EXAMPLE
|
|
||||||
GSL_HOME
|
|
||||||
|
|
||||||
-I$GSL_HOME/include -L$GSL_HOME/lib -l...
|
|
||||||
#+END_EXAMPLE
|
|
||||||
|
|
||||||
|
|
||||||
**** TODO HDF5 Specific Environment Varaibales
|
|
||||||
|
|
||||||
#+BEGIN_EXAMPLE
|
|
||||||
HDF5_DIR
|
|
||||||
#+END_EXAMPLE
|
|
||||||
|
|
||||||
|
|
||||||
**** TODO Intel Specific Environment Varaibales
|
**** TODO Intel Specific Environment Varaibales
|
||||||
|
|
||||||
@@ -214,25 +243,11 @@ Set the following variavbles for Intel compilers and their dependencies:
|
|||||||
|
|
||||||
|
|
||||||
**** TODO MPICH2 Specific Environment Varaibales
|
**** TODO MPICH2 Specific Environment Varaibales
|
||||||
|
Are there specific environment variables? Or are the more generic
|
||||||
|
family variables sufficient?
|
||||||
FIXME
|
|
||||||
#+BEGIN_EXAMPLE
|
|
||||||
MPICH_DIR
|
|
||||||
#+END_EXAMPLE
|
|
||||||
|
|
||||||
|
|
||||||
**** TODO OpenMPI Specific Environment Varaibales
|
**** TODO OpenMPI Specific Environment Varaibales
|
||||||
|
See comment in aboce section.
|
||||||
FIXME
|
|
||||||
#+BEGIN_EXAMPLE
|
|
||||||
OMPI_CC=mpicc
|
|
||||||
OMPI_CXX=mpic++
|
|
||||||
OMPI_F77=mpif77
|
|
||||||
OMPI_FC=mpif90
|
|
||||||
# after v.1.7:
|
|
||||||
OMPI_FC=mpifort
|
|
||||||
#+END_EXAMPLE
|
|
||||||
|
|
||||||
To be dicussed:
|
To be dicussed:
|
||||||
#+BEGIN_EXAMPLE
|
#+BEGIN_EXAMPLE
|
||||||
@@ -249,6 +264,7 @@ To be dicussed:
|
|||||||
mpicc --showme:link
|
mpicc --showme:link
|
||||||
-pthread -L/opt/mpi/openmpi-1.6.5-gcc-4.8.2-compat/lib -lmpi -ldl -lm -lnuma -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl
|
-pthread -L/opt/mpi/openmpi-1.6.5-gcc-4.8.2-compat/lib -lmpi -ldl -lm -lnuma -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
Note (Achim): no! Never need this ...
|
||||||
|
|
||||||
|
|
||||||
**** TODO PGI Specific Environment Varaibales
|
**** TODO PGI Specific Environment Varaibales
|
||||||
@@ -278,7 +294,7 @@ If /tmp may be not large enough (like on Merlin4), set suitable TMPDIR, e.g.:
|
|||||||
TMPDIR=/scratch/tmp
|
TMPDIR=/scratch/tmp
|
||||||
# where /scratch ->/home/scratch
|
# where /scratch ->/home/scratch
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
Note (Achim): TMPDIR *should not* be changed by an environment module
|
||||||
|
|
||||||
|
|
||||||
*** IN-PROGRESS Should Export Module Identifiers
|
*** IN-PROGRESS Should Export Module Identifiers
|
||||||
@@ -293,12 +309,9 @@ FIXME: examples.
|
|||||||
|
|
||||||
*** IN-PROGRESS Must Support Combinations of Local and Network Installations
|
*** IN-PROGRESS Must Support Combinations of Local and Network Installations
|
||||||
|
|
||||||
It must be possible to install locally any selfconsistent subset of environment modules.
|
It must be possible to install locally any selfconsistent subset of
|
||||||
The netwok modules should be hidden or can be made hidden when the network file system is not available.
|
environment modules. The user can select which installation he wants
|
||||||
The local modules should have priority by default.
|
to use.
|
||||||
|
|
||||||
It may be possible to select whether the locally installed modules override the
|
|
||||||
corresponding network modules when the latter are available.
|
|
||||||
|
|
||||||
|
|
||||||
*** DONE Top Level Directory :PROVIDER_PREFIX:
|
*** DONE Top Level Directory :PROVIDER_PREFIX:
|
||||||
@@ -310,6 +323,9 @@ See [[[TLD]]] for the PSI specific implementation details.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
** IN-PROGRESS Must Support Modules at Multiple Locations
|
||||||
|
Idea: Modules in the user's home directory must be supported
|
||||||
|
|
||||||
** DONE May Support Runtime Environments when Complete Development Environments are not Desirable
|
** DONE May Support Runtime Environments when Complete Development Environments are not Desirable
|
||||||
CLOSED: [2014-04-28 Mon 11:24]
|
CLOSED: [2014-04-28 Mon 11:24]
|
||||||
|
|
||||||
@@ -334,6 +350,8 @@ If possible, make it "should support" requirement.
|
|||||||
There may be a mechanism to hide (default) or unhide modules, which are not intended for general use,
|
There may be a mechanism to hide (default) or unhide modules, which are not intended for general use,
|
||||||
e.g. of development and testing type, from the standard workflow.
|
e.g. of development and testing type, from the standard workflow.
|
||||||
|
|
||||||
|
Note(Achim): Hiding should be implemented via MODULEPATH. Modules in
|
||||||
|
testing state should print a warning. Everything else will end in a nightmare.
|
||||||
|
|
||||||
** DONE Must Define Minimum System Requirements to Support Generic Modules
|
** DONE Must Define Minimum System Requirements to Support Generic Modules
|
||||||
CLOSED: [2014-04-28 Mon 11:42]
|
CLOSED: [2014-04-28 Mon 11:42]
|
||||||
@@ -408,6 +426,11 @@ of environment modules:
|
|||||||
|
|
||||||
For the PSI implementation *MODULEPATH_ROOT=/opt/psi/modulefiles*.
|
For the PSI implementation *MODULEPATH_ROOT=/opt/psi/modulefiles*.
|
||||||
|
|
||||||
|
Note (Achim): Actually I like the idea of something like a
|
||||||
|
MODULEROOT_PATH. It should be possible to implement multiple
|
||||||
|
hierarchies. This can be easly implemented with the extendet TCL
|
||||||
|
Modules, I guess it wouldn't be to hard to implement this with Lua-Modules.
|
||||||
|
|
||||||
|
|
||||||
*** IN-PROGRESS The Layout of Subdirectories Used for Configuration of Environment Modules
|
*** IN-PROGRESS The Layout of Subdirectories Used for Configuration of Environment Modules
|
||||||
|
|
||||||
@@ -435,6 +458,7 @@ FIXME
|
|||||||
PSI_MPI_VERSION
|
PSI_MPI_VERSION
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
Note (Achim): Use case?
|
||||||
|
|
||||||
** TODO Mainterners of Environment Modules and Their Responsibilities
|
** TODO Mainterners of Environment Modules and Their Responsibilities
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user