Commit 3c8fb99b authored by gsell's avatar gsell
Browse files

first review

parent ddfe3143
......@@ -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,55 +144,76 @@ 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
*** IN-PROGRESS Should Export Package- or Vendor-Defined Environment Variables
<FAMILY>=<implementation>
<FAMILY>_VERSION=<implementation-version>
Each module should set the environment variables that make its use easier
for the user without additional configuration.
Special care should be taken to the interplay of the Intel, PGI, and GCC compilers,
scientific libraries, and Python.
#+BEGIN_EXAMPLE
MPI=openmpi
MPI_VERSION=1.8.0
#+END_EXAMPLE
The details for specific packages must be discussed with future maintainers.
**** IN-PROGRESS Must Export Environment Variables for Compiler Implementations
Exaples follow.
#+BEGIN_EXAMPLE
CC
CXX
F77
F90
FC
FORTRAN
#+END_EXAMPLE
**** TODO GCC Specific Environment Varaibales
**** IN-PROGRESS Must Export Environment Variables for MPI Implementations
FIXME:
Set environment variables to corresponding MPI wrappers
#+BEGIN_EXAMPLE
CC=gcc
CXX=g++
FC=gfort
CFLAGS
FFLAGS
LIBRARY_PATH
CC
CXX
F77
F90
FC
FORTRAN
#+END_EXAMPLE
**** TODO GSL Specific Environment Varaibales
or
#+BEGIN_EXAMPLE
GSL_HOME
-I$GSL_HOME/include -L$GSL_HOME/lib -l...
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.
**** TODO HDF5 Specific Environment Varaibales
*** IN-PROGRESS Should Export Package- or Vendor-Defined Environment Variables
#+BEGIN_EXAMPLE
HDF5_DIR
#+END_EXAMPLE
Each module should set the environment variables that make its use easier
for the user without additional configuration.
Special care should be taken to the interplay of the Intel, PGI, and GCC compilers,
scientific libraries, and Python.
The details for specific packages must be discussed with future maintainers.
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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment