Difference between revisions of "SW:Python Implementations"
(→Least optimized, provided by Anaconda) |
(→Python libraries) |
||
Line 32: | Line 32: | ||
For the first '''Python''' above, there are a number of tools/libraries already built to support applications that needed them. You can use the '''module''' command to search for those available. NOTE: Be sure to match Python versions.... e.g. don't try to mix Python-2.7.10 modules with Python-2.7.12 or Python-3.5.3. For more details, see our [[SW:Toolchains | Toolchains]] page. | For the first '''Python''' above, there are a number of tools/libraries already built to support applications that needed them. You can use the '''module''' command to search for those available. NOTE: Be sure to match Python versions.... e.g. don't try to mix Python-2.7.10 modules with Python-2.7.12 or Python-3.5.3. For more details, see our [[SW:Toolchains | Toolchains]] page. | ||
− | For '''Anaconda''' and the Intel '''Python'''s, there are a number of libraries already included. Others can be installed with the "conda" command into a "virtual environment". See the [SW:Anaconda | Anaconda page]] for more details. | + | For '''Anaconda''' and the Intel '''Python'''s, there are a number of libraries already included. Others can be installed with the "conda" command into a "virtual environment". See the [[SW:Anaconda | Anaconda page]] for more details. |
Revision as of 09:51, 13 April 2018
Contents
Python
Implementations
At present, we have three "flavors"/implementations of Python.
Most optimized, locally built
Python modules that were built from source on our systems. These will be named Python/<version>-<toolchain>. For example Python/2.7.14-intel-2017b can be used with modules with intel-2017b-Python-2.7.14 in their name. Be sure not to mix Python versions or toolchains.
- these use the latest CPU capabilities for the system(s) they were built on. These include Intel's Advanced Vector Extensions (AVX).
- these are compatible with all other Python modules on the system built using the same toolchain and the same version of Python
Intel optimized, provided by Intel
Two Python modules (Python/2.7.12-2017.0.035 and Python/3.5.2-2017.0.035) built by Intel that include a number of Python libraries, all compiled with Intel optimizations. These include Anaconda and a number of other utiliies (e.g. Jupyter). More information can be found at Intel's Python distribution page.
- These were built Intel using Intel compilers but do not necessarily include optimizations for the current generation of HPC CPUs. What level of features like AVX is supported varies upon version (see Note: below).
- These can NOT be used with other Python modules on the system.
Note: At present the plan is to update them to the most recent version and rename them to IntelPython to avoid confusion.
Least optimized, provided by Anaconda
Anaconda(2/3) modules that were built elsewhere but include a number of precompiled Python libraries. More information on using Anaconda virtual environments can be found on our Anaconda page.
- These were NOT built by Intel compilers. Furthermore, they are only optimized for older architectures. They will not take advantages of modern HPC CPUs like AVX.
- These can NOT be used with other Python modules on the system.
Selecting which to use
User's wanting to use Python with other applications on the system that were built with Python (they will have Python in the version), should use the Python that matches their application. This generally precludes/excludes the use of Anaconda or the Intel Python modules
User's only wanting to use Python in isolation or with just Python modules, might find the Anaconda versions easier to use. (see our Anaconda page)
User's wanting an Intel-optimized Python might want to use the Intel provided versions. Note, however, that HPRC staff has limited experience with these versions.
Python libraries
Prebuilt
For the first Python above, there are a number of tools/libraries already built to support applications that needed them. You can use the module command to search for those available. NOTE: Be sure to match Python versions.... e.g. don't try to mix Python-2.7.10 modules with Python-2.7.12 or Python-3.5.3. For more details, see our Toolchains page.
For Anaconda and the Intel Pythons, there are a number of libraries already included. Others can be installed with the "conda" command into a "virtual environment". See the Anaconda page for more details.