A class that implement methods to read workflow files provided by the Pegasus project. More...
#include <PegasusWorkflowParser.h>
Static Public Member Functions | |
static Workflow * | createExecutableWorkflowFromJSON (const std::string &filename, const std::string &reference_flop_rate, bool redundant_dependencies=false) |
Create an NON-abstract workflow based on a JSON file. More... | |
static Workflow * | createWorkflowFromDAX (const std::string &filename, const std::string &reference_flop_rate, bool redundant_dependencies=false) |
Create an abstract workflow based on a DAX file. More... | |
static Workflow * | createWorkflowFromJSON (const std::string &filename, const std::string &reference_flop_rate, bool redundant_dependencies=false) |
Create an abstract workflow based on a JSON file. More... | |
Detailed Description
A class that implement methods to read workflow files provided by the Pegasus project.
Member Function Documentation
◆ createExecutableWorkflowFromJSON()
|
static |
Create an NON-abstract workflow based on a JSON file.
- Parameters
-
filename the path to the JSON file reference_flop_rate a reference compute speed (in flops/sec), assuming a task's computation is purely flops. This is needed because JSON files specify task execution times in seconds, but the WRENCH simulation needs some notion of "amount of computation" to apply reasonable scaling. (Because the XML platform description specifies host compute speeds in flops/sec). The times in the JSON file are thus assumed to be obtained on an machine with flop rate reference_flop_rate. redundant_dependencies Workflows provided by Pegasus sometimes include control/data dependencies between tasks that are already induced by other control/data dependencies (i.e., they correspond to transitive closures or existing edges in the workflow graphs). Passing redundant_dependencies=true force these "redundant" dependencies to be added as edges in the workflow. Passing redundant_dependencies=false will ignore these "redundant" dependencies. Most users woudl likely pass "false".
- Returns
- a workflow
- Exceptions
-
std::invalid_argument
◆ createWorkflowFromDAX()
|
static |
Create an abstract workflow based on a DAX file.
- Parameters
-
filename the path to the DAX file reference_flop_rate a reference compute speed (in flops/sec), assuming a task's computation is purely flops. This is needed because DAX files specify task execution times in seconds, but the WRENCH simulation needs some notion of "amount of computation" to apply reasonable scaling. (Because the XML platform description specifies host compute speeds in flops/sec). The times in the DAX file are thus assumed to be obtained on an machine with flop rate reference_flop_rate. redundant_dependencies Workflows provided by Pegasus sometimes include control/data dependencies between tasks that are already induced by other control/data dependencies (i.e., they correspond to transitive closures or existing edges in the workflow graphs). Passing redundant_dependencies=true force these "redundant" dependencies to be added as edges in the workflow. Passing redundant_dependencies=false will ignore these "redundant" dependencies. Most users would likely pass "false".
- Returns
- a workflow
- Exceptions
-
std::invalid_argument
◆ createWorkflowFromJSON()
|
static |
Create an abstract workflow based on a JSON file.
- Parameters
-
filename the path to the JSON file reference_flop_rate a reference compute speed (in flops/sec), assuming a task's computation is purely flops. This is needed because JSON files specify task execution times in seconds, but the WRENCH simulation needs some notion of "amount of computation" to apply reasonable scaling. (Because the XML platform description specifies host compute speeds in flops/sec). The times in the JSON file are thus assumed to be obtained on an machine with flop rate reference_flop_rate. redundant_dependencies Workflows provided by Pegasus sometimes include control/data dependencies between tasks that are already induced by other control/data dependencies (i.e., they correspond to transitive closures or existing edges in the workflow graphs). Passing redundant_dependencies=true force these "redundant" dependencies to be added as edges in the workflow. Passing redundant_dependencies=false will ignore these "redundant" dependencies. Most users would likely pass "false".
- Returns
- a workflow
- Exceptions
-
std::invalid_argument
The documentation for this class was generated from the following file: