Task Oriented Flows
- Procedure
- Description
- PARALLEL
- The tasks described within the script are to be considered parallel, meaning that they can be executed in any order and also concurrently.
- SERIAL
- The tasks described within the script are to be executed in the specified order.
- TASK
- Describe a task in a SERIAL or PARALLEL context
Keep it Simple
The idea behind the flows using parallel and serial tasks is to allow quick implementation of simple flows. These flows are based on a serial/parallel description of the relationships between tasks. It is the user's responsibility to make sure that such relationships are correct. Although these flows do not use any form of Tool Integration, they still offer visualization, resource management, and parallel execution of tasks. These flows are not the most efficient that can be written, but may be an easy way to begin using FlowTracer.
SERIAL {
TASK ./configure
TASK make clean
TASK make install
}
PARALLEL {
foreach dir { dir1 dir2 dir3 } {
indir $dir {
TASK make install
}
}
}
PARALLEL {
foreach dir { dir1 dir2 dir3 } {
indir $dir {
SERIAL {
TASK make clean
TASK make install
S "PostInstall" {
PARALLEL {
J vw run_script1.csh
T vw run_script2.csh
}
}
}
}
}
}
PARALLEL {
SERIAL {
N "PS1"
TASK cal 2001
TASK cal 2002
TASK cal 2003
TASK cal 2004
}
SERIAL {
N "PS2"
TASK cal 2011
TASK cal 2012
TASK cal 2013
TASK cal 2014
}
}
Adding Resources
SERIAL {
R "License:Synthesis RAM/2000"
TASK doSynthesis ALU
foreach test $listOfTests {
R "License:Simulator RAM/1500"
TASK doSimulation ALU $test
}
}
Using S (setname) and N (name)
S "MainTasks" {
SERIAL {
R "pseudotasks !unix"
N "Builds"
TASK vsr -set "All:vovbuild"
N "Headers"
TASK vsr -cb -f -recompute -set All:include -timeout 30m
N "Libraries"
TASK vsr -cb -f -recompute -set All:libraries -timeout 30m
N "AllTheRest"
TASK vsr -all -nowait
}
}