<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://preesm.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://preesm.github.io/" rel="alternate" type="text/html" /><updated>2025-12-04T15:36:28+00:00</updated><id>https://preesm.github.io/feed.xml</id><title type="html">Preesm</title><subtitle>Preesm Documentation Website</subtitle><entry><title type="html">Preesm 3.16.0 and Spider 1.6.0</title><link href="https://preesm.github.io/release-3.16.0/" rel="alternate" type="text/html" title="Preesm 3.16.0 and Spider 1.6.0" /><published>2019-09-06T00:00:00+00:00</published><updated>2019-09-06T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.16.0</id><content type="html" xml:base="https://preesm.github.io/release-3.16.0/"><![CDATA[<p>We have just released Preesm version 3.16.0 and Spider 1.6.0. These new versions enable the use of <a href="https://gforge.inria.fr/projects/apollo/">Apollo</a> in the generated code. Dynamic code generated with Prees 3.16.0 and later requires Spider runtime 1.6.0 or later. Preesm 3.16.0 also introduces first prototype of an energy aware scheduler. Full list of changes is available in the <a href="https://github.com/preesm/preesm/releases/tag/v3.16.0">release notes</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We have just released Preesm version 3.16.0 and Spider 1.6.0. These new versions enable the use of Apollo in the generated code. Dynamic code generated with Prees 3.16.0 and later requires Spider runtime 1.6.0 or later. Preesm 3.16.0 also introduces first prototype of an energy aware scheduler. Full list of changes is available in the release notes.]]></summary></entry><entry><title type="html">Preesm 3.15.0 and Spider 1.5.0</title><link href="https://preesm.github.io/release-3.15.0/" rel="alternate" type="text/html" title="Preesm 3.15.0 and Spider 1.5.0" /><published>2019-08-28T00:00:00+00:00</published><updated>2019-08-28T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.15.0</id><content type="html" xml:base="https://preesm.github.io/release-3.15.0/"><![CDATA[<p>We have released Preesm version 3.15.0. Starting with this release, the workflow executor now throws warning when executing a task marked as deprecated. If the property “Error on warnings” is set to true (see <a href="/release-3.3.0/">this post</a>), existing workflows will have a different behavior. Full list of changes is available in the <a href="https://github.com/preesm/preesm/blob/v3.15.0/release_notes.md">release notes</a>. This new version also come with Spider codegen updates, requiring the update of the <a href="https://github.com/preesm/spider/releases/tag/v1.5.0">Spider runtime to 1.5.0</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We have released Preesm version 3.15.0. Starting with this release, the workflow executor now throws warning when executing a task marked as deprecated. If the property “Error on warnings” is set to true (see this post), existing workflows will have a different behavior. Full list of changes is available in the release notes. This new version also come with Spider codegen updates, requiring the update of the Spider runtime to 1.5.0.]]></summary></entry><entry><title type="html">Preesm 3.11.0 and S-LAM Hardware ID</title><link href="https://preesm.github.io/release-3.11.0/" rel="alternate" type="text/html" title="Preesm 3.11.0 and S-LAM Hardware ID" /><published>2019-07-05T00:00:00+00:00</published><updated>2019-07-05T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.11.0</id><content type="html" xml:base="https://preesm.github.io/release-3.11.0/"><![CDATA[<p>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 <strong>hardwareID</strong> links the component instance to the processor ID as listed by the OS running the application.</p>

<p>This property is used during the code generation to ensure the the actors mapped to a specific component instance are properly executed on the corresponding one. There is no constraint in the model forbidding to set the same ID to several components. Indeed the architecture model could represent 8 x86 cores with 2 CUDA GPUs and 1 shared memory, having the x86 IDs ranging from 0 to 7, the GPU IDs set to 0 and 1, and the memory ID set to 0. However the current code generation will throw errors if several Operator (i.e. x86 or GPU, but not the memory) share the same ID.</p>

<p>This new property causes warnings when unset. We have updated most of the tutorials and our application repository (preesm-apps) to reflect this update. If your workflow ‘Error on Warning’ settings is set to true, this warning will cause a failure.</p>

