Workflow Tasks Reference

This page has been generated. Last update : 2019.04.15; for Preesm version 3.6.2

This page references the available workflow tasks.

Graph Exporters

SDF Exporter - Deprecated

  • Identifier: org.ietr.preesm.plugin.exportXml.sdf4jgml
  • Implementing Class: org.preesm.algorithm.io.xml.SDFExporter
  • Short description: Create a new *.graphml file containing the exported SDF graph.

Inputs

  • SDF (of SDFGraph)

Outputs

None.

Description

The purpose of this task is to create a new *.graphml file containing where the exported IBSDF graph will be written. The exported graph can then be visualized and exported using the former Preesm graph editor for IBSDF graph, which was replaced with the PiSDF graph editor since version 2.0.0. This task is generally used to export intermediary graphs generated at different step of a workflow execution. For example, to visualize the SDF graph resulting from the flattening of an IBSDF graph, or to understand the parallelism that was exposed by the single-rate transformation.

Parameters

path

Path of the directory within which the exported *.graphml file will be created. If the specified directory does not exist, it will be created.

Value Effect
path/in/proj Path within the Preesm project containing the workflow where the ”SDF Exporter” task is instantiated. Even if the workflow of a Preesm project A is executed with a scenario from a different project B, the *.graphml file will be generated within the specified directory of project A.

Exported SDF graphs will be named automatically, usually using the same name as the original SDF graph processed by the workflow. If a graph with this name already exists in the given path, it will be overwritten.

Example: Algo/generated/singlerate    
  path/in/proj/name.graphml Path within the Preesm project containing the workflow where the ”SDF Exporter” task is instantiated. Even if the workflow of a Preesm project A is executed with a scenario from a different project B, the *.graphml file will be generated within the specified directory of project A.

Exported SDF graph will be named using the string with the graphml extension at the end of the given path. If a graph with this name already exists in the given path, it will be overwritten.

Example: Algo/generated/singlerate/myexport.graphml

Documented Errors

Message Explanation
**Path is not a valid path for export. ** The value set for parameter path is not a valid path in the project.

SDF3 Exporter - Deprecated

  • Identifier: org.ietr.preesm.algorithm.exportSdf3Xml.Sdf3Exporter
  • Implementing Class: org.preesm.algorithm.io.sdf3.Sdf3ExporterTask
  • Short description: Export a *.xml file conforming the SDF For Free (SDF3) format.

Inputs

  • SDF (of SDFGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

None.

Description

This task generates SDF3 code modeling the given SDF graph. SDF modeling in SDF3 follow the specification introduced by Stuijk et al. in [1].

Known Limitations: Here is a list of known limitations of the SDF3 importation process: Only SDF graphs can be imported, Actors of the SDF cannot be implemented on more than one processor type, Timings cannot depend on parameters since SDF3 does not support parameterized SDF.

Parameters

path

Path of the exported *.xml file. If the specified directory does not exist, it will not be created.

Value Effect
path/in/proj/name.xml Path within the Preesm project containing the workflow where the ”SDF3 Exporter” task is instantiated.

Exported SDF graph will be named using the string with the xml extension at the end of the given path. If a graph with this name already exists in the given path, it will be overwritten.

Example: Code/generated/sdf3/myexport.xml

See Also

  • [1]: S. Stuijk, M. Geilen, and T. Basten. Sdf3: Sdf for free. In Sixth International Conference on Application of Concurrency to System Design (ACSD’06), pages 276–278, June 2006.

DAG Exporter - Deprecated

  • Identifier: org.ietr.preesm.mapper.exporter.DAGExportTransform
  • Implementing Class: org.preesm.algorithm.mapper.exporter.DAGExportTransform
  • Short description: Create a new *.graphml file containing the exported Directed Acyclic Graph (DAG).

Inputs

  • DAG (of DirectedAcyclicGraph)

Outputs

None.

Description

The purpose of this task is to create a new *.graphml file containing where the exported DAG will be written. The exported graph can then be visualized and exported using the former Preesm graph editor for IBSDF graph, which was replaced with the PiSDF graph editor since version 2.0.0. This task is generally used to export intermediary graphs generated by the mapping and scheduling tasks of the workflow.

Parameters

path

Path of the directory within which the exported *.graphml file will be created. If the specified directory does not exist, it will be created.

Value Effect
path/in/proj Path within the Preesm project containing the workflow where the ”SDF Exporter” task is instantiated. Even if the workflow of a Preesm project A is executed with a scenario from a different project B, the *.graphml file will be generated within the specified directory of project A. Exported SDF graphs will be named automatically, usually using the same name as the original SDF graph processed by the workflow. If a graph with this name already exists in the given path, it will be overwritten. Example: Algo/generated/singlerate
path/in/proj/name.graphml Path within the Preesm project containing the workflow where the ”SDF Exporter” task is instantiated. Even if the workflow of a Preesm project A is executed with a scenario from a different project B, the *.graphml file will be generated within the specified directory of project A. Exported SDF graph will be named using the string with the graphml extension at the end of the given path. If a graph with this name already exists in the given path, it will be overwritten. Example: Algo/generated/singlerate/myexport.graphml

Documented Errors

Message Explanation
Path <given path> is not a valid path for export. <reason> The value set for parameter path is not a valid path in the project.

Memory Optimization

MEG Builder

  • Identifier: org.ietr.preesm.memory.exclusiongraph.MemoryExclusionGraphBuilder
  • Implementing Class: org.preesm.algorithm.memory.exclusiongraph.MemoryExclusionGraphBuilder
  • Short description: Builds the Memory Exclusion Graph (MEG) modeling the memory allocation constraints.

Inputs

  • DAG (of DirectedAcyclicGraph)
  • scenario (of PreesmScenario)

Outputs

  • MemEx (of MemoryExclusionGraph)

Description

The memory allocation technique used in Preesm is based on a Memory Exclusion Graph (MEG). A MEG is a graph whose vertices model the memory objects that must be allocated in memory in order to run the generated code. In the current version of Preesm, each of these memory objects corresponds either to an edge of the Directed Acyclic Graph (DAG) or to a buffer corresponding to ”delays” of the graph that store data between executions of a schedule. In the MEG, two memory objects are linked by an edge (called an exclusion) if they can not be allocated in overlapping memory spaces.

Parameters

Verbose

How verbose will this task be during its execution. In verbose mode, the task will log the start and completion time of the build, as well as characteristics (number of memory objects, density of exclusions) of the produced MEG.

Value Effect
false (Default) The task will not log information.
true The task will log build and MEG information.

See Also

  • MEG: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Memory bounds for the distributed execution of a hierarchical synchronous data-flow graph. In Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XII), 2012 International Conference on, 2012.

