/libpressio_tutorial

A Tutorial for LibPressio

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

LibPressio Tutorial

This repository contains a number of example applications to help you learn how to use LibPressio lossy compression. The exercises are located in exercises/ and have their own instructions in the README.md file.

When cloning the repo, be sure to clone the submodules

git clone --recursive https://github.com/robertu94/libpressio_tutorial

The easiest way to get started is with the container image. You will need one of them installed. If you are Linux, you may already have podman installed

docker run -it ghcr.io/robertu94/libpressio_tutorial:latest

Following the Tutorial

The tutorial has 7 exercises that build on one another (in the exercises subdirectory). Each tutorial has a README.md that explains the exercise and offers some suggestsions on some further exercises to test each topic.

Then there are subdirectories under each exercise that show how to run the exercise with each programming language. Not all exercies are implemented in all languages and may have slightly different output depending on what was easy to implement. For C and C++ there are both Makefile and CMake based build systems. Feel free to use either of them. PRs are accepted to add additional languages to the exercies.

Here are the major topics covered by the tutorial. Topics 1-3 are more introductory, and topics 4-7 are more advanced.

Manual installation

The container is build with spack and based on the libpressio container.

To build and update the container image, run:

# clean tutorial directories and build image
./build_container.py

#update image
docker login ghcr.io
docker push ghcr.io/robertu94/libpressio_tutorial:latest