Skip to content

@jheulot jheulot released this Jan 10, 2020 · 169 commits to develop since this release

Release version 3.19.0

2020.01.10

New Feature

  • Clustering: hierarchy construction from a list of actors in PiSDFSubgraphBuilder;
  • List periodic scheduling is now implemented in the new Synthesis task;
  • Optimal periodic scheduling is now implemented in the new Synthesis task (using Choco);
  • New Workflow task 'gantt-output' to export Gantt with new Synthesis interface;
  • New menu command (from Preesm project) to generate standard X86 architecture;
  • New Workflow task 'pisdf-export.parameters' to export graph static parameters as C header.

Changes

  • If Gantt displayer cannot load SWT_AWT, the Gantt can be opened in a new window instead;
  • BRV computation with LCM method now handles fifo having rates equal to 0 on both sides
    (computation is similar to Spider V2);
  • Refactor Communication insertion in the new Synthesis task: removes non necessary transitive
    closure and improves performanes.

Bug fix

  • Fix #271 : removes extra coma in spider codegen when no parameters.
  • Fix #262 : (codegen) init functions are now called only once
  • Fix #264 : Excel timings can handle expression, not only numbers
  • Fix #267 : remove useless and bugged 'set fifo type' GUI feature
  • Fix #268 : uniformize GUI features command order and names
  • Fix #269 : improve the lookup method by vertex path
  • Fix #273 : BRV computation was not adapted to port rates being 0 (see Changes section)
  • Fix evaluation of parameters as numbers.
Assets 5

@jheulot jheulot released this Nov 28, 2019 · 241 commits to develop since this release

Release version 3.18.2

2019.11.28

New Feature

Changes

  • Graph period has been added to the PiGraph model and appears in the UI;
  • Refactor schedule order manager to use a graph internal representation for predecence;
  • Add schedule timer to compute timings (start/duration) for an actor;
  • PiSDF: use internal graph representation for topological operations;
  • Now firing instance number of any Actor can be stored in PiGraph model (set in SRDAG, not stored in .pi);
  • Enable MEG Update un new Synthesis API
    • Data alignment not fully foncitonnal yet;
  • Change Vaader notification channel

