ARCHER Webinar: EIS-2 - A general purpose, high performance input deck and maths parser

Опубликовано: 03 Июнь 2026
на канале: ARCHER UK National Supercomputing Service
133
2

Christopher Brady, University of Warwick
The EPOCH Input System Version 2 (EIS-2), available from https://github.com/csbrady-warwick/EIS-2 is a publicly available Fortran "input deck" reader and maths parser well suited to high performance computing. It was developed under an ARCHER eCSE grant as a more general, higher performance replacement for the existing deck reader and maths parser in the EPOCH particle in cell code developed by CCP-Plasma. As development was advancing it became clear that the code for EIS-2 was general enough that it would be useful as a stand-alone library so we added some user documentation and some additional features to expand the code beyond what was needed for EPOCH and released it. EIS-2 is a static library that allows codes to give a user extensive control over how the code runs through standard hierarchical block based input files and also allows a user to specify expressions through normal infix mathematical expressions. Released under the BSD three clause license, being written in standards conforming Fortran 2003 and having no library dependencies it can be incorporated into both open and closed source code bases. This webinar will cover the basic design of EIS-2, covering the lexer, the parser and the AST based simplifier for the maths parser and a quick overview of the deck parser. It will cover simple examples of making use of EIS-2 and how to incorporate it into existing code. It will give a brief overview of possible future work on EIS-2, including C interoperability allowing C and C++ codes to use EIS-2, extending the AST simplifier to optionally work with LLVM to provide near native code performance and using the information contained in the deck file structure to provide automatic interfaces to a code from supported scripting languages.