NERSCPowering Scientific Discovery Since 1974

Python

Python is an interpreted, general-purpose high-level programming language. Python is available to Cori and Edison users through the Anaconda distribution. Using Python at NERSC requires at least one "module load" command. Using the system-provided Python (from /usr/bin) is strongly discouraged except for the simplest tasks, as it can be a much older version of Python than that provided by NERSC for users.

Python users may also be interested in the experimental IPython/Jupyter notebook web application service.

Anaconda Python

The Anaconda distribution provides an alternative to NERSC's Python installation on the Cray systems. This page instructs users on how to use the Anaconda distribution at NERSC. Read More »

Running Scripts

Python scripts can be run on Cray compute nodes and login nodes (with considerations). This page describes how to run serial or parallel (multiprocessing or MPI) Python jobs on the Cray systems at NERSC. Read More »

Scaling Up

Creating parallel Python codes that robustly scale in modern high-performance computing environments can be challenging. Here we outline various strategies to scale parallel Python applications at NERSC. Read More »

Python at NERSC FAQ

Have a question about using Python on NERSC's supercomputers that you think others might have already asked? This FAQ may be useful to you. If you have suggestions or updates for the NERSC Python FAQ, contact consult@nersc.gov. Read More »

Best Practices

Our goal is to provide options to Python users and help them pick the best solution for them. Here are some evolving best practices Python users should observe. Read More »

Python on Cori KNL

The many-core Intel Xeon Phi (Knights Landing, KNL) architecture presents new opportunities for science applications in terms of scaling within a compute node from parallelism at the thread and vector register level. However, for Python applications, the KNL architecture poses numerous challenges as well. Read More »

Availability

NERSC systems where Python modules are available, and what versions are available. Read More »