Parallel IT · Pyjama

Pyjama — About

Pyjama is an active research project supporting OpenMP-like directives for Java. It follows the OpenMP philosophy and its shared-memory fork-join model, and adds GUI-awareness for developing interactive applications.

Programming in Pyjama combines directive-based incremental parallelism with high-level object-oriented programming. When working in Java, Pyjama directives add expressive parallelism and concurrency without major restructuring or reimplementation.

Salient features:

  • Conventional OpenMP-like directives for parallelism in Java.
  • GUI-aware directives for application development.
  • Incremental concurrency through the GUI-aware directives.
  • Support for the Android platform.
  • New concepts and directives for OpenMP asynchronous event-driven programming.

Download

The Pyjama compiler and runtime are available here.

Getting started

Download the compiler and take a look at the Quick Start guide.

Publications

  • Vikas, N. Giacaman, O. Sinnen (2013). Pyjama: OpenMP-like implementation for Java, with GUI extensions. PMAM 2013 (with PPoPP 2013), Shenzhen, China.
  • X. Fan, M. Mehrabi, O. Sinnen, N. Giacaman (2015). Exception Handling with OpenMP in Object-Oriented Languages. IWOMP 2015, Aachen, Germany.
  • X. Fan, O. Sinnen, N. Giacaman (2016). Towards an Event-Driven Programming Model for OpenMP. P2S2 (with ICPP 2016), Philadelphia, USA.
  • X. Fan, R. Feng, O. Sinnen, N. Giacaman (2016). Evaluating OpenMP Implementations for Java Using PolyBench. IWOMP 2016, Nara, Japan.
  • X. Fan, O. Sinnen, N. Giacaman (2017). Asynchronous OpenMP Tasking with Easy Thread Context Switching and Pool Control. IWOMP 2017, New York, USA.