Skip to content

Latest commit

 

History

History

README.md

Tutorial

Solve the same problem (Poisson 2D on the unit square, manufactured solution u = sin(πx)·sin(πy)) through every supported authoring × driving combination, ordered from most automated (drop two text files at a prebuilt binary) to least automated (manage mesh, boundaries, and partitioning by hand from C++ across MPI ranks).

Start with 00-overview/README.md for the naming convention and a guide to picking a section.

Section Title Walkthrough
00 Overview and naming convention 00-overview/
01 Generated model with the prebuilt solver 01-generated-prebuilt/
02 Generated model with the CLI wrapper 02-generated-cli/
03 Generated model with the embedded solver 03-generated-embedded/
04 Handwritten model with the CLI wrapper 04-handwritten-cli/
05 Handwritten model with the embedded solver (in-memory mesh) 05-handwritten-embedded/
06 Handwritten model with the embedded solver (distributed mesh) 06-handwritten-distributed/

Every section produces the same converged solution udg. The tutorial/run-all.sh script runs each section against a chosen backend variant (CPU, GPU, MPI, MPI+GPU) and verifies the result.

Prerequisites

Build Exasim per ../docs/01-installation.md. Run the tutorial test with:

ctest --test-dir build -R tutorial

Each section's instructions show the build and run commands for all four backend variants. See the overview for the variant naming convention.