Repository files navigation This repository contains the material used for the High-Performance Computing with Python course, organized at CSCS on 6-8 July 2020.
The course covers the following topics:
Interactive parallel programming with IPython
Profiling and optimization
Vectorization with NumPy and the SciPy stack
Just-in-time compilation with Numba
Distributed-memory parallel programming with Python and MPI
Bindings to other programming languages
Interfaces to GPUs
Dr. Rafael Sarmiento (Computational Scientist, CSCS)
Dr. Tim Robinson (Computational Scientist, CSCS)
Dr. Theofilos Manitaras (Computational Scientist, CSCS)
Dr. Vasileios Karakasis (Group Lead, CSCS)
(09:00 - 09:10) Welcome
(09:10 - 09:45) Introduction to Python for HPC
(09:45 - 10:00) Python distributions and tools for HPC
(10:00 - 10:15) Break
(10:15 - 11:00) Introduction to JupyterLab
(11:00 - 12:00) Vectorization: NumPy/SciPy stack
(12:00 - 13:00) Lunch break
(13:00 - 13:30) Profiling and memory management in Python
(13:30 - 14:00) Just in time compilation with Numba (Part 1)
(14:00 - 14:15) Break
(14:15 - 15:00) Dask: task graphs
(15:00 - 16:00) Dask: data structures
(09:00 - 10:00) Just in time compilation with Numba (Part 2)
(10:00 - 10:15) Break
(10:15 - 12:00) Optimizing code with Cython
(12:00 - 13:00) Lunch
(13:00 - 14:00) Language bindings: F2PY
(14:00 - 14:15) Break
(14:15 - 15:00) Language bindings: CFFI
(15:00 - 16:00) Q&A
(09:00 - 10:00) Just in time compilation with Numba: GPU (Part 1)
(10:00 - 10:15) Break
(10:15 - 12:00) Just in time compilation with Numba: GPU (Part 2)
(12:00 - 13:00) Lunch break
(13:00 - 14:00) Computing on the GPU with CuPy
(14:00 - 14:15) Break
(14:15 - 15:00) Parallelizing workflows with IPyParallel and MPI4Py
(15:00 - 15:15) Conclusions
(15:15 - 16:00) Q&A
About
PythonHPC
Resources
License
Stars
Watchers
Forks
Languages
Jupyter Notebook
91.3%
Python
7.3%
Other
1.4%
You can’t perform that action at this time.