Pyjama - About

Pyjama is an active research project and it aims at supporting OpenMP-like directives for Java. Pyjama follows the OpenMP philosophy and its shared memory fork-join model. Pyjama also supports the GUI-awareness for its use in the development of interactive applications.

Programming in Pyjama integrates the benefits of using the directives based incremental parallelism with the high level object oriented programming, in this case Java. Thus, when working in Java, the Pyjama directives can be used to add expressive parallelism and concurrency, without the need to introduce major restructuring or reimplementation.

The salient features of Pyjama include:

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


Pyjama compiler and runtime is available here.

Getting started

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


[1] Vikas, N. Giacaman, O. Sinnen (2013). Pyjama: OpenMP-like implementation for Java, with GUI extensions. In Proc. of Int. Workshop on Programming Models and Applications for Multicores and Manycores (PMAM 2013, in conjunction with PPoPP 2013), pp. 43-52, Shenzhen, China.(bib)

[2] X. Fan, M. Mehrabi, O. Sinnen, N. Giacaman (2015). Exception Handling with OpenMP in Object-Oriented Languages. In Proc. of 11th International Workshop on OpenMP (IWOMP 2015), Aachen, Germany.(bib)

[3] X. Fan, O. Sinnen, N. Giacaman (2016). Towards an Event-Driven Programming Model for OpenMP. In Proc. of 9th Int. Workshop on Parallel Programming Models and Systems Software for High-End Computing (P2S2, in conjunction with ICPP 2016), Philadelphia, USA.(bib)

[4] X. Fan, R. Feng, O. Sinnen, N. Giacaman (2016). Evaluating OpenMP Implementations for Java Using PolyBench. In Proc. of 12th Int. Workshop on OpenMP (IWOMP 2016), Nara, Japan.(bib)

[5] X. Fan, O. Sinnen, N. Giacaman (2017). Asynchronous OpenMP Tasking with Easy Thread Context Switching and Pool Control. In Proc. of 13th Int. Workshop on OpenMP (IWOMP 2017), New York, USA.(bib)