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.

I want to know more.

Recent Posts

Preesm 3.11.0 and S-LAM Hardware ID

We have released Preesm version 3.11.0. This new release introduces a new property for the component instances of the S-LAM architecture model. This integer property hardwareID links the component instance to the processor ID as listed by the OS running the application.

Preesm 3.8.1 and Thread Exit Control

We have released Preesm version 3.8.1. The main change consist in the renaming of the global variable that controls how the application exits. This variable used to be stopThreads and is now prefixed with preesm to give preesmStopThreads. This update requires the user applications to reflect this change. To have an idea of the impact, you can have a look at our updated application repository.

Preesm 3.8.0 and Spider 1.4.0

We have released Preesm version 3.8.0 and Spider version 1.4.0. Among all changes, we want to emphasize the new code generators in Preesm for MPPA and Hardware accelerators as well as Spider API update to support them. The Spider API update also comes with new headers to include. Complete list of changes are available in the respective release notes of Preesm and Spider.

Preesm Release 3.6.0 - New Worfklow Task Annotation

We have released Preesm version 3.6.0. Among the fixes and additions, this release introduces a new way to register the workflow tasks using annotations:

@PreesmTask(
	id = "my.unique.workflow.task.identifier",
	name = "Example Task",
	inputs = {@Port(name = "PiMM", type = PiGraph.class)},
	outputs = {@Port(name = "PiMM", type = PiGraph.class)}
)