Serial Memory Bounds

  • Identifier: org.ietr.preesm.memory.bounds.SerialMemoryBoundsEstimator
  • Implementing Class: org.preesm.algorithm.memory.bounds.SerialMemoryBoundsEstimator
  • Short description: Compute bounds of the amount of memory needed to allocate the MEGs.

Inputs

  • MEGs (of Map)

Outputs

None.

Description

This task computes the memory bounds (see Memory Bound Estimator Task) for several MEGs, like the one produced by the Memory Allocation task.

Parameters

Verbose

How verbose will this task be during its execution. In verbose mode, the task will log the name of the used solver, the start and completion time of the bound estimation algorithm. Computed bounds are always logged, even if the verbose parameter is set to false.

Value Effect
false (Default) The task will not log information.
true The task will log build and MEG information.
Solver

Specify which algorithm is used to compute the lower bound.

Value Effect
Heuristic (Default) Heuristic algorithm described in [1] is used. This technique find an approximate solution.
Ostergard Östergård’s algorithm [2] is used. This technique finds an optimal solution, but has a potentially exponential complexity.
Yamaguchi Yamaguchi et al.’s algorithm [3] is used. This technique finds an optimal solution, but has a potentially exponential complexity.

See Also

  • [1]: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Memory bounds for the distributed execution of a hierarchical synchronous data-flow graph. In Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XII), 2012 International Conference on, 2012.
  • [2]: Patric R. J. Östergård. A new algorithm for the maximum-weight clique problem. Nordic J. of Computing, 8(4):424–436, December 2001.
  • [3]: K. Yamaguchi and S. Masuda. A new exact algorithm for the maximum weight clique problem. In 23rd International Conference on Circuit/Systems, Computers and Communications (ITC-CSCC’08), 2008.
  • Memory Bounds: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Pre-and post-scheduling memory allocation strategies on MPSoCs. In Electronic System Level Synthesis Conference (ESLsyn), 2013.

Memory Bounds Estimator

  • Identifier: org.ietr.preesm.memory.bounds.MemoryBoundsEstimator
  • Implementing Class: org.preesm.algorithm.memory.bounds.MemoryBoundsEstimator
  • Short description: Compute bounds of the amount of memory needed to allocate the MEG

Inputs

  • MemEx (of MemoryExclusionGraph)

Outputs

  • MemEx (of MemoryExclusionGraph)
  • BoundMin (of Long)
  • BoundMax (of Long)

Description

The analysis technique presented in [1] can be used in Preesm to derive bounds for the amount of memory that can be allocated for an application. The upper bound corresponds to the worst memory allocation possible for an application. The lower bound is a theoretical value that limits the minimum amount of memory that can be allocated. By definition, the lower bound is not always reachable, which means that it might be impossible to find an allocation with this optimal amount of memory. The minimum bound is found by solving the Maximum Weight Clique problem on the MEG. This task provides a convenient way to evaluate the quality of a memory allocation.

Parameters

Verbose

How verbose will this task be during its execution. In verbose mode, the task will log the name of the used solver, the start and completion time of the bound estimation algorithm. Computed bounds are always logged, even if the verbose parameter is set to false.

Value Effect
false (Default) The task will not log information.
true The task will log build and MEG information.
Solver

Specify which algorithm is used to compute the lower bound.

Value Effect
Heuristic (Default) Heuristic algorithm described in [1] is used. This technique find an approximate solution.
Ostergard Östergård’s algorithm [2] is used. This technique finds an optimal solution, but has a potentially exponential complexity.
Yamaguchi Yamaguchi et al.’s algorithm [3] is used. This technique finds an optimal solution, but has a potentially exponential complexity.

See Also

  • [1]: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Memory bounds for the distributed execution of a hierarchical synchronous data-flow graph. In Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XII), 2012 International Conference on, 2012.
  • [2]: Patric R. J. Östergård. A new algorithm for the maximum-weight clique problem. Nordic J. of Computing, 8(4):424–436, December 2001.
  • [3]: K. Yamaguchi and S. Masuda. A new exact algorithm for the maximum weight clique problem. In 23rd International Conference on Circuit/Systems, Computers and Communications (ITC-CSCC’08), 2008.
  • Memory Bounds: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Pre-and post-scheduling memory allocation strategies on MPSoCs. In Electronic System Level Synthesis Conference (ESLsyn), 2013.

Memory Allocation

  • Identifier: org.ietr.preesm.memory.allocation.MemoryAllocatorTask
  • Implementing Class: org.preesm.algorithm.memory.allocation.MemoryAllocatorTask
  • Short description: Perform the memory allocation for the given MEG.

Inputs

  • MemEx (of MemoryExclusionGraph) : Input Memory Exclusion Graph

Outputs

  • MEGs (of Map) : Map associating, for each memory element in the architecture, according to the chosen Distribution parameter value, a Memory Exclusion Graph annotated with allocation information (i.e. buffer addresses, etc.).

Description

Workflow task responsible for allocating the memory objects of the given MEG.

Parameters

Verbose

Verbosity of the task.

Value Effect
True Detailed statistics of the allocation process are logged
False Logged information is kept to a minimum
Allocator(s)

