HPC/Applications/python: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
Line 21: Line 21:
** MPI – Runtime environment for parallel applications using Message Passing Interface.
** MPI – Runtime environment for parallel applications using Message Passing Interface.


'''Caveat''': An MPI Runtime (<code>mpirun</code> and related binaries and libraries)
<div style="background: #fdd">
'''Caveat''': An MPI Runtime (providing the <code>mpirun</code> or <code>mpiexec</code> commands, plus related binaries and libraries)
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 loading 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.
which can cause jobs with unrelated compiled applictions to run incorrectly.
 
</div>
  '''python-''distributor'''''/''pyMajor.pyMinor''/''distMajor''/''distributor_defined_version[…]-moduleBuild''
  '''python-''distributor'''''/''pyMajor.pyMinor''/''distMajor''/''distributor_defined_version[…]-moduleBuild''



Revision as of 22:43, 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 (providing the mpirun or mpiexec commands, plus 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