Companion code, notebooks, exercises, and teaching material for Foundations of High-Performance Computing: A Comprehensive Guide to Systems, Concepts, and Programming by Oscar Diez.
This repository supports the practical side of the book. It contains the original course notebooks from the existing repository, a standardized chapter-by-chapter structure, extracted code blocks from the Word manuscript, Slurm templates, environment files, and reproducibility material.
chapters/ Original notebooks plus chapter-by-chapter companion material
common/ Shared Slurm templates, scripts, and small utility material
docs/ Extraction reports, indexes, and maintainer notes
environments/ Conda, Docker, and Apptainer environment definitions
.github/ GitHub Actions and issue templates
Each standardized chapter folder contains:
examples/ Polished runnable examples
exercises/ Student exercises and starter files
solutions/ Optional worked solutions
notebooks/ Jupyter or Colab notebooks
results/ Local timing and benchmark notes
extracted_from_docx/ Code and question material extracted from the Word manuscript
The original notebooks from the current repository have been preserved at chapters/*.ipynb. They have also been copied into the appropriate standardized chapter folders under notebooks/existing_repository/. See chapters/existing_notebooks_index.md for the mapping.
The extracted_from_docx/ folder inside each chapter contains code blocks, command snippets, and question material extracted from the Word manuscript. These files are intended to accelerate completion of the companion repository. They should be reviewed and tested before being treated as final polished examples.
The extraction summary is available in:
docs/docx_extraction_report.md
docs/extracted_docx_index.csv
git clone https://github.com/OscarDiez/hpc_foundations_book.git
cd hpc_foundations_book
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
make smokeThe Slurm scripts are deliberately generic. Adapt partition names, account names, module names, wall time, memory limits, and GPU resource syntax to the local system.
The repository uses the Apache-2.0 license already present in the existing GitHub repository. The license applies to the repository material. The published book text, publisher layout, and third-party figures remain subject to their respective rights and permissions.