Who is in charge here?
The CLAW!
The CLAW is our master.
The CLAW chooses who will go and who will stay.
-- Buzz Lightyear & Two Green Aliens in the UFO Catcher.
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.
The directives that control the transformation flow are defined in the CLAW Directive Language Specification.
The diagram below shows the workflow of the CLAW Compiler.
The CLAW XcodeML to XcodeML translator library stack is divided in three distinct library:
See INSTALL.md file.
To generate the java documentation and the compiler documentation, run the
following command. The compiler documentation require pdflatex
.
The compiler documentation is generated in the /documentation
directory, the
developer's guide is generated in the /documentation/developer
directory and
the javadoc
is generated in the /documentation/javadoc/
directory.
make doc
The CLAW XcodeML to XcodeML translator is written in Java. Java version 7 and above are supported.
The CLAW Compiler is built on the top of the OMNI Compiler. For more information: OMNI Compiler website
This work was initially funded by the ETH zürich, MeteoSwiss and the PASC initiative under the ENIAC project.
The CLAW compiler is currently not actively developed. Issues may be reported in the Github issue section but response time is not garanteed. If you have questions regarding further developments of the CLAW compiler or collaborations please contact xavier.lapillonne AT meteoswiss.ch or katherine.osterried AT env.ethz.ch .
Logo by adrienbachmann.ch