<p>Allong with this new property, we have fixed the code generation to properly assign the affinity of the main thread (the thread running on the main operator). We have also disabled the affinity settings on Windows and added a new C preprocessor test on <strong>PREESM_NO_AFFINITY</strong> to disable affinity setting if defined.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Preesm 3.8.1 and Thread Exit Control</title><link href="https://preesm.github.io/release-3.8.1/" rel="alternate" type="text/html" title="Preesm 3.8.1 and Thread Exit Control" /><published>2019-05-22T00:00:00+00:00</published><updated>2019-05-22T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.8.1</id><content type="html" xml:base="https://preesm.github.io/release-3.8.1/"><![CDATA[<p>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 <strong>stopThreads</strong> and is now prefixed with <strong>preesm</strong> to give <strong>preesmStopThreads</strong>. This update requires the user applications to reflect this change. To have an idea of the impact, you can have a look at our <a href="https://github.com/preesm/preesm-apps/commit/8ee2fff130f686128f44e4d535ab772b93ecc0ee">updated application repository</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Preesm 3.8.0 and Spider 1.4.0</title><link href="https://preesm.github.io/release-3.8.0/" rel="alternate" type="text/html" title="Preesm 3.8.0 and Spider 1.4.0" /><published>2019-05-21T00:00:00+00:00</published><updated>2019-05-21T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.8.0</id><content type="html" xml:base="https://preesm.github.io/release-3.8.0/"><![CDATA[<p>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 <a href="https://github.com/preesm/preesm/releases/tag/v3.8.0">Preesm</a> and <a href="https://github.com/preesm/spider/releases/tag/v1.4.0">Spider</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">Preesm Release 3.6.2 - Documented Macros</title><link href="https://preesm.github.io/release-3.6.2/" rel="alternate" type="text/html" title="Preesm Release 3.6.2 - Documented Macros" /><published>2019-04-15T00:00:00+00:00</published><updated>2019-04-15T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.6.2</id><content type="html" xml:base="https://preesm.github.io/release-3.6.2/"><![CDATA[<p>We have released Preesm version 3.6.2. This release changes how the Code Generation macros work.</p>

<!--more-->

<p>In previous versions, the code generation was making use of 2 macros, <strong>VERBOSE</strong> and <strong>LOOP_SIZE</strong>. To avoid possible conflicts with application constants, we have prefixed them with <strong>PREESM_</strong>. This requires manual change in the <strong>preesm.h</strong> header.</p>

<p>Also, the <a href="/docs/workflowtasksref/#code-generation-1">task reference for the code generation</a> now display properly the effect of these macros.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We have released Preesm version 3.6.2. This release changes how the Code Generation macros work.]]></summary></entry><entry><title type="html">Preesm Release 3.6.0 - New Worfklow Task Annotation</title><link href="https://preesm.github.io/release-3.6.0/" rel="alternate" type="text/html" title="Preesm Release 3.6.0 - New Worfklow Task Annotation" /><published>2019-04-10T00:00:00+00:00</published><updated>2019-04-10T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.6.0</id><content type="html" xml:base="https://preesm.github.io/release-3.6.0/"><![CDATA[<p>We have released Preesm version 3.6.0. Among the <a href="https://github.com/preesm/preesm/releases/tag/v3.6.0">fixes and additions</a>, this release introduces a new way to register the workflow tasks using annotations:</p>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@PreesmTask</span><span class="o">(</span>
	<span class="n">id</span> <span class="o">=</span> <span class="s">"my.unique.workflow.task.identifier"</span><span class="o">,</span>
	<span class="n">name</span> <span class="o">=</span> <span class="s">"Example Task"</span><span class="o">,</span>
	<span class="n">inputs</span> <span class="o">=</span> <span class="o">{</span><span class="nd">@Port</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"PiMM"</span><span class="o">,</span> <span class="n">type</span> <span class="o">=</span> <span class="nc">PiGraph</span><span class="o">.</span><span class="na">class</span><span class="o">)},</span>
	<span class="n">outputs</span> <span class="o">=</span> <span class="o">{</span><span class="nd">@Port</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"PiMM"</span><span class="o">,</span> <span class="n">type</span> <span class="o">=</span> <span class="nc">PiGraph</span><span class="o">.</span><span class="na">class</span><span class="o">)}</span>
<span class="o">)</span>
</code></pre></div></div>

<!--more-->

<p>The main objective of this update is to centralize the task configuration, that was split in 3 files previously:</p>
<ul>
  <li>The Java file was holding the behavior;</li>
  <li>The plugin.xml file was registering the task in the Preesm framework, declaring inputs/outputs;</li>
  <li>The doc/workflow_tasks.tex file was holding the task documentation;</li>
</ul>

<p>With this new annotation mechanism, the tex file becomes obsolete as we can generate the documentation from the annotations. Also, the plugin.xml file will only need to register the plugin as a Preesm plugin only once for all the tasks it contains.</p>

<p>We have updated our documentation on <a href="/docs/newtask/">new task creation</a>. Also, <a href="/docs/workflowtasksref/">complete task reference</a> is now automatically generated. More complete examples can be found in the code base.</p>

<p>Migration from previous mechanism is straightforward:</p>
<ol>
  <li>Locate the plugin.xml file declaring the tasks (the file will exhibit errors after update);</li>
  <li>For each task declaration:
    <ul>
      <li>Copy the content of the ‘type’ field (that is the class name), press CTRL+SHIFT+T, paste the name, press Enter;</li>
      <li>Add the annotation with the content that was in the plugin.xml (id, inputs, outputs);</li>
      <li>Remove the task declaration from plugin.xml</li>
    </ul>
  </li>
  <li>Remove the “org.preesm.workflow.tasks” extension and add “org.preesm.commons.plugin” instead (without any child)</li>
</ol>]]></content><author><name></name></author><summary type="html"><![CDATA[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)} )]]></summary></entry><entry><title type="html">Preesm Release 3.3.0 - Worfklow Parameters</title><link href="https://preesm.github.io/release-3.3.0/" rel="alternate" type="text/html" title="Preesm Release 3.3.0 - Worfklow Parameters" /><published>2019-01-25T00:00:00+00:00</published><updated>2019-01-25T00:00:00+00:00</updated><id>https://preesm.github.io/release-3.3.0</id><content type="html" xml:base="https://preesm.github.io/release-3.3.0/"><![CDATA[<p>We have released Preesm version 3.3.0, introducing 2 parameters for controlling workflows.<br />
<img src="/assets/posts/2019-01-25-workflow-params.png" alt="" /></p>

