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

Visit Blogger Join Us on Facebook Follow Us on Twitter See our Flickr Photos Watch Our YouTube Videos Find Us on LinkedIn Find Us on iTunesFind Us on GooglePlayFind Us on Instagram