Specify which memory allocation algorithm(s) should be used. If the string value of the parameters contains several algorithm names, all will be executed one by one.

Value Effect
Basic Each memory object is allocated in a dedicated memory space. Memory allocated for a given object is not reused for other.
BestFit Memory objects are allocated one by one; allocating each object to the available space in memory whose size is the closest to the size of the allocated object. If MEG exclusions permit it, memory allocated for a memory object may be reused for others.
FirstFit Memory objects are allocated one by one; allocating each object to the first available space in memory whose size is the large enough to allocate the object. If MEG exclusions permit it, memory allocated for a memory object may be reused for others.
DeGreef Algorithm adapted from DeGreef (1997)}. If MEG exclusions permit it, memory allocated for a memory object may be reused for others.
Distribution

Specify which memory architecture should be used to allocate the memory.

Value Effect
SharedOnly (Default) All memory objects are allocated in a single memory bank accessible to all PE.
DistributedOnly Each PE is associated to a private memory bank that no other PE can access. (Currently not supported by code generation.)
Mixed Both private memory banks and a shared memory can be used for allocating memory.
MixedMerged Same as mixed, but the memory allocation algorithm favors buffer merging over memory distribution.
Best/First Fit order

When using FirstFit or BestFit memory allocators, this parameter specifies in which order the memory objects will be fed to the allocation algorithm. If the string value associated to the parameters contains several order names, all will be executed one by one.

Value Effect
ApproxStableSet Memory objects are sorted into disjoint stable sets. Stable sets are formed one after the other, each with the largest possible number of object. Memory objects are fed to the allocator set by set and in the largest first order within each stable set.
ExactStableSet Similar to ‘ApproxStableSet’. Stable set are built using an exact algorithm instead of a heuristic.
LargestFirst Memory objects are allocated in decreasing order of their size.
Shuffle Memory objects are allocated in a random order. Using the ‘Nb of Shuffling Tested’ parameter, it is possible to test several random orders and only keep the best memory allocation.
Scheduling Memory objects are allocated in scheduling order of their ‘birth’. The ‘birth’ of a memory object is the instant when its memory would be allocated by a dynamic allocator. This option can be used to mimic the behavior of a dynamic allocator. (Only available for MEG updated with scheduling information).
Data alignment

Option used to force the allocation of buffers (i.e. Memory objects) with aligned addresses. The data alignment property should always have the same value as the one set in the properties of the Memory Scripts task.

Value Effect
None No special care is taken to align the buffers in memory.
Data All buffers are aligned on addresses that are multiples of their size. For example, a 4 bytes integer is aligned on 4 bytes address.
Fixed:=n Where . This forces the allocation algorithm to align all buffers on addresses that are multiples of n bytes.
Nb of Shuffling Tested

Number of random order tested when using the Shuffle value for the Best/First Fit order parameter.

Value Effect
Number of random order.

Documented Errors

Message Explanation
The obtained allocation was not valid because mutually exclusive memory objects have overlapping address ranges. The allocator is not working. When checking the result of a memory allocation, two memory objects linked with an exclusion in the MEG were allocated in overlapping memory spaces. The error is caused by an invalid memory allocation algorithm and should be corrected in the source code.
The obtained allocation was not valid because there were unaligned memory objects. The allocator is not working. When checking the result of a memory allocation, some memory objects were found not to respect the Dala alignment parameter. The error is caused by an invalid memory allocation algorithm and should be corrected in the source code.

See Also

  • Memory Allocation Algorithms: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Pre-and post-scheduling memory allocation strategies on MPSoCs. In Electronic System Level Synthesis Conference (ESLsyn), 2013.
  • Distributed Memory Allocation: Karol Desnos, Maxime Pelcat, Jean-François Nezan, and Slaheddine Aridhi. Distributed memory allocation technique for synchronous dataflow graphs. In Signal Processing System (SiPS), Workshop on, pages 1–6. IEEE, 2016.
  • Broadcast Merging: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Memory analysis and optimized allocation of dataflow applications on shared-memory MPSoCs. Journal of Signal Processing Systems, Springer, 2014.

Memory Scripts

  • Identifier: org.ietr.preesm.memory.script.MemoryScriptTask
  • Implementing Class: org.preesm.algorithm.memory.script.MemoryScriptTask
  • Short description: Executes the memory scripts associated to actors and merge buffers.

Inputs

  • DAG (of DirectedAcyclicGraph)
  • MemEx (of MemoryExclusionGraph)
  • scenario (of PreesmScenario)

Outputs

  • MemEx (of MemoryExclusionGraph)

Description

Executes the memory scripts associated to actors and merge buffers. The purpose of the memory scripts is to allow Preesm to allocate input and output buffers of certain actors in overlapping memory range.

Parameters

Check

Verification policy used when checking the applicability of the memory scripts written by the developer and associated to the actor.

Value Effect
Thorough Will generate error messages with a detailed description of the source of the error. This policy should be used when writting memory scripts for the first time.
Fast All errors in memory script are still detected, but error messages are less verbose. This verification policy is faster than the Thorough policy.
None No verification is performed. Use this policy to speed up workflow execution once all memory scripts have been validated..
Data alignment

Option used to force the allocation of buffers with aligned addresses. The data alignment property should always have the same value as the one set in the properties of the Memory Allocation task.

Value Effect
None No special care is taken to align the buffers in memory.
Data All buffers are aligned on addresses that are multiples of their size. For example,a 4 bytes integer is aligned on 4 bytes address.
Fixed:= Where . This forces the allocation algorithm to align all buffers on addresses that are multiples of n bytes.
Log Path

Specify whether, and where, a log of the buffer matching optimization should be generated. Generated log are in the markdown format, and provide information on all matches created by scripts as well as which match could be applied by the optimization process.

Value Effect
path/file.txt The path given in this property is relative to the ”Code generation directory” defined in the executed scenario.
empty No log will be generated.
Verbose

