Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.64 KB

README.md

File metadata and controls

34 lines (22 loc) · 1.64 KB

GTClang

Introduction

GTClang is part of a compiler toolchain for developing high-level DSLs for geophysical fluid dynamics models. GTClang is the front end part of the toolchain that processes a high level DSL and turns it into an intermediary representation (SIR), to be processed by dawn. See the top level README.md for a detailed description. Consider the following code snippet for an example stencil that performs two Laplacian operators in succesion using finite differences:

GTClang

Building

GTClang can be built individually from the multi-project build. This follows the same procedure outlined in the root README.md. Dawn needs to be built before this, so first follow the build instructions there.

Atlas and eckit are required for the unstructured grid support.

$ cd dawn/gtclang
$ mkdir {build,install}
$ cmake -S . -B build -DBUILD_TESTING=ON -DCMAKE_PREFIX_PATH=install
$ cmake --build build --target install

The additional flags affecting the build are

  • -DBUILD_TESTING=ON|OFF to enable or disable tests.
  • -DBUILD_EXAMPLES=ON|PFF to enable or disable building examples.

Testing

GTClang unit and integration tests are launched via ctest:

$ cd build
$ ctest