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:
Preesm Release 2.2.4
Posted the 09.30.2016 by K. Desnos
We just released version 2.2.4 of PREESM, and version 1.1.8 of DFTools. You can find these new versions on our update site: http://preesm.sourceforge.net/eclipse/update-site/.
Please note that you will need to update your code generation workflows when using the new version. Ports of workflow tasks responsible for Memory Allocation and Code Generation were updated.
MemEx for Memory Allocation output port and Code Generation input port. Alternatively, you can also download an updated workflow from the tutorials, or on GitHub.
- New support for distributed memory architectures during memory allocation and code generation. (cf. Memory allocation task documentation).
- New workflow tasks documentation describing purpose, inputs/outputs, parameters, and errors of tasks.
InstrumentedCcode generation supports following new processing elements types:
- Generated C code supports finite number of graph iteration.
- New systematic simplification of Fork-Join and Join-Fork patterns during single-rate transformation.
Detailed changes and bug fixes for this new version is available in the changelog.
Tutorial 1 Update
Posted the 09.21.2016 by K. Desnos
The tutorial Parallelize an Application on a Multicore CPU has been updated.
The following changes have been made:
- SDL 2.0 library replaces SDL 1.2.
- Visual Studio 2013 replaces Visual Studio 2008.
- Projects are now compatible with latest versions of CMake.
Happy New Year - Preesm Release 2.2.3
Posted the 01.04.2016 by K. Desnos
Preesm Team whishes you a happy new year 2016.
We just released version 2.2.3 of PREESM, and version 1.1.7 of DFTools. You can find these new versions on our update site: http://preesm.sourceforge.net/eclipse/update-site/.
- Error/warning checking mechanism for PiGraphs integrated in eclipse.
- New SVG exporter for PiGraphs
- Lighten most decorator related computation to improve PiMM editor performance.
- Fix the abnormally long execution time of mapper.
Preesm Release 2.2.1
Posted the 09.14.2015 by K. Desnos
[EDIT 09.16.2015] Preesm was updated to version 2.2.2 after correction of a minor bug in the graphical interface.
We just released version 2.2.1 of PREESM, version 1.1.6 of DFTools and version 1.3.15 of Graphiti. You can find these new versions on our update site: http://preesm.sourceforge.net/eclipse/update-site/.
- New automatic layout feature for PiSDF graph (Ctrl+Shift+F).
- New hotkeys in PiSDF graph editor. (Right-click on graph elements for new key combinations).
- New Hierarchy flattening algorithm.
- Promela exporter following SDF3 syntax (task id "org.ietr.preesm.algorithm.exportPromela.PromelaExporter").
- Display associated prototypes in actor properties.
- Throughput and Liveness evaluation for IBSDF graphs. (not documented yet)
- Add a "release notes" file.
- Migration to java 8.
- Better excetion handling and signaling during workflow execution.
- Migration to Graphiti 0.12.0
- Adding Maven nature to project.
- Code cleanup (no more warnings !)
- Cyclic parameter dependencies crash.
- File access"Not local" and "Missing" resources in Codegen and memory scripts.
- Problem with UTF-8 characters in header parser.
PREESM 2.1: Minor releases
Posted the 05.26.2015 by C. Guy
Preesm 2.1.3 removes dependencies to CDT and add some graphical improvements and provide wokflow execution through command line interface.
DFTools 1.1.5 add some minor UI improvements.
Preesm 2.1.3, DFTools 1.1.5 and Graphiti 1.3.14 also include a source refactoring and cleaning.
Posted the 12.04.2014 by C. Guy
Preesm 2.1.2 corrects the problem with embedded memory scripts for special actors (fork, join, roundbuffer and broadcast).
Posted the 11.24.2014 by K. Desnos
Preesm 2.1.1 contains a bug-fix for infinite loop behavior under 32bit Windows and Mac OS.
PREESM 2.1.0 and DFTools 1.1.3
Posted the 11.20.2014 by C. Guy
The last versions of PREESM (2.1.0) and DFTools (1.1.3) has been released on our update-site (see the side bar for a link).
These versions provide several bugfixes and improvements :
- a new workflow task for transformation of static PiMM algorithms (without configuration actors) is now available;
- id: org.ietr.preesm.pimm.checker.task.PiMMAlgorithmCheckerTask;
- input and output are a PiGraph (port name: PiMM).
- a checker for PiMM algorithm is now available, it can be accessed by a right click on a .pi file > PREESM > Algorithm Checker or through a workflow task;
- id: org.ietr.preesm.experiment.pimm2sdf.StaticPiMM2SDFTask;
- inputs are a PiGraph (port name: PiMM) and a PreesmScenario (port name: scenario);
- output is a SDFGraph (port name: SDF).
- editor now supports rename refactorings and copy/paste of pairs of .pi/.diagram files;
- bug preventing to set a new refinement to an actor without an initialization function has been corrected;
- export of .graphml files (through DAG and SDF exporters) in non-existing folders is now possible (folders are created).
Simultaneous release of PREESM, DFTools and Graphiti
Posted the 03.21.2014 by C. Guy
We just released version 1.1.0 of PREESM, version 1.1.0 of DFTools and version 1.3.12 of Graphiti. You can find these new versions on our update site : http://preesm.sourceforge.net/eclipse/update-site/.
New features (under the form of new PREESM workflow tasks):
- Generation of C++ code from a PiMM model. The generated code build an PiSDF graph equivalent to the model when executed. Generation is done by the org.ietr.preesm.experiment.pimm.cppgenerator.scala.PiMMCppGenerationTask plug-in.
- Connection of subgraphs of a PiMM model to obtain a fully connected model (i.e., where refinement files are replaced by connections between objects). Connection is done by the org.ietr.preesm.experiment.pimm.subgraph.connector.SubgraphConnectorTask plug-in.
- Optimization of IBSDF graphs. The graphs are cleaned from useless vertices in order to reduce their size and speed up following tasks of the workflow. Optimization is done by the org.ietr.preesm.algorithm.optimization.AlgorithmOptimizationTask plug-in.
- Export of IBSDF graphs to SDF For Free (SDF3) xml format. Export is done by the org.ietr.preesm.algorithm.exportSdf3Xml.Sdf3Exporter plug-in.
+ Minor performance improvement in MEG addEdge operation.
- Hierarchy flattening and single-rate transformation automatically add a new port for each fifo to special vertices (fork/join/broadcast/roundbuffer).
- New port modifier: "unused".
- Hierarchy flattening and single-rate transformation automatically add port modifiers to most special vertices
- Insertion of edges with the wrong production rate, provoking non-schedulable graph errors (see issue#3 of preesm repository).
- Wrong BRV computation on unconnected actors.
- Wrong BRV computationwith implicit interfaces.
- Ports of Broadcast and RoundBuffer vertices were not cloned correctly.
Export/Import graphs to/from SDF For Free (SDF3)
Posted the 03.20.2014 by K. Desnos
You are working both with Preesm and the SDF For Free (SDF3) framework and you are tired of modeling your applications in both tools; we have a solution for you. It is now possible to convert SDF Graphs from the SDF3 format to Preesm, and vice-versa. To do so, simply follow our SDF3 tutorial.
Our update site has moved
Posted the 01.29.2014 by C. Guy
We recently moved our update site. The new address to find install the PREESM, DFTools and Graphiti plug-ins is: http://preesm.sourceforge.net/eclipse/update-site/. You can also find it on the right side bar of the website, under Preesm Update Site.
Migration to git and release
Posted the 01.29.2014 by C. Guy
The Preesm team recently moved from SVN to git and from Sourceforge to Github. Our projects are visible on our Github page. Issues can be notified on the issues pages of the differents repositories (Preesm issues, DFTools issues, Graphiti issues).
We also released version 1.0.0 of Preesm, which notably correct a bug about hierarchical actors.
Release Candidate 1.0.0
Posted the 01.29.2014 by C. Guy
We issue today on our update site a release candidate designed to support the latest version of Graphiti (all dependencies to Graphiti 0.9.2 have been replaced to dependencies to Graphiti 10). Furthermore, several bugs have been fixed.
Meet us at HiPEAC 2014 in Vienna
Posted the 01.16.2014 by K. Desnos
We will present our latest work on Preesm during the poster session on January 20 at HiPEAC 2014 in Vienna. For more information about this event: http://www.hipeac.net/conference/vienna.
Don't hesitate to contact us to arrange a meeting during the event or if you want a personal demonstration of Preesm.
Edit: The poster presented at HiPEAC is now available here.
Preesm Tutorial for dispatching code on a Texas Instruments TMS320C6678 multicore DSP
Posted the 12.23.2013 by M. Pelcat
Actors coded in C are combined in a dataflow graph and automatically mapped and scheduled on the 8 c66x cores of a Texas Instruments TMS320C6678 processor. The complete tutorial can be found here.
Posted the 11.29.2013 by K. Desnos
Five new publications are now available on the "Publications" page:
- Desnos, Karol; Pelcat, Maxime; Nezan, Jean-François; Bhattacharyya, Shuvra S.; Aridhi, Slaheddine (2013) "PiMM: Parameterized and Interfaced Dataflow Meta-Model for MPSoCs Runtime Reconfiguration". SAMOS XIII, Samos, Greece.
- Heulot, Julien; Boutellier, Jani; Pelcat, Maxime; Nezan, Jean-François; Aridhi, Slaheddine (2013) "Applying the Adaptive Hybrid Flow-Shop Scheduling Method to Schedule a 3GPP LTE Physical Layer Algorithm onto Many-Core Digital Signal Processors". AHS, Torino, Italy.
- Desnos, Karol; Pelcat, Maxime; Nezan, Jean-François; Aridhi, Slaheddine (2013) "Pre- and Post-Scheduling Memory Allocation Strategies on MPSoCs". ESLSyn13, Austin TX, USA.
- Heulot, Julien; Oliva, Yaset; Pelcat, Maxime; Nezan, Jean-François; Prevotet, Jean-Christophe (2013) "Dataflow-based Adaptive Multicore Execution on a Xilinx Zynk Platform". DATE University booth, Grenoble, France.
- Zhou, Zheng; Desnos, Karol; Pelcat, Maxime; Nezan, Jean-François; Plishker, William; Bhattacharyya, Shuvra (2013) "Scheduling of Parallelized Synchronous Dataflow Actors". SoC13, Tampere, Finland.
Posted the 10.30.2013 by M. Pelcat
Release 1.0.0 is now available on the update site. New features include:
- New Xtend-based code generation
- Updated fancier Gantt display
- Support for Multicore x86 processors
- Support for the Texas Instruments Multi-c66x processors
- And many bug fixes
Have a look at the tutorials for more details.
Posted the 10.29.2013 by K. Desnos
You want an easy way to follow the Preesm project? Your wish is granted. We just created a new Twitter account where we will post news about Preesm updates, new features and other related topics. Stay tuned for upcoming new, and follow @PreesmProject on twitter.
New developer tutorial
Posted the 12.12.2012 by K. Desnos
A new tutorial explaining how to create your own workflow tasks is now available in the Developer page. This tutorial is a step-by-step guide that covers both the creation of a new Eclipse plugin and the creation, the configuration, and the implementation of a new workflow task. The tutorial can be found here.
Posted the 11.29.2012 by K. Desnos
A new publications is now available on the "Publications" page:
- Heulot, Julien; Desnos, Karol; Nezan, Jean-François; Pelcat, Maxime; Raulet, Mickaël; Yviquel, Hervé; Lagalaye, Pierre-Laurent; Le Lann, Jean-Christophe (2012) "An Experimental Toolchain Based on High-Level Dataflow Models of Computation For Heterogeneous MPSoC". DASIP, Karlsruhe, Germany.
Posted the 07.27.2012 by K. Desnos
Two new publications are now available on the "Publications" page:
- Desnos, Karol; Pelcat, Maxime; Nezan, Jean-François; Aridhi, Slaheddine (2012) "Memory Bounds for the Distributed Execution of a Hierarchical Synchronous Data-Flow Graph". SAMOS Samos.
- Pelcat, Maxime; Aridhi, Slaheddine; Piat, Jonathan; Nezan, Jean-François (2012) "Physical Layer Multicore Prototyping: A Dataflow-Based Approach for LTE eNodeB". Springer.
Posted the 04.24.2012 by M. Pelcat
Describe Applications with CAL Actor Language
Posted the 03.12.2012 by K. Desnos
Applications described with CAL Actor Language (CAL) can now be imported into Preesm through the Open-RVC-CAL Compiler (Orcc). To do so, applications are compiled using the "Embedded C" backend of Orcc. This compilation process takes as inputs the CAL description of the actors and a network of instances of these actors. This compilation process produces a C source code file for each actor and an algorithm graph equivalent to the input network.
Only applications with a Synchronous Data-Flow behavior will pass the compilation process. An example of application is available here.
New Developer Page
Posted the 11.21.2011 at 11:24 by K. Desnos
A new Developer page was added to this website. All information enabling you to modify and improve Preesm to your needs will be posted on this page. A new flash tutorial was added to this page to show you how to setup an Eclipse instance with the Preesm project.
Posted the 11.21.2011 at 11:05 by K. Desnos
This new page allows you to easily follow the activity around the Preesm project such as new version releases, new publications, additions of functionalities or new tutorials. The latest news will also be present on the home page of this website.