Welcome to the SPeCS research group!

Our group is devoted to contributing to scientific advancements related to special purpose computing systems, i.e., computing systems designed to solve a specific problem (application-specific) or a class of problems (domain-specific). As with almost all computing systems, special-purpose computing systems are no exception regarding the need of programming languages, compilers, tools, and techniques to map computations.

In our group we focus on domain-specific languages, compilers and special-purpose architectures (e.g., mainly using reconfigurable computing technology) for a variety of applications, spreading from high-performance computing to embedded and pervasive computing.

By creating domain-specific languages, compilers, and specific tools we are able to effectively achieve improvements in productivity when developing applications for typical special-purpose systems (such as in embedded systems). In addition, these allow us to take real advantage of computing systems consisting of general purpose processors coupled to reconfigurable accelerators.

Our research is driven by the following questions:
  • How to take advantage of reconfigurable computing technology to implement special-purpose computing systems?
  • How to easier the development and the mapping of applications to special-purpose computing systems?
  • How will programming languages, tools, and reconfigurable computing architectures assist the future computing technologies (e.g., with a 10-year long term)?

Research interests

  • Reconfigurable Computing
  • Tools to map computations to non-Von Neumann computing engines
  • Domain-specific programming languages and compilers
  • Embedded Computing

Main Target Applications

  • High-Performance Embedded Systems
  • Context-Aware, Ubiquitous, and Pervasive Computing
  • Information Technology

Specs Lab

Front of Engineering Faculty of University of Porto (FEUP)
Inside SPeCS laboratory

REFLECT and 2PARMA Fall 2012 School

Programming Paradigms for Multi-Core Embedded Systems, Oct. 2-5, 2012, Waldhotel Zollernblick, Freudenstadt, Germany.

Tiago Carvalho, João Cardoso, and João
Bispo preparing some of the demos

Ali Azarian presenting his poster

Participants experimenting the demos and working 

Gabriel Coutinho, Ricardo Nobre, and Tiago Carvalho helping participants during the REFLECT demos

João Cardoso, Ricardo Nobre, and Tiago Carvalho during the presentation about "Controlling Compiler Optimizations with LARA"

LARA on the road (screen)

João Bispo presenting the MATLAB Compiler

Some members of the REFLECT project 

A moment of relax for celebrating the João Bispo's Birthday

After a walk around the Black Forest


ACE Associated Compiler Experts b.v. (The Netherlands): We acknowledge the support of ACE Associated Compiler Experts by providing the complete license to use the CoSy compiler development system at FEUP, as well as the helpful insights about the CoSy compiler.

Xilinx Inc. (USA): We acknowledge the support of Xilinx regarding FPGA boards and software licenses including Vivado, Vivado HLS, EDK, and ISE.

ARM Ltd (UK): We acknowledge the support given by the ARM University Programme [www.arm.com/university] by providing a sample ARM Lab-in-a-Box on Efficient Embedded Systems Design and Programming.