Skip to content

EricSchles/pyhpc-tutorial

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python in HPC Tutorial

Python is a versatile language for the HPC community, with tools as diverse as visualizing large amounts of data, creating innovative user interfaces, and running large distributed jobs. Unfortunately, Python has a reputation for being slow and unfit for HPC computing. HPC Python experts and Shaheen's sixty-five thousand cores disagree. As HPC increases its vision to big data and non-traditional applications, it must also use languages that are easier for the novice, more robust to general computing, and more productive for the expert.

Using Python in a performant way moves HPC applications ever closer to these goals. This success has made Python a requirement for supporting users new to the HPC field and a good choice for practitioners to adopt. In this tutorial, we give students practical experience using Python for scientific computing tasks from leaders in the field of Scientific Python.

Topics include linear algebra and array computing with NumPy, interactive and parallel software development with IPython, performance and painless low-level C linking with Cython, and the friendliest performant interfaces to MPI available.

Using the material

This tutorial is developed as a set of IPython Notebooks. To run, you only need to install IPython Notebook, then navigate to this directory and launch the notebooks.

About

Python for HPC Tutorial Notebooks

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TeX 51.6%
  • Python 31.0%
  • C 10.6%
  • HTML 3.8%
  • JavaScript 1.6%
  • Makefile 0.9%
  • C++ 0.5%