About Preesm

See the brochure


PREESM is an open source rapid prototyping tool. It simulates signal processing applications and generates code for heterogeneous multi/many-core embedded systems. Its dataflow language eases the description of parallel signal processing applications.

The PREESM tool inputs are an algorithm graph, an architecture graph, and a scenario which is a set of parameters and constraints that specify the conditions under which the deployment will run. The chosen type of algorithm graph is a parameterized and hierarchical extension of Synchronous Dataflow (SDF) graphs named PiSDF. The architecture graph is named System-Level Architecture Model (S-LAM). From these inputs, PREESM maps and schedules automatically the code over the multiple processing elements and generates multi-core code.

Sobel PiSDF Graph

This image pictures a sobel filter application expressed using PiSDF.

PREESM supports and has been used to generate code for:

  • x86 multiprocessors over Linux & Windows
  • Texas Instruments Keystone I & II
  • Kalray MPPA many-core (Bostan)
  • Xilinx Zynq SoC
  • ARM Big.LITTLE & Multi-core ARM over Linux


Instructions for installing Preesm can be found in the documentation. Preesm consists in Eclipse plug-ins. If you are already familiar with Eclipse update sites, the different ways for getting Preesm are detailed in the Getting Preesm part.


For general information, do not hesitate to contact as at contact@preesm.insa-rennes.fr

For technical issues, please contact us via GitHub Issues tracker.


Logo VAADER Logo IETR Logo INSA Rennes
Logo CERBERO Logo H2020
  • We would like to thank project contributors:
Logo Abo Akademi Logo UPM
Logo Texas Instruments Logo Kalray

Hall of Fame

Following is the list of contributors to this project:

  • Yaset Oliva
  • Sudeep Kanur
  • Hamza Deroui
  • Jérôme Croizer
  • Thanh Hai Dao
  • Karol Desnos
  • Clément Guy
  • Julien Hascoët
  • Julien Heulot
  • Robert McNeill
  • Judicaël Menant
  • Daniel Ménard
  • Pierrick Menuet
  • Hugo Miomandre
  • Pengcheng Mu
  • Jean-François Nezan
  • Erwan Nogues
  • Ronan Parois
  • Maxime Pelcat
  • Jonathan Piat
  • Romina Racca
  • Alexandre Honorat
  • Florian Arrestier
  • Daniel Madronal
  • Antoine Morvan
  • Matthieu Wipliez
  • Leonardo Suriano