Computer Applications in Physics: Parallelization and High-Performance Computing (UHH, WiSe 2024/25)
This repository contains exercises and example code from the course
Computer Applications in Physics: Parallelization and High-Performance Computing
by Martin Stieben (PHYSnet) and Mohammed El-Nabulsi (ILP), University of Hamburg.
- Shared-memory parallelization with multithreading (Numba)
- Distributed-memory parallelization with MPI
- GPU acceleration for computational routines
- Performance benchmarking and scaling (weak/strong)
- Data storage and compression with HDF5
- Practical use of the PHYSnet compute cluster
exercises/– Python notebooks and scripts for each exercise sheetdata/– sample datasets and HDF5 storage examplesrequirements.txt– pip dependenciesenvironment.yml– Conda environment setup
-
Clone the repo:
git clone https://github.com/<your-username>/hpc-exercises-uhh-2024-25.git cd hpc-exercises-uhh-2024-25
-
Create environment (Conda, recommended):
conda env create -f environment.yml conda activate hpc-uhh
-
Run JupyterLab or your preferred editor:
jupyter lab
- Python >= 3.9
- numpy, scipy, matplotlib
- numba (CPU multithreading)
- mpi4py (MPI-based parallelization)
- h5py (HDF5 I/O)
- jupyterlab
See requirements.txt or environment.yml for install details.
MIT License – free to use and adapt.