diff --git a/README.md b/README.md
index 8d1040a8f41d273728de7585d3d2aaa366728bba..defc8b9234bb11f79a665de286c0896b728356c9 100644
--- a/README.md
+++ b/README.md
@@ -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).