HPC/Applications/python: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
Line 19: Line 19:
** Idle – Python Integrated DeveLopment Environment
** Idle – Python Integrated DeveLopment Environment
** Tcl – Interpreter for the Tool Command Language
** Tcl – Interpreter for the Tool Command Language
** MPI – Runtime environment for parallel applications using Message Passing Interface.
** MPI – Runtime environment for parallel applications using Message Passing Interface, providing the <code>mpirun</code> or <code>mpiexec</code> commands, plus related binaries and libraries.


<div style="background: #fdd">
<div style="background: #fdd">
'''Caveat''': An MPI Runtime (providing the <code>mpirun</code> or <code>mpiexec</code> commands, plus related binaries and libraries)
'''Caveat''': An MPI Runtime within a Python subsystem makes parallel computing easily accessible under Python,
within a Python subsystem makes parallel computing easily accessible under Python,
but this means a "mere python module" can clash with other MPI implementations on Carbon.
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.
Avoid loading both a Python suite and an MPI implementation at the same time, especially in your dot-files.
Doing so may lead to non-obvious failures with either the bundled parallel Python applications or (worse) unrelated compiled applications on Carbon.
</div>
</div>
  '''python-''distributor'''''/''pyMajor.pyMinor''/''distMajor''/''distributor_defined_version[…]-moduleBuild''
  '''python-''distributor'''''/''pyMajor.pyMinor''/''distMajor''/''distributor_defined_version[…]-moduleBuild''



Revision as of 22:53, 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, providing the mpirun or mpiexec commands, plus related binaries and libraries.

Caveat: An MPI Runtime within a Python subsystem makes parallel computing easily accessible under Python, but this means a "mere python module" can clash with other MPI implementations on Carbon.

Avoid loading both a Python suite and an MPI implementation at the same time, especially in your dot-files. Doing so may lead to non-obvious failures with either the bundled parallel Python applications or (worse) unrelated compiled applications on Carbon.

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