The CLAW Project is an open-source project including a directive language specification and a reference compiler targeting performance portability in climate and weather application written in Fortran.
The CLAW Compiler is a source-to-source translator working on the XcodeML intermediate representation. It implements the necessary transformation to the CLAW Directive Language Specifications. Intent of this language is to achieve performance portability on weather and climate code, especially for column- or point-wise computation.
-
CLAW Directive Language
-
CLAW Compiler code
-
CLAW Compiler - Developer's Guide
CLAW X2T (XcodeML to XcodeML Translator) is the part in charge of the AST analysis and transformations based on the directives.
The Java documentation of the CLAW X2T libraries is available.
The CLAW Project is welcoming contribution. More information can be found on the official repository. A Slack workspace is available for discussions.
- The CLAW DSL: Abstractions for Performance Portable Weather and Climate Models. In Proceedings of the Platform for Advanced Scientific Computing Conference (PASC '18) [doi]
- Plenary Talk at PASC'18: The CLAW DSL: Abstractions for Performance Portable Weather and Climate Models [Slides]
This work was initially funded by the ETH zürich and the PASC initiative under the ENIAC project.
CLAW logo by adrienbachmann.ch