Skip to content

Latest commit

 

History

History

source-code

Source code

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.

Requirements

  • Python version: at least 3.6
  • Packages (names listed taht can be used with pip or conda to install):
    • cython
    • dask
    • numba
    • numpy
    • numexpr
    • scipy
    • matplotlib
    • mpi4py
    • pytables
    • jupyter
    • ipywidgets

What is it?

  1. cython: illustrations of how to use Cython to speed up Python.
  2. dask: examples of how to use dask for distributed computing.
  3. interfacing-c-c++-fortran: illustrations of ctypes, SWIG and f2py to interface with C, C++ and Fortran code.
  4. ising: example of speeding up a Python simulation by wrapping C++ code using SWIG.
  5. mpi4py: illustrations of distributed programming using MPI.
  6. multiprocessing: illustrations of multithreaded programming using multiprocessing.
  7. numba: illustration of using the numba library.
  8. profiling: some illustrations and how-to on profiling a Python application.
  9. pyspark: illustrations of using PySpark.
  10. hdf5: examples of parallel I/O using HDF5.
  11. numpy-scipy: some numpy/scipy codes for benchmakring.
  12. pypy: code to experiment with the Pypy interpreter.
  13. file-formats: influcence of file formats on performance.
  14. performance: general considerations about performance.
  15. convolution: wrap up exercise to apply all techniques.

Note: the GPU code in this repository was moved to its own repository