Verbosity of the workflow task.

Value Effect
True The workflow task will be verbose in the console.
False The workflow task will be more quiet in the console.

See Also

  • Buffer merging: Karol Desnos, Maxime Pelcat, Jean-François Nezan, and Slaheddine Aridhi. On memory reuse between inputs and outputs of dataflow actors. ACM Transactions on Embedded Computing Systems, 15(30):25, January 2016.

MEG Updater

  • Identifier: org.ietr.preesm.memory.exclusiongraph.MemExUpdater
  • Implementing Class: org.preesm.algorithm.memory.exclusiongraph.MemExUpdater
  • Short description: Relax memory allocation constraints of the MEG using scheduling information.

Inputs

  • DAG (of DirectedAcyclicGraph)
  • MemEx (of MemoryExclusionGraph)

Outputs

  • MemEx (of MemoryExclusionGraph)

Description

The MEG used in Preesm can be updated with scheduling information to remove exclusions between memory objects and make better allocations possible.

Parameters

Verbose

How verbose will this task be during its execution. In verbose mode, the task will log the start and completion time of the update, as well as characteristics (number of memory objects, density of exclusions) of the MEGs both before and after the update.

Value Effect
false (Default) The task will not log information.
true The task will log build and MEG information.

See Also

  • MEG update: K. Desnos, M. Pelcat, J.-F. Nezan, and S. Aridhi. Pre-and post-scheduling memory allocation strategies on MPSoCs. In Electronic System Level Synthesis Conference (ESLsyn), 2013.

Analysis

Gantt Exporter

  • Identifier: org.ietr.preesm.stats.exporter.StatsExporterTask
  • Implementing Class: org.preesm.algorithm.mapper.stats.exporter.StatsExporterTask
  • Short description: This task exports scheduling results as a *.pgantt file that can be viewed using the ganttDisplay viewer [1].

Inputs

  • ABC (of LatencyAbc)
  • scenario (of PreesmScenario)

Outputs

None.

Description

This task exports scheduling results as a *.pgantt file that can be viewed using the ganttDisplay viewer [1]. The exported *.pgantt file uses the XML syntax.

Parameters

path

Path of the exported *.pgantt file. If the specified directory does not exist, it will not be created.

Value Effect
/path/in/proj Path within the Preesm project containing the workflow where the ”Gantt Exporter” task is instantiated. Exported Gantt will be named as follows: **/path/in/proj/ stats.pgantt**. If a graph with this name already exists in the given path, it will be overwritten.

See Also

  • [1]: https://github.com/preesm/gantt-display

Gantt Display

  • Identifier: org.ietr.preesm.plugin.mapper.plot
  • Implementing Class: org.preesm.algorithm.mapper.ui.stats.StatEditorTransform
  • Short description: Displays the result of a mapping/scheduling algorithm as a Gantt diagram.

Inputs

  • ABC (of LatencyAbc)
  • scenario (of PreesmScenario)

Outputs

None.

Description

This task generates SDF3 code modeling the given SDF graph. SDF modeling in SDF3 follow the specification introduced by Stuijk et al. in [1].

Known Limitations: Here is a list of known limitations of the SDF3 importation process: Only SDF graphs can be imported, Actors of the SDF cannot be implemented on more than one processor type, Timings cannot depend on parameters since SDF3 does not support parameterized SDF.

Parameters

None.

See Also

  • Speedup assessment chart: Maxime Pelcat. Prototypage Rapide et Génération de Code pour DSP Multi-Coeurs Appliqués à la Couche Physique des Stations de Base 3GPP LTE. PhD thesis, INSA de Rennes, 2010.

Schedulers

Simple Scheduling from PiSDF

  • Identifier: pisdf-mapper.simple
  • Implementing Class: org.preesm.algorithm.mapper.MainCoreMappingFromPiMM
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

None.

Fast Scheduling from PiSDF

  • Identifier: pisdf-mapper.fast
  • Implementing Class: org.preesm.algorithm.mapper.FASTMappingFromPiMM
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented
displaySolutions

Undocumented

Value Effect
false Undocumented
fastTime

Undocumented

Value Effect
100 Undocumented
fastLocalSearchTime

Undocumented

Value Effect
10 Undocumented

PFast Scheduling from PiSDF

  • Identifier: pisdf-mapper.pfast
  • Implementing Class: org.preesm.algorithm.mapper.PFASTMappingFromPiMM
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented
displaySolutions

Undocumented

Value Effect
false Undocumented
fastTime

Undocumented

Value Effect
100 Undocumented
fastLocalSearchTime

Undocumented

Value Effect
10 Undocumented
nodesMin

Undocumented

Value Effect
5 Undocumented
procNumber

Undocumented

Value Effect
1 Undocumented
fastNumber

Undocumented

Value Effect
100 Undocumented

Simple Scheduling from DAG - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.simple
  • Implementing Class: org.preesm.algorithm.mapper.MainCoreMappingFromDAG
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

None.

List Scheduling from SDF - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.fast
  • Implementing Class: org.preesm.algorithm.mapper.FASTMapping
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented
displaySolutions

Undocumented

Value Effect
false Undocumented
fastTime

Undocumented

Value Effect
100 Undocumented
fastLocalSearchTime

Undocumented

Value Effect
10 Undocumented

Fast Scheduling from DAG - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.fastdag
  • Implementing Class: org.preesm.algorithm.mapper.FASTMappingFromDAG
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented
displaySolutions

Undocumented

Value Effect
false Undocumented
fastTime

Undocumented

Value Effect
100 Undocumented
fastLocalSearchTime

Undocumented

Value Effect
10 Undocumented

List Scheduling from PiSDF

  • Identifier: pisdf-mapper.list
  • Implementing Class: org.preesm.algorithm.mapper.ListSchedulingMappingFromPiMM
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented

External Scheduling from PiSDF

  • Identifier: pisdf-mapper.external
  • Implementing Class: org.preesm.algorithm.mapper.ExternalMappingFromPiMM
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

SCHEDULE_FILE

Undocumented

Value Effect
/schedule.json default value

List Scheduling from SDF - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.listscheduling
  • Implementing Class: org.preesm.algorithm.mapper.ListSchedulingMapping
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented

PFast Scheduling from SDF - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.pfast
  • Implementing Class: org.preesm.algorithm.mapper.PFASTMapping
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented
displaySolutions

Undocumented

Value Effect
false Undocumented
fastTime

Undocumented

Value Effect
100 Undocumented
fastLocalSearchTime

Undocumented

Value Effect
10 Undocumented
nodesMin

Undocumented

Value Effect
5 Undocumented
procNumber

Undocumented

Value Effect
1 Undocumented
fastNumber

Undocumented

Value Effect
100 Undocumented

PFast Scheduling from DAG - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.pfastdag
  • Implementing Class: org.preesm.algorithm.mapper.PFASTMappingFromDAG
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented
displaySolutions

Undocumented

Value Effect
false Undocumented
fastTime

Undocumented

Value Effect
100 Undocumented
fastLocalSearchTime

Undocumented

Value Effect
10 Undocumented
nodesMin

Undocumented

Value Effect
5 Undocumented
procNumber

Undocumented

Value Effect
1 Undocumented
fastNumber

Undocumented

Value Effect
100 Undocumented

External Scheduling from DAG - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.external
  • Implementing Class: org.preesm.algorithm.mapper.ExternalMappingFromDAG
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

SCHEDULE_FILE

Undocumented

Value Effect
/schedule.json default value

List Scheduling from DAG - Deprecated

  • Identifier: org.ietr.preesm.plugin.mapper.listschedulingfromdag
  • Implementing Class: org.preesm.algorithm.mapper.ListSchedulingMappingFromDAG
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)
  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • ABC (of LatencyAbc)

Description

Undocumented

Parameters

edgeSchedType

Undocumented

Value Effect
Simple Undocumented
simulatorType

Undocumented

Value Effect
LooselyTimed Undocumented
Check

Undocumented

Value Effect
True Undocumented
Optimize synchronization

Undocumented

Value Effect
False Undocumented
balanceLoads

Undocumented

Value Effect
false Undocumented

Code Generation

Code Generation

  • Identifier: org.ietr.preesm.codegen.xtend.task.CodegenTask
  • Implementing Class: org.preesm.codegen.xtend.task.CodegenTask
  • Short description: Generate code for the application deployment resulting from the workflow execution.

