

The downside to using Anaconda on the ACCRE cluster is that the interpreter and packages provided are not specifically optimized for ACCRE hardware and will not execute code as quickly as the optimized Python build provided through Lmod. Anaconda users typically use a different tool, conda, for managing installation of additional packages and creating “virtual environments” on a single machine.

This distribution system provides a pre-compiled Python interpreter already packaged with many popular scientific libraries. Using the optimized Python builds along with the venv and pip tools to install additional user-specific packages if required.Īn alternative system for managing scientific Python libraries is the Anaconda distribution. On the ACCRE cluster, highly optimized versions of the Python interpreter are available through Lmod along with many commonly used scientific libraries which have been similarly optimized to the specific Intel CPU on each machine. Users can further maintain multiple “virtual environments” on a single machine with different packages installed using a module called venv. To manage these additional packages, Python includes standard support for easily installing additional packages from the internet with a tool called pip. However, with the help of several libraries one can perform very fast computations. On its own, the reference implementation of the Python language is poorly suited to scientific computing as it is not compiled to machine instructions and will perform large calculations slowly.


Python is an interpreted programming language that has become increasingly popular in high-performance computing environments because it’s available with an assortment of numerical and scientific computing libraries ( numpy, scipy, pandas, etc.), relatively easy to learn, open source, and free.
