HPC/Applications/python: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
Line 11: Line 11:
  '''python-''osname'''''/''pyMajor.pyMinor''/''compilerName-compMajor.compMinor''/''pyMajor.pyMinor.pyPatch''
  '''python-''osname'''''/''pyMajor.pyMinor''/''compilerName-compMajor.compMinor''/''pyMajor.pyMinor.pyPatch''


=== Conda-based Python suite from a distributor ===
=== Conda-based Python suites ===
These packages (and their moduels) are rather wide-ranging Python "suites".
These packages are not specific applications but rather wide-ranging ''software suites'' which typically contain:
They contain:
* a Python interpreter
* the Python base interpreter
* the conda/pip package management systems,
* the conda/pip package management systems, and,
* a rich set of Python-native packages and add-on executables as selected by the distributor,
* a set of default packages selected by the distributor.
* all underlying libraries like LAPACK and possibly even MPI.
* '''Caveat''': The "Intel Python Distribution" also contains an '''Intel-MPI Runtime''' (<code>mpirun</code> and related binaries and libraries). This allows convenient use of parallel python features but can clash with other MPI modules on Carbon.
** Idle – Python Integrated DeveLopment Environment
** Tcl – Interpreter for the Tool Command Language
** MPI – Runtime environment for parallel applications using Message Passing Interface.
 
'''Caveat''': An MPI Runtime (<code>mpirun</code> and related binaries and libraries)
within a Python subsystem makes parallel computing easily accessible under Python,
but this means loading a "mere python module"  can clash with other MPI implementations on Carbon,
which can cause jobs with unrelated compiled applictions to run incorrectly.
 
  '''python-''distributor'''''/''pyMajor.pyMinor''/''distMajor''/''distributor_defined_version[…]-moduleBuild''
  '''python-''distributor'''''/''pyMajor.pyMinor''/''distMajor''/''distributor_defined_version[…]-moduleBuild''



Revision as of 22:41, January 9, 2018

Python variants

Interpreter-only releases from the Python Software Foundation

Releases of just a Python interpreter from the python.org sources:

python/pyMajor.pyMinor/compilerName-compMajor.compMinor/pyMajor.pyMinor.pyPatch-moduleBuild

Releases bundled with the OS

The Python interpreter that comes with the operating system is required for many system-provided and add-on packages. It normally does not need to be loaded as a module, but is included here for visibility in the module system.

python-osname/pyMajor.pyMinor/compilerName-compMajor.compMinor/pyMajor.pyMinor.pyPatch

Conda-based Python suites

These packages are not specific applications but rather wide-ranging software suites which typically contain:

  • a Python interpreter
  • the conda/pip package management systems,
  • a rich set of Python-native packages and add-on executables as selected by the distributor,
  • all underlying libraries like LAPACK and possibly even MPI.
    • Idle – Python Integrated DeveLopment Environment
    • Tcl – Interpreter for the Tool Command Language
    • MPI – Runtime environment for parallel applications using Message Passing Interface.

Caveat: An MPI Runtime (mpirun and related binaries and libraries) within a Python subsystem makes parallel computing easily accessible under Python, but this means loading a "mere python module" can clash with other MPI implementations on Carbon, which can cause jobs with unrelated compiled applictions to run incorrectly.

python-distributor/pyMajor.pyMinor/distMajor/distributor_defined_version[…]-moduleBuild

Conda environments

These packages are conda environments, derived from one of the conda suites , with package selection customized for Carbon:

python-env-distributor/pyMajor.pyMinor/distMajor/pyVersion[…]-moduleBuild
# or?
python-env-distributor-Carbon/pyMajor.pyMinor/distMajor/pyVersion[…]-moduleBuild
# Possible extension for alternative package selections:
python-env-distributor-purpose/pyMajor.pyMinor/distMajor/pyVersion[…]-moduleBuild