Los Alamos National LaboratoryProgramming Models Team
Extreme-scale computing specializing in novel computing techniques applied to the hardware-software boundary

Scout Domain-Specific Language and Compiler

Mesh-based applications portable to different and future large-scale computer architectures

Toolchain diagram

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.

Collaborator's logos