Scout Domain-Specific Language and Compiler

Contact

The Scout Compiler infrastructure: The LLVM IR metadata mechanism is used to maintain domain-awareness throughout the toolchain.

The Scout Domain-Specific Language (DSL) enables scientists to productively develop mesh-based applications that are portable to different and future large-scale computer architectures. It also enables them to do in situ analysis and visualization at runtime and during debugging.

DSLs provide a natural way to express science in domain-specific notations. Scout aims not to create a new language but to provide domain-centric conservative extensions to C/C++.

Scout is a compiled language, not source-to-source translated, which allows it to preserve domain-awareness, provide domain-specific tools to the programmer and have fine-grained control over performance optimizations.

Scout is implemented using the LLVM compiler infrastructure. It targets the Legion Programming Model and Runtime System, which enables data-centric, asynchronous task parallelism.