Bug fix

  • Fix workflow task "org.ietr.preesm.pimm.algorithm.checker.periods.PeriodsPreschedulingChecker";
  • Fix workflow task "pisdf-export" (adds graph copy to avoid side-effects);
  • Fix codegen: special actor ports order is now preserved during codegen;
  • Fix sonarcloud links
  • Deactivate signal handling in Windows. (Issue #263)
Assets 5

@jheulot jheulot released this Oct 21, 2019 · 364 commits to develop since this release

Release version 3.18.1

2019.10.21

New Feature

  • Codegen now updates MD5 using sink buffers (enabled and printed when loop size and verbose are defined);

Changes

  • Fix compile error in generated TCP code (but execution hangs...);
  • Refactor;
  • Clustering:
    • Workflow task PiSDF Clustering is now documented
    • Implemented a new schedule transform that optimize parallelism inside of sequantial schedule hierarchy
    • New parameter: Optimization criteria (memory or performance)
    • Codegen can now generate appropriate behavior for clustered-delay

Bug fix

Assets 5

@antoine-morvan antoine-morvan released this Oct 9, 2019 · 452 commits to develop since this release

Release version 3.18.0

2019.10.09

New Feature

  • Spider:
    • Energy awareness (energy-awareness parameter) now can be activated in SPiDER
      • It will test a different number of PEs in each iteration
      • It will keep the PE config reaching the objective with the lowest (estimated) energy consumption

Changes

  • Hardware Codegen: improved monitoring using PAPIFY
  • EnergyAwareness: performance objective now is considered a minimum. The tolerance has been removed;
  • Fix PiSDF editor autoLayout, especially if having setters and getters on delays;
  • Change the line style of setters and getters to dash dot;
  • AutoLayout of Feedback Fifos is smarter (works also when no delays);
  • Slam:
    • move route model to xcore;
    • Refactor routing table;
  • Synhtesis API:
    • remodel schedule/memory allocation;
    • implement delay support;
    • implement communication insertion;
  • Refactor:
    • Minor codegen refactor;
    • Refactor memory allocation;
    • Rethrow all exceptions thrown by JEP with expression causing issue;
  • Add methods in PiSDFTopologyHelper, and corresponding tests;
  • Simulation tab of scenario now has an option to import all data types from
    the graph, with predefined default values for common type names.

Bug fix

  • Fix #74
  • Fix #80
  • Fix #83
  • Fix #85
  • Fix #128
  • Fix #190
  • Fix problem with precedence shift condition (clustering purposes)
  • Fix random seed parameter transfer to clustering algorithm
  • Fix various bugs in the experimental external mapping importer.
  • Fix #234
  • Fix #166: force init/end on same operator in kwok scheduler;
Assets 5

@antoine-morvan antoine-morvan released this Sep 9, 2019 · 708 commits to develop since this release

Release version 3.17.0

2019.09.09

New Feature

  • Codegen:
    • PREESM now support the codegeneration to manage hardware accelerators developed within ARTICo³, an open-source runtime reconfigurable processing architecture;

Changes

  • Codegen: useless function removed in HW codegen;
  • Refactor;

Bug fix

Assets 5

@antoine-morvan antoine-morvan released this Sep 6, 2019 · 759 commits to develop since this release

Release version 3.16.0

2019.09.06

New Feature

  • Codegen:
    • clusters can now be printed by using CodegenClusterTask
  • Apollo optimizations are now supported in Preesm and SPiDER
    • To activate it, Apollo flag must be set to true in the CodeGen workflow task
    • CMakeLists.txt of the application must be modified
  • Scheduling:
    • Mapping/scheduling task (pisdf-mapper.list) can now perform energy-aware mapping/scheduling (It will increase scheduling/mapping task time, as it tests several mappings)
    • The information is taken from energy tab in scenario and the optimization will consider the performance objective to search for the best PEs configuration
    • EnergyAwareness parameter will enable this optimization
    • EnergyAwarenessFirstConfig selects the starting point: First (as less PEs as possible), Max (all PEs), Middle (half amount of PEs of each type) and Random (random starting point)
    • EnergyAwarenessSearchType selects the type of searching done: Thorough (changes PEs number one by one) and halves (Divides in halves the remaining available PEs and goes up/down depending if the FPS reached are below/above the objective)

Changes

  • PiSDF:
    • PiGraph can be declared as a cluster. Hierarchy of cluster may be ignore by SR and DAG transformation;
    • Add operation to get the unique data port of a SrdagActor (init/end);
  • Change PiSDF task categories in task reference;
  • Clustering:
    • cluster are now mappable into component by retrieving common possible mapping of included actors
    • make code clearer for ClusteringBuilder
    • refactored the way of getting clusterizable couples
    • clusters now have timings
  • Schedule:
    • Readapt the way of exhibiting data parallelism and print expression
    • Add communication nodes
  • Refactor:
    • Fix major and critical sonar issues;

Bug fix

  • Fix #218: add support for non connected actors in SRDAG transform;
  • Fix #222: allow multiplicity in Codegen Call parameters;
  • Fix #226: avoid name conflict in graphml configuration;
  • Fix #227: enable Export SVG Diagram on any selected element;
Assets 5

@antoine-morvan antoine-morvan released this Aug 28, 2019 · 966 commits to develop since this release

Release version 3.15.0

2019.08.28

New Feature

  • PAPIFY in SPiDER now has different modes:
    • papify=dump: dump PAPIFY info into csv files;
    • papify=feedback: PAPIFY (timing) feedback is retrieved by GRT and timings are updated;
    • papify=both: both modes active at the same time;
  • SPiDER now includes information about energy consumed by an actor executed on a specific PE;
  • SPiDER now includes information about energy consumption models associated to actors executed on PEs;
  • PAPIFY in SPiDER with feedback mode active:
    • energy feedback is also supported. Energy consumption models based on PAPIFY events are considered when updating the energy consumption;
    • energy consumption of one actor being executed on a specific PE type is updated if possible;
  • Timings and Energy tabs can import .papify files generated by PAPIFY scripts:
    • Timings: the timing of the actor being executed on each Component is updated;
    • Energy: the energy consumed when executing an actor on each Component is updated;
  • PAPIFY tab in scenario now has a new section to include an energy model based on PAPIFY events:
    • The model can be exported as a csv file to apply PAPIFY script and compute the energy;
  • PAPIFY output folder 'papify-output' now can be directly parsed from scenario:
    • Timings: the timing of the actor being executed on each Component is updated;
    • Energy: the energy consumed when executing an actor on each Component is updated. To do so, the energy model (included in PAPIFY tab) is considered when parsing the folder;
  • PiSDF:
    • Add transform and task to replace "perfect fit delays" with init/end actors;
  • Workflow:
    • Throws warning when executing deprecated tasks;
  • Clustering:
    • Add 4 clustering algorithm: APGAN, Dummy, Random and Parallel
    • Cluster by generating sub-graph and associated schedule tree
    • [Hardware Codegen] Use of PAPIFY was extended to the Hardware on the FPGA side.

Changes

  • Refactor: rename/move packages in algo & codegen;
  • Implement simple memory allocation in the new synthesis API;
  • Prepare codegen model generator for the new synthesis API;
  • Hardware Codegen Refactor: CHardwarePrinter extends now the CPrinter and override some of the methods;
  • Hardware Codegen Refactor: CHardwarePrinter extends now the CPrinter and override some of the methods;
  • SPiDER codegen considers empty PAPIFY configs as papify=false;
  • Update round buffer memory script to handle multiple inputs;
  • Schedule: Add an interface to perform transform;
  • Scenario:
    • Update scenario generator to use unix separator in algo/archi URLs;
  • PiSDF:
    • Add more rules to check mergeability, remove getPreds/Succs from TopologyHelper;
    • Add rules in the consistency checker;
  • Codegen:
    • Add IteratedBuffer, ClusterBlock, SectionBlock for clustering codegen
    • Add conditional "#pragma omp parallel for" on FiniteLoopBlock
    • Add null checks for codeGenDir (since not set when the parser sees a null length);

Bug fix

  • fix #186
  • Fix #189
  • Fix #193
  • Fix scheduling of graphs with large data rates.
  • Fix optimizations of PiSDF flattening task.
Assets 5

@antoine-morvan antoine-morvan released this Jul 25, 2019 · 1206 commits to develop since this release

Release version 3.14.1

2019.07.25

New Feature

Changes

  • Schedule API:
    • Rename/move packages;
    • Add evaluation API;
  • Releng:
    • Fix build script to fetch RCPTT from mirrors;

Bug fix

Assets 5

@antoine-morvan antoine-morvan released this Jul 25, 2019 · 1217 commits to develop since this release

Release version 3.14.0

2019.07.25

New Feature

Changes

  • Codegen:
    • Update Codegen to properly clean the directory before generating code;
    • Add C/C++ and XML code formatters;
  • Update Preesm adapters and copy;
  • Releng:
    • Update build script;
    • Fix Jacoco/Sonar config;

Bug fix

Assets 5

@antoine-morvan antoine-morvan released this Jul 23, 2019 · 1242 commits to develop since this release

Release version 3.13.1

2019.07.23

New Feature

Changes

  • Update CPrinter to support mixed C/C++ projects;

Bug fix

  • PAPIFY:
    • Fix PAPIFY code generation
Assets 5
You can’t perform that action at this time.