Inputs

  • MEGs (of Map)
  • DAG (of DirectedAcyclicGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

None.

Description

This workflow task is responsible for generating code for the application deployment resulting from the workflow execution.

The generated code makes use of 2 macros that can be overridden in the preesm.h user header file:

  • PREESM_VERBOSE : if defined, the code will print extra info about actor firing;
  • PREESM_LOOP_SIZE : when set to an integer value , the application will terminate after executions of the graph.

Parameters

Printer

Specify which printer should be used to generate code. Printers are defined in Preesm source code using an extension mechanism that make it possible to define a single printer name for several targeted architecture. Hence, depending on the type of PEs declared in the architecture model, Preesm will automatically select the associated printer class, if it exists.

Value Effect
C Print C code and shared-memory based communications. Currently compatible with x86, c6678, and arm architectures.
InstrumentedC Print C code instrumented with profiling code, and shared-memory based communications. Currently compatible with x86, c6678 architectures..
XML Print XML code with all informations used by other printers to print code. Compatible with x86, c6678.

Spider Codegen

  • Identifier: org.ietr.preesm.pimm.algorithm.spider.codegen.SpiderCodegenTask
  • Implementing Class: org.preesm.codegen.xtend.spider.SpiderCodegenTask
  • Short description: Generate Spider code for dynamic PiSDF.

Inputs

  • PiMM (of PiGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

None.

Description

Generate Spider code for dynamic PiSDF.

Parameters

scheduler

Runtime scheduler to use.

Value Effect
list_on_the_go Undocumented
round_robin Undocumented
round_robin_scattered Undocumented
list (Default)
memory-alloc

Runtime memory allocation to use.

Value Effect
special-actors Undocumented
dummy (Default)
shared-memory-size

Size of the shared memory allocated by Spider.

Value Effect
bytes. (Default = 67108864)
papify

Wether to use Papify.

Value Effect
true / false  
verbose

Wether to log.

Value Effect
true / false  
trace

Wether to trace what is happening at runtime.

Value Effect
true / false  
stack-type

Type of stack to use

Value Effect
static Use static stack
dynamic Use dynamic stack
graph-optims

Wether to optimize the graph at runtime or not

Value Effect
true / false  

See Also

  • Spider: Heulot, Julien; Pelcat, Maxime; Desnos, Karol; Nezan, Jean-François; Aridhi, Slaheddine (2014) “SPIDER: A Synchronous Parameterized and Interfaced Dataflow-Based RTOS for Multicore DSPs”. EDERC 2014, Milan, Italy.

Graph Transformation

Data-parallel Transformation

  • Identifier: fi.abo.preesm.dataparallel.DataParallel
  • Implementing Class: fi.abo.preesm.dataparallel.DataParallel
  • Short description: Detect whether an SDF graph is data-parallel and provide its data-parallel equivalent Single-Rate SDF and its re-timing information.

Inputs

  • SDF (of SDFGraph)

Outputs

  • CySDF (of SDFGraph)
  • Info (of RetimingInfo)

Description

An SDF graph is data-parallel when for each actor of the SDF graph, all of its instances can be executed at the same time. For instance, all strictly acyclic SDF graphs are data-parallel. This task increases the scope of this analysis to generic SDF graphs.

The task analyses an input SDF graph and reports if it is data-parallel by analysing each strongly connected component of the graph. If a strongly connected component requires a re-timing transformation for it to be data-parallel, then the transformation is carried out such that the corresponding strongly connected component in the output single-rate SDF is data-parallel. The re-timing transformation modifies the delays in the original SDF graph such that the final single-rate SDF output is data-parallel.

However, if a strongly connected component of the SDF is not data-parallel, then the plugin reports the actors of this strongly connected component. In this case, the strongly connected component at the output single-rate SDF graph is same as that of the single-rate transformation on the original SDF.

The data-structure INFO describes mapping of delays in original FIFO to delays in the transformed SDF. This non-trivial initialization of delays in FIFOs is represented using SDF-like graphs where FIFO initialization function is represented as an actor. The data-structure INFO is provided for sake of completion and is not being used by other plugins. The data-structure INFO can change in future based on the design of the initialization of the FIFOs.

Parameters

None.

Documented Errors

Message Explanation
DAGComputationBug There is a bug in implementation due to incorrect assumption. Report the bug by opening an issue and attaching the graph that caused it.

See Also

  • Implementation details: Sudeep Kanur, Johan Lilius, and Johan Ersfolk. Detecting data-parallel synchronous dataflow graphs. Technical Report 1184, 2017.

Hierarchy Flattening - Deprecated

  • Identifier: org.ietr.preesm.plugin.transforms.flathierarchy
  • Implementing Class: org.preesm.algorithm.transforms.HierarchyFlattening
  • Short description: Transforms a hierarchical IBSDF graph into an equivalent SDF graph.

Inputs

  • SDF (of SDFGraph)

Outputs

  • SDF (of SDFGraph)

Description

The purpose of this workflow task is to flatten several levels of the hierarchy of an IBSDF graph and produce an equivalent SDF graph. A hierarchical IBSDF graph is a graph where the internal behavior of some actors is described using another IBSDF subgraph instead of a C header file. When applying this transformation, hierarchical IBSDF actors of the first n levels of hierarchy are replaced with the actors of the IBSDF subgraph with which these hierarchical actors are associated.

Parameters

None.

Documented Errors

Message Explanation
Inconsistent Hierarchy, graph can’t be flattened Flattening of the IBSDF graph was aborted because one of the graph composing the application, at the top level or deeper in the hierarchy, was not consistent.

See Also

  • IBSDF: J. Piat, S.S. Bhattacharyya, and M. Raulet. Interface-based hierarchy for synchronous data-flow graphs. In SiPS Proceedings, 2009.
  • Graph consistency: E.A. Lee and D.G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75(9):1235 – 1245, sept. 1987.

Static PiMM to IBSDF - Deprecated

  • Identifier: org.ietr.preesm.experiment.pimm2sdf.StaticPiMM2SDFTask
  • Implementing Class: org.preesm.algorithm.pisdf.pimm2sdf.StaticPiMM2SDFTask
  • Short description: Transforms a static PiSDF Graph into an equivalent IBSDF graph.

Inputs

  • PiMM (of PiGraph)
  • scenario (of PreesmScenario)

Outputs

  • SDF (of SDFGraph)

Description

In Preesm, since version 2.0.0, the Parameterized and Interfaced SDF (PiSDF) model of computa tion is used as the frontend model in the graphical editor of dataflow graphs. This model makes it possible to design dynamically reconfigurable dataflow graphs where the value of parameters, and production/consumption rates depending on them, might change during the execution of the application. In former versions, the Interface Based SDF (IBSDF) model of computation was used as the front end model for application design. Contrary to the PiSDF, the IBSDF is a static model of computation where production and consumption rates of actors is fixed at compile-time.

The purpose of this workflow task is to transform a static PiSDF graph into an equivalent IBSDF graph. A static PiSDF graph is a PiSDF graph where dynamic reconfiguration features of the PiSDF model of computation are not used.

Parameters

None.

See Also

  • IBSDF: J. Piat, S.S. Bhattacharyya, and M. Raulet. Interface-based hierarchy for synchronous data-flow graphs. In SiPS Proceedings, 2009.
  • PiSDF: K. Desnos, M. Pelcat, J.-F. Nezan, S.S. Bhattacharyya, and S. Aridhi. PiMM: Parameterized and interfaced dataflow meta-model for MPSoCs runtime reconfiguration. In Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIII), 2013 International Conference on, pages 41–48. IEEE, 2013.

Single-Rate Transformation - Deprecated

  • Identifier: org.ietr.preesm.experiment.pimm2srdag.StaticPiMM2SrDAGTask
  • Implementing Class: org.preesm.algorithm.pisdf.pimm2srdag.StaticPiMM2SrDAGTask
  • Short description: Transforms an SDF graph into an equivalent single-rate SDF graph.

Inputs

  • PiMM (of PiGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

  • DAG (of DirectedAcyclicGraph)
  • PiMM (of PiGraph)

Description

In Preesm, since version 2.0.0, the Parameterized and Interfaced SDF (PiSDF) model of computa tion is used as the frontend model in the graphical editor of dataflow graphs. This model makes it possible to design dynamically reconfigurable dataflow graphs where the value of parameters, and production/consumption rates depending on them, might change during the execution of the application. In former versions, the Interface Based SDF (IBSDF) model of computation was used as the front end model for application design. Contrary to the PiSDF, the IBSDF is a static model of computation where production and consumption rates of actors is fixed at compile-time.

The purpose of this workflow task is to transform a static PiSDF graph into an equivalent IBSDF graph. A static PiSDF graph is a PiSDF graph where dynamic reconfiguration features of the PiSDF model of computation are not used.

Parameters

ExplodeImploreSuppr

(Deprecated: use at your own risks)

This parameter makes it possible to remove most of the explode and implode actors that are inserted in the graph during the single-rate transformation. The resulting SDF graph is an ill-constructed graph where a single data input/output port of an actor may be connected to several First-In, First-Out queues (Fifos).

Value Effect
false (default) The suppression of explode/implode special actors is not activated.
true The suppression of explode/implode special actors is activated.

Documented Errors

Message Explanation
Graph not valid, not schedulable Single-rate transformation of the SDF graph was aborted because the top level was not consistent, or it was consistent but did not contained enough delays — i.e. initial data tokens — to make it schedulable.

See Also

  • Single-rate transformation: J.L. Pino, S.S. Bhattacharyya, and E.A. Lee. A hierarchical multiprocessor scheduling framework for synchronous dataflow graphs. Electronics Research Laboratory, College of Engineering, University of California, 1995.
  • Special actors: Karol Desnos, Maxime Pelcat, Jean-François Nezan, and Slaheddine Aridhi. On memory reuse between inputs and outputs of dataflow actors. ACM Transactions on Embedded Computing Systems, 15(30):25, January 2016.
  • Graph consistency: E.A. Lee and D.G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75(9):1235 – 1245, sept. 1987.

Other

Memory Exclusion Graph Mapper

  • Identifier: org.ietr.preesm.memory.distributed.MapperTask
  • Implementing Class: org.preesm.algorithm.memory.distributed.MapperTask
  • Short description: Undocumented

Inputs

  • MemEx (of MemoryExclusionGraph)

Outputs

  • MemExes (of Map)

Description

Undocumented

Parameters

Verbose

Undocumented

Value Effect
? C {True, False}  
Distribution

Specify which memory architecture should be used to allocate the memory.

Value Effect
SharedOnly (Default) All memory objects are allocated in a single memory bank accessible to all PE.
DistributedOnly Each PE is associated to a private memory bank that no other PE can access. (Currently not supported by code generation.)
Mixed Both private memory banks and a shared memory can be used for allocating memory.
MixedMerged Same as mixed, but the memory allocation algorithm favors buffer merging over memory distribution.

PiSDF Flattener

  • Identifier: org.ietr.preesm.pimm.algorithm.pimm2flat.StaticPiMM2FlatPiMMTask
  • Implementing Class: org.preesm.model.pisdf.statictools.PiSDFFlattenerTask
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)

Outputs

  • PiMM (of PiGraph)

Description

Undocumented

Parameters

Perform optimizations

Undocumented

Value Effect
true / false  

Throughput Evaluation

  • Identifier: org.ietr.preesm.throughput.ThroughputPlugin
  • Implementing Class: org.preesm.algorithm.throughput.ThroughputEvaluationTask
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)

