Skip to content
Snippets Groups Projects
Commit 3918e8f6 authored by RafaeNoor's avatar RafaeNoor
Browse files

Adding a description of the scheduler backend to top level README

parent f9b2902b
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,28 @@ for how to build, install, and use HPVM.
HPVM is currently at **version 1.0**.
## HPVM Scheduler Backend
We provide the HPVM Backend pass `DFG2LLVM_EPOCHS` which converts those Dataflow Graph (DFG) nodes which represent specific
tasks from the scheduler's task library (e.g FFT, Viterbi). To specify that a particular node corresponds to a scheduler
task, users must specify the target hint to node be `EPOCHS_TARGET`.
`__hpvm__hint(EPOCHS_TARGET)`
If a particular node in the DFG is marked as above, the `DFG2LLVM_EPOCHS` backend pass would then identify which task from
the scheduler's task library that node corresponds by using the user specified call to `__hpvm__task`. For example,
to specify that a node represents a Vitterbi Task in the accelerator, the following call will be used:
`__hpvm__task(VIT_TASK)`
Using this information, alongside a task library configuration file (which describes the specific scheduler api to set-up
and execute each task), the `DFG2LLVM_EPOCHS` pass generates the appropriate task specific api calls while respecting
the task inter-dependency constraints (as denoted by the structure of the HPVM Dataflow Graph).
To add a new task type to this pass, users must simply add a new task type entry to `__hpvm__task` and create the
entry for the name of the specific scheduler api calls to the task library configuration file.
## Support
All questions can be directed to [hpvm-dev@lists.cs.illinois.edu](mailto:hpvm-dev@lists.cs.illinois.edu).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment