first review

This commit is contained in:
2014-04-29 10:39:00 +02:00
parent ddfe3143e7
commit 3c8fb99bf7

View File

@@ -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