<!--more-->

<p>The workflow parameters control the workflow output and behavior as follows:</p>
<ul>
  <li>‘Error on Warning’: If set to ‘true’ (default), the workflow will stop with failure when the log prints a warning or severe entry;</li>
  <li>‘Verbose Level’: Controls the output of the log. Default value is INFO. Possible values range in <code class="language-plaintext highlighter-rouge">{ALL, FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, NONE}</code>, as defined in <a href="https://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html"><code class="language-plaintext highlighter-rouge">java.util.logging.Level</code></a>.</li>
</ul>

<p>Note that, as the error on warning parameter is set to ‘true’ by default, this may change the behavior of existing workflows throwing warnings.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We have released Preesm version 3.3.0, introducing 2 parameters for controlling workflows.]]></summary></entry><entry><title type="html">Preesm Snapshot repo and DFTools archived</title><link href="https://preesm.github.io/dftool-archived/" rel="alternate" type="text/html" title="Preesm Snapshot repo and DFTools archived" /><published>2018-11-26T00:00:00+00:00</published><updated>2018-11-26T00:00:00+00:00</updated><id>https://preesm.github.io/dftool-archived</id><content type="html" xml:base="https://preesm.github.io/dftool-archived/"><![CDATA[<p>We have setup an update site for hosting the last 10 snapshot versions of Preesm at <a href="https://preesm.github.io/preesm-snapshot-site/">https://preesm.github.io/preesm-snapshot-site/</a>.</p>

<p>The procedure is similar to the one presented in our <a href="/get/#eclipse-update-site">documentation</a>.</p>

<p>Also, following the release 3.0.0, the DFTools repository has been archived. That means the repository is now read-only and we stop its support. All the releases are still available on our archived repository at <a href="http://preesm.insa-rennes.fr/repo/update-site-backups/">http://preesm.insa-rennes.fr/repo/update-site-backups/</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We have setup an update site for hosting the last 10 snapshot versions of Preesm at https://preesm.github.io/preesm-snapshot-site/.]]></summary></entry><entry><title type="html">Preesm 3.0.0</title><link href="https://preesm.github.io/preesm3.0.0/" rel="alternate" type="text/html" title="Preesm 3.0.0" /><published>2018-11-23T00:00:00+00:00</published><updated>2018-11-23T00:00:00+00:00</updated><id>https://preesm.github.io/preesm3.0.0</id><content type="html" xml:base="https://preesm.github.io/preesm3.0.0/"><![CDATA[<p>We are pleased to announce the release of Preesm 3.0.0. This major update comes with a heavy refactoring of the application, without functional updates.</p>

<p>Among the changes, we would like to emphasize the integration of the DFTools code base in Preesm, as there has been no reported use of DFTools apart from Preesm source code. This will greatly ease the maintenance of the Workflow, Loggers, Slam and IBSDF/MapperDAG code.</p>

<p>Also, a significative refactoring has been done on the merged code base. All the plugins and packages have been renamed into org.preesm.*; Many classes have been moved to respect the new architecture, as depicted here: <a href="https://hackmd.io/cYswTMtXTUew_NmjaRxUeQ">https://hackmd.io/cYswTMtXTUew_NmjaRxUeQ</a>.</p>

<p>The release process has also been tuned to minimize the footprint of the generated update site (from 600MB to ~6MB). This enables the deployment of snapshot releases, as soon as the proper platform will be identified, in order to improve the integration testing with Spider development cycle.</p>

<p>This update will mostly impact the developers as they will have to clean their workspace and reimport the Preesm projects, as explained here: <a href="https://preesm.github.io/docs/buildpreesm/#import-preesm-projects">https://preesm.github.io/docs/buildpreesm/#import-preesm-projects</a>.</p>

<p>Transitional update site and features have been deployed to the old URL in order to have transparent updates.</p>

<p>Please also note that the Command Line Interface wrapper (<a href="https://github.com/preesm/preesm-cli">https://github.com/preesm/preesm-cli</a>) has been updated to use the updated application identifier.</p>

<p>Releases are available through the usual distribution mechanisms: <a href="https://preesm.github.io/get/">https://preesm.github.io/get/</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We are pleased to announce the release of Preesm 3.0.0. This major update comes with a heavy refactoring of the application, without functional updates.]]></summary></entry></feed>