Outputs

  • throughput (of Double)
  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)

Description

Undocumented

Parameters

method

Undocumented

Value Effect
SR Schedule-Replace technique
ESR Evaluate-Schedule-Replace method
HPeriodic Hierarchical Periodic Schedule method
Classical Based on Flattening the hierarchy

Slam Flattener

  • Identifier: org.ietr.preesm.archi.slam.flattening
  • Implementing Class: org.preesm.model.slam.utils.SlamHierarchyFlattening
  • Short description: Undocumented

Inputs

  • architecture (of Design)

Outputs

  • architecture (of Design)

Description

Undocumented

Parameters

depth

Undocumented

Value Effect
n > 0 default = 1

Random SDF Generator - Deprecated

  • Identifier: org.ietr.preesm.algorithm.randomsdf.RandomSDF
  • Implementing Class: org.preesm.algorithm.randomsdf.RandomSDF
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)

Description

Undocumented

Parameters

nbVertex

Undocumented

Value Effect
10 Undocumented
minInDegree

Undocumented

Value Effect
1 Undocumented
maxInDegree

Undocumented

Value Effect
5 Undocumented
minOutDegree

Undocumented

Value Effect
1 Undocumented
maxOutDegree

Undocumented

Value Effect
5 Undocumented
minRate

Undocumented

Value Effect
1 Undocumented
maxRate

Undocumented

Value Effect
4 Undocumented
minTime

Undocumented

Value Effect
100 Undocumented
maxTime

Undocumented

Value Effect
1000 Undocumented
rateMultiplier

Undocumented

Value Effect
1000 Undocumented

Single rate SDF to DAG Transformation

  • Identifier: org.ietr.preesm.mapper.SDF2DAGTransformation
  • Implementing Class: org.preesm.algorithm.mapper.graphtransfo.SDF2DAGTransformation
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

  • DAG (of DirectedAcyclicGraph)

Description

Undocumented

Parameters

None.

Activity Exporter of Tokens and Quanta

  • Identifier: org.ietr.preesm.algorithm.moa.activity.ActivityExporter
  • Implementing Class: org.preesm.algorithm.moa.activity.ActivityExporter
  • Short description: Undocumented

Inputs

  • ABC (of LatencyAbc)

Outputs

None.

Description

Undocumented

Parameters

path

Undocumented

Value Effect
stats/mat/activity Undocumented
human_readable

Undocumented

Value Effect
Yes Undocumented

PiSDF Exporter

  • Identifier: pisdf-export
  • Implementing Class: org.preesm.model.pisdf.serialize.PiSDFExporterTask
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)

Outputs

None.

Description

Undocumented

Parameters

path

Undocumented

Value Effect
/Algo/generated/pisdf/ default path

SDF2HSDF

  • Identifier: org.ietr.preesm.plugin.transforms.sdf2hsdf
  • Implementing Class: org.preesm.algorithm.transforms.HSDFTransformation
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)

Outputs

  • SDF (of SDFGraph)

Description

Undocumented

Parameters

ExplodeImplodeSuppr

Undocumented

Value Effect
false  

PiSDF Single-Rate Transformation

  • Identifier: pisdf-srdag
  • Implementing Class: org.preesm.model.pisdf.statictools.PiSDFToSingleRateTask
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)

Outputs

  • PiMM (of PiGraph)

Description

Undocumented

Parameters

Consistency_Method

Undocumented

Value Effect
LCM  
Topology  

