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.