Welcome to the Open Source Research Institute
Open Source Research Institute is an umbrella organization for the promotion of parallel computation. We focus on performance portability of parallel software. Write the code once, run anywhere high performance. We are promoting Domain Specific Languages as the best hope of bringing parallel programming to the masses. We are also exploring hardware approaches that maximize silicon efficiency, given the availability of DSLs and suitable tools to map the DSL onto the hardware.
The main research directions at OSRI 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.
- Portability Infrastructure. This page describes software infrastructure that enables 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 designs parallel hardware based on insights from the computation model and portable language creation activities. The hardware makes maximal use of the available transistors / wires / energy, 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.
- 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
- EuroDSL proposal for H2020 funding Creating mix and match mini-DSLs for high productivity and fast adoption