Skip to content

Materials for a two-part seminar on introducing python and its use in HPC. Suitable for inclusion in a course.

Notifications You must be signed in to change notification settings

appeltel/python-hpc-seminar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-hpc-seminar

Note: This version of the seminar is specifically tailored to the Vanderbilt Scientific Computing 3260 course and some slides/materials may pertain specifically to this course or the ACCRE facility.

This repository contains materials for a two-part seminar on introducing python and its use in HPC. They are intended to be delivered in a seminar, and so not all materials may be coherently readable on their own.

Overview

These are materials for a two-part seminar introducing python to an audience generally familiar with high-performance computing and parallel programming, but with potentially little to no experience in python.

The first part introduces some features of the python language and multiprocessing tools available in the standard library of the reference implementation. Issues of general performance and unsuitability for scientific computing are discussed.

The second part introduces some commonly used scientific libraries starting with numpy, and explores how these extensions provide a framework for parallel, high-performance computation. Some examples of machine learning libraries are also presented. The seminar concludes with an introduction to Jupyter notebooks and some plotting libraries.

Part One: The Python Language and Standard Library

Outline:

  • Benefits of python / why use python?
  • General features of the python language
  • Inner workings and performance
  • Multithreading and multiprocessing examples
  • A few words on concurrency

Resource Links:

Part Two: Scientific Libraries and Tools for Python

Outline:

  • Packaging and distributing libraries, pip, PyPI, Anaconda
  • Introduction to numpy
  • Revisiting part one multiprocessing examples with numpy
  • A quick tour of some scientific libraries
  • Jupyter notebooks and literate programming
  • Making pretty and interactive plots

Resource Links:

About

Materials for a two-part seminar on introducing python and its use in HPC. Suitable for inclusion in a course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published