Research at OSRI
The main research directions undertaken under the OSRI umbrella fall into four categoris:
- Languages. This page lists a number of parallel languages and execution models that have been implemented on top of the proto-runtime toolkit, with special focus on embedded style domain specific languages. It also discusses strategies, fundamentals, and issues related to design and implementation of parallel languages.
- PStack. This is software infrastructure for performantly portable parallel source code.
- Computation Models and Fundamentals of Parallel Computation. This is research into the question "just what is computation, and what is a wide-reaching set of basic words that can be used to talk about parallel computation"? The goal of the research is to inform the design of parallel programming languages and their toolchains, direct the design of industry scale infrastructures for portability, and provide insight to implementers of hardware, languages, runtime systems, and operating systems.
- Hardware. This research uses insights from the computation model and portable language design activities to in turn design parallel hardware that makes maximal use of the available transistors, yet has suitable tools above it that provide productive low barrier programming models that map well onto the hardware. This includes adding proto-runtime primitives to the core processor pipeline, and ultra low power high throughput alternatives to GPGPU and Phi style architectures.
Individual projects:
- Proto-Runtime for fast creation of parallel languages
- PStack A performant-portability oriented software stack
- BLIS A manager of tools for automated specialization of source code
- Structure of parallel computation
- Hardware Support for parallel languages, runtime systems, and OSs
- List of OSRI papers