Skip to content

JanSchre/parallel-computing-physics-uhh

Repository files navigation

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.

📌 Course Topics

  • 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

📂 Repository Structure

  • exercises/ – Python notebooks and scripts for each exercise sheet
  • data/ – sample datasets and HDF5 storage examples
  • requirements.txt – pip dependencies
  • environment.yml – Conda environment setup

▶️ Getting Started

  1. Clone the repo:

    git clone https://github.com/<your-username>/hpc-exercises-uhh-2024-25.git
    cd hpc-exercises-uhh-2024-25
  2. Create environment (Conda, recommended):

    conda env create -f environment.yml
    conda activate hpc-uhh
  3. Run JupyterLab or your preferred editor:

    jupyter lab

⚙️ Dependencies

  • 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.

📜 License

MIT License – free to use and adapt.

About

Jupyter notebooks and example codes from the course Computer Applications in Physics: Parallelization and High-Performance Computing (WiSe 2024/25, University of Hamburg). Covers practical implementations of multithreading, MPI-based distributed computing, and GPU acceleration in Python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors