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
|
||||
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
|
||||
*must explicitly export* them:
|
||||
#+BEGIN_EXAMPLE
|
||||
@@ -136,12 +144,64 @@ Every module that *has effect* on the following POSIX standard environment varia
|
||||
MANPATH
|
||||
#+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
|
||||
CPATH
|
||||
C_INCLUDE_PATH
|
||||
...
|
||||
CPLUS_INCLUDE_PATH
|
||||
<NAME>_INCLUDE_DIR
|
||||
LIBRARY_PATH
|
||||
<NAME>_LIBRARY_DIR
|
||||
LD_LIBRARY_PATH
|
||||
#+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
|
||||
|
||||
@@ -153,38 +213,7 @@ scientific libraries, and Python.
|
||||
|
||||
The details for specific packages must be discussed with future maintainers.
|
||||
|
||||
Exaples 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
|
||||
|
||||
Examples follow.
|
||||
|
||||
**** TODO Intel Specific Environment Varaibales
|
||||
|
||||
@@ -214,25 +243,11 @@ Set the following variavbles for Intel compilers and their dependencies:
|
||||
|
||||
|
||||
**** TODO MPICH2 Specific Environment Varaibales
|
||||
|
||||
|
||||
FIXME
|
||||
#+BEGIN_EXAMPLE
|
||||
MPICH_DIR
|
||||
#+END_EXAMPLE
|
||||
|
||||
Are there specific environment variables? Or are the more generic
|
||||
family variables sufficient?
|
||||
|
||||
**** TODO OpenMPI Specific Environment Varaibales
|
||||
|
||||
FIXME
|
||||
#+BEGIN_EXAMPLE
|
||||
OMPI_CC=mpicc
|
||||
OMPI_CXX=mpic++
|
||||
OMPI_F77=mpif77
|
||||
OMPI_FC=mpif90
|
||||
# after v.1.7:
|
||||
OMPI_FC=mpifort
|
||||
#+END_EXAMPLE
|
||||
See comment in aboce section.
|
||||
|
||||
To be dicussed:
|
||||
#+BEGIN_EXAMPLE
|
||||
@@ -249,6 +264,7 @@ To be dicussed:
|
||||
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
|
||||
#+END_EXAMPLE
|
||||
Note (Achim): no! Never need this ...
|
||||
|
||||
|
||||
**** 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
|
||||
# where /scratch ->/home/scratch
|
||||
#+END_EXAMPLE
|
||||
|
||||
Note (Achim): TMPDIR *should not* be changed by an environment module
|
||||
|
||||
|
||||
*** IN-PROGRESS Should Export Module Identifiers
|
||||
@@ -293,12 +309,9 @@ FIXME: examples.
|
||||
|
||||
*** IN-PROGRESS Must Support Combinations of Local and Network Installations
|
||||
|
||||
It must be possible to install locally any selfconsistent subset of environment modules.
|
||||
The netwok modules should be hidden or can be made hidden when the network file system is not available.
|
||||
The local modules should have priority by default.
|
||||
|
||||
It may be possible to select whether the locally installed modules override the
|
||||
corresponding network modules when the latter are available.
|
||||
It must be possible to install locally any selfconsistent subset of
|
||||
environment modules. The user can select which installation he wants
|
||||
to use.
|
||||
|
||||
|
||||
*** 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
|
||||
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,
|
||||
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
|
||||
CLOSED: [2014-04-28 Mon 11:42]
|
||||
@@ -408,6 +426,11 @@ of environment modules:
|
||||
|
||||
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
|
||||
|
||||
@@ -435,6 +458,7 @@ FIXME
|
||||
PSI_MPI_VERSION
|
||||
#+END_EXAMPLE
|
||||
|
||||
Note (Achim): Use case?
|
||||
|
||||
** TODO Mainterners of Environment Modules and Their Responsibilities
|
||||
|
||||
|
||||
Reference in New Issue
Block a user