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.

Contact & Follow

For general information, do not hesitate to contact us at contact@preesm.org

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

You can follow us by:


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