Welcome to Preesm


PREESM ['prɪzəm] 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.

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

Learn more.

See the brochure.

Latest News

Preesm Release 2.6.0

Posted the 12.21.2017 by A. Morvan

Preesm 2.6.0 comes with a new test framework for the user interface. Despite the lack of tests, it will offer better reliability in the future developments. Among the changes, we would like to highligh the following major ones:

  • The user interface plugin has been split into smaller dedicated plugins. If you are a developer, you will have to import these new plugins in your workspace in order to have the UI working. Also check the Troubleshooting section if you have issue after the update.
  • Javadoc generation has been droped; this is motivated by the fact that most developers use Eclipse for developing with Preesm and we provide source plugins to explore the code base.
  • The archive format for the releases on all target platforms is now zip (was tar.gz for MacOS and Linux).
  • The Multi* tasks have been removed.
  • Exhaustive list of updates since 2.5.0 is available in the release notes.


Preesm Release 2.5.0

Posted the 09.15.2017 by A. Morvan

This version introduces a new code generator. It now generates the main.c file while taking into account the number of processors of the target architecture. Consquently, there is no need to edit the CMake file anymore. That is, there is no need to change from set(CMAKE_C_FLAGS "-DX1_CORE") to set(CMAKE_C_FLAGS "-DX4_CORES"). Tutorial materials have been updated in order to respect this new behavior.

Preesm Release 2.4.0

Posted the 07.18.2017 by A. Morvan

The last version of Preesm introduces the long awaited copy/paste in the PiMM editor. Along with this convenient feature, this version fixes several bugs in the UI (error popups, autolayout crash, ...). Complete list of changes is available in the release notes. Binaries are available on SourceForge and already existing Eclipse installations can be updated using the Preesm update site. Also, although we did not test it thoroughly yet, Preesm works within latest Eclipse Oxygen.

Preesm Release 2.3.0

Posted the 06.28.2017 by A. Morvan

We released new versions for Preesm (2.3.0), DFTools (1.2.0) and Graphiti (1.4.0). The major changes lie in the build process:

  • Javadoc generated, aggregated, and uploaded
  • Products are uploaded on SourceForge FRS
  • New Eclipse features (source code and developer features) in the update site
  • Graphiti, DFTools and Preesm now live independently (you do not need the source code of Graphiti to compile DFTools, etc.)
  • First version of the test API for automated tests
  • Details available in release notes

Note that you will need to update your Eclipse with the Developer Requirements (Meta Feature) in order to build Preesm from source (see updated Building Preesm page).

SiPS 2016 Paper and Slides

Posted the 10.26.2016 by K. Desnos

We are presenting our latest work on "Distributed Memory Allocation Technique for Synchronous Dataflow Graphs" during the SiPS conference in Dallas.

You can find a copy of the paper and presented slides hereafter:


[Older news available here]