Activity Exporter of Tokens and Quanta for a single ABC

  • Identifier: org.ietr.preesm.algorithm.moa.activity.MonoActivityExporter
  • Implementing Class: org.preesm.algorithm.moa.activity.MonoActivityExporter
  • Short description: Undocumented

Inputs

  • ABC (of LatencyAbc)

Outputs

None.

Description

Undocumented

Parameters

path

Undocumented

Value Effect
stats/mat/activity  
human_readable

Undocumented

Value Effect
Yes  

PiSDF BRV Exporter

  • Identifier: pisdf-brv-export
  • Implementing Class: org.preesm.model.pisdf.brv.BRVExporter
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)

Outputs

  • PiMM (of PiGraph)

Description

Undocumented

Parameters

path

Undocumented

Value Effect
/stats/xml/ default value

GetPiMM

  • Identifier: org.ietr.preesm.mapper.getpimm
  • Implementing Class: org.preesm.algorithm.mapper.GetPiMMFromDAGTask
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)

Outputs

  • PiMM (of PiGraph)

Description

Undocumented

Parameters

None.

Clustering

  • Identifier: org.ietr.preesm.Clustering
  • Implementing Class: org.preesm.algorithm.clustering.Clustering
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

  • SDF (of SDFGraph)

Description

Undocumented

Parameters

None.

SDF3 Importer

  • Identifier: org.ietr.preesm.algorithm.importSdf3Xml.Sdf3Importer
  • Implementing Class: org.preesm.algorithm.io.sdf3.Sdf3Importer
  • Short description: Undocumented

Inputs

  • architecture (of Design)
  • scenario (of PreesmScenario)

Outputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)

Description

Undocumented

Parameters

path

Undocumented

Value Effect
./Code/SDF3/graph.xml  

Algorithm Iterator

  • Identifier: org.ietr.preesm.algorithm.transforms.IterateAlgorithm
  • Implementing Class: org.preesm.algorithm.transforms.IterateAlgorithm
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)

Outputs

  • SDF (of SDFGraph)

Description

Undocumented

Parameters

nbIt

Undocumented

Value Effect
1  
setStates

Undocumented

Value Effect
true  

Activity Exporter of Custom Quanta

  • Identifier: org.ietr.preesm.algorithm.moa.activity.CustomQuantaExporter
  • Implementing Class: org.preesm.algorithm.moa.activity.CustomQuantaExporter
  • Short description: Undocumented

Inputs

  • ABC (of LatencyAbc)

Outputs

None.

Description

Undocumented

Parameters

xls_file

Undocumented

Value Effect
stats/mat/custom_quanta_in/quanta_in$SCENARIO$.xls_  
path

Undocumented

Value Effect
stats/mat/activity  
human_readable

Undocumented

Value Effect
Yes  

SDF4J Exporter - Deprecated

  • Identifier: sdf4j-export
  • Implementing Class: org.preesm.algorithm.io.xml.SDF4JGMLExporter
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)

Outputs

None.

Description

Undocumented

Parameters

path

Undocumented

Value Effect
__ Undocumented

scenario

  • Identifier: org.ietr.preesm.scenario.task
  • Implementing Class: org.preesm.model.scenario.workflow.AlgorithmAndArchitectureScenarioNode
  • Short description: Undocumented

Inputs

None.

Outputs

  • scenario (of PreesmScenario)
  • architecture (of Design)
  • PiMM (of PiGraph)

Description

Undocumented

Parameters

None.

Latency Evaluation

  • Identifier: org.ietr.preesm.latency.LatencyEvaluationPlugin
  • Implementing Class: org.preesm.algorithm.latency.LatencyEvaluationTask
  • Short description: Undocumented

Inputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)

Outputs

  • SDF (of SDFGraph)
  • scenario (of PreesmScenario)
  • latency (of Double)

Description

Undocumented

Parameters

multicore

Undocumented

Value Effect
true/false  
method

Undocumented

Value Effect
FAST (default) Hierarchical method
FLAT_LP Based on Flattening the hierarchy
FLAT_SE Based on Flattening the hierarchy

Implementation Exporter

  • Identifier: org.ietr.preesm.plugin.mapper.exporter.ImplExportTransform
  • Implementing Class: org.preesm.algorithm.mapper.exporter.ImplExportTransform
  • Short description: Undocumented

Inputs

  • DAG (of DirectedAcyclicGraph)

Outputs

  • xml (of String)

Description

Undocumented

Parameters

path

Undocumented

Value Effect
__ Undocumented

Papify Engine

  • Identifier: org.ietr.preesm.codegen.xtend.task.CodegenPapifyEngineTask
  • Implementing Class: org.preesm.codegen.xtend.task.CodegenPapifyEngineTask
  • Short description: Undocumented

Inputs

  • scenario (of PreesmScenario)
  • DAG (of DirectedAcyclicGraph)

Outputs

  • DAG (of DirectedAcyclicGraph)

Description

Undocumented

Parameters

None.

Hierarchical Scheduler - Deprecated

  • Identifier: hsceduler
  • Implementing Class: org.preesm.algorithm.mapper.algo.HScheduleTask
  • Short description: Undocumented

Inputs

None.

Outputs

None.

Description

Undocumented

Parameters

None.

Periods Prescheduling Checker

  • Identifier: org.ietr.preesm.pimm.algorithm.checker.periods.PeriodsPreschedulingChecker
  • Implementing Class: org.preesm.algorithm.pisdf.checker.PeriodsPreschedulingChecker
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)
  • scenario (of PreesmScenario)
  • architecture (of Design)

Outputs

  • PiMM (of PiGraph)

Description

Undocumented

Parameters

Selection rate (%)

Undocumented

Value Effect
100  

PiSDF Checker

  • Identifier: pisdf-checker
  • Implementing Class: org.preesm.model.pisdf.check.PiMMAlgorithmCheckerTask
  • Short description: Undocumented

Inputs

  • PiMM (of PiGraph)

Outputs

  • PiMM (of PiGraph)

Description

Undocumented

Parameters

None.