This is source code that is either used in the presentation, or was developed to create it. There is some material not covered in the presentation as well.
- Python version: at least 3.6
- Packages (names listed taht can be used with
piporcondato install):- cython
- dask
- numba
- numpy
- numexpr
- scipy
- matplotlib
- mpi4py
- pytables
- jupyter
- ipywidgets
cython: illustrations of how to use Cython to speed up Python.dask: examples of how to use dask for distributed computing.interfacing-c-c++-fortran: illustrations of ctypes, SWIG and f2py to interface with C, C++ and Fortran code.ising: example of speeding up a Python simulation by wrapping C++ code using SWIG.mpi4py: illustrations of distributed programming using MPI.multiprocessing: illustrations of multithreaded programming using multiprocessing.numba: illustration of using the numba library.profiling: some illustrations and how-to on profiling a Python application.pyspark: illustrations of using PySpark.hdf5: examples of parallel I/O using HDF5.numpy-scipy: some numpy/scipy codes for benchmakring.pypy: code to experiment with the Pypy interpreter.file-formats: influcence of file formats on performance.performance: general considerations about performance.convolution: wrap up exercise to apply all techniques.
Note: the GPU code in this repository was moved to its own repository