Skip to content

Files

Latest commit

81f02d5 · Feb 5, 2024

History

History

source-code

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 5, 2024
Jan 31, 2024
Apr 10, 2020
Oct 23, 2021
Feb 2, 2024
Jan 31, 2024
Dec 6, 2019
Jan 20, 2022
May 5, 2022
Jan 30, 2024
Dec 4, 2023
Nov 28, 2023
May 3, 2022
Jul 13, 2021
Dec 6, 2019
Dec 10, 2019
Feb 2, 2024

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