Parallel Programming Refinements for Irregular Applications



The PRIA project aims to deliver an extensible pattern-based parallel programming system for irregular applications where applications are developed by successively refining “sequential like” codes. The goal is to identify and modularise refinements (a.k.a. patterns, skeletons) that parallelise computations in programs, and to be able to compose such refinements to map base programs to efficient, platform-specific, parallel applications. Aspect and feature oriented programming (AOP/FOP) are two approaches for separation of concerns that will be used as a starting point to implement those refinements.

Project Goals/Results

The main goal of the project is to devise a new way to develop parallel programs by program refinement. The research was strongly driven by applications with an irregular structure. The project focused on two key research areas: 1) parallelisation patterns for irregular applications and 2) approaches to derive the architecture of parallel applications. The following results where attained within this international cooperation:

  • A catalogue of parallelisation patterns for irregular applications
  • A set optimisations that improve locality of references in irregular applications.
  • A parallelisation approach that modularizes parallelism related issues with Aspect-Oriented and Feature-Oriented programing.
  • A new tool to implement parallelisation as model transformations.
  • The study of the parallelisation of an irregular application, which resulted on a parallel implementation of the Superfine algorithm.


This work was funded by ERDF – European Regional Development Fund through the COMPETE Programme (operational programme for competitiveness) and by National Funds through the FCT – Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within project FCOMP-01-0124-FEDER-011413.

Project funding: COMPETE; QREN; EU-FEDER; FCT


  • João Luís Sobral (CCTC-UM)
  • Miguel Pessoa Monteiro (CITI-UNL)
  • Luis Paulo Santos (CCTC-UM)
  • Diogo Telmo Neves (CCTC-UM)
  • Edgar Sousa (CCTC-UM)
  • Keshav Pingali (ICES-UTA)
  • Rui Carlos Gonçalves (CCTC-UM)
  • Don Batory (CS-UTA)
  • Martin Burtscher (ICES-UTA)


[bibtex key=Goncalves:2009,Neves:2009,Medeiros:2011a,Silva:2011,Goncalves:2012,Riche:2012,Neves:2012,Medeiros:2013,Medeiros:2013b,Faria:2013,Goncalves:2014,Medeiros:2015a,Goncalves:2015,Goncalves:2015a]