Top | ![]() |
![]() |
![]() |
![]() |
UfoGraph * | ufo_task_graph_new () |
|
ufo_task_graph_read_from_file () |
|
ufo_task_graph_read_from_data () |
|
ufo_task_graph_save_to_json () |
|
ufo_task_graph_get_json_data () |
|
ufo_task_graph_is_alright () |
|
ufo_task_graph_map () |
|
ufo_task_graph_expand () |
|
ufo_task_graph_connect_nodes () |
|
ufo_task_graph_connect_nodes_full () |
|
ufo_task_graph_fuse () |
|
ufo_task_graph_set_partition () |
|
ufo_task_graph_get_partition () |
|
ufo_task_graph_error_quark () |
#define | UFO_TASK_GRAPH_ERROR |
enum | UfoTaskGraphError |
struct | UfoTaskGraph |
struct | UfoTaskGraphClass |
UfoGraph *
ufo_task_graph_new (void
);
Create a new task graph without any nodes.
void ufo_task_graph_read_from_file (UfoTaskGraph *graph
,UfoPluginManager *manager
,const
,gchar *filename);
GError **error
Read a JSON configuration file to fill the structure of graph
.
graph |
A UfoTaskGraph. |
|
manager |
A UfoPluginManager used to load the filters |
|
filename |
Path and filename to the JSON file |
|
error |
Indicates error in case of failed file loading or parsing |
void ufo_task_graph_read_from_data (UfoTaskGraph *graph
,UfoPluginManager *manager
,const
,gchar *json);
GError **error
Read a JSON configuration file to fill the structure of graph
.
graph |
A UfoTaskGraph. |
|
manager |
A UfoPluginManager used to load the filters |
|
json |
|
|
error |
Indicates error in case of failed file loading or parsing |
void ufo_task_graph_save_to_json (UfoTaskGraph *graph
,const
,gchar *filename);
GError **error
Save a JSON configuration file with the filter structure of graph
.
graph |
A UfoTaskGraph. |
|
filename |
Path and filename to the JSON file |
|
error |
Indicates error in case of failed file saving |
gchar * ufo_task_graph_get_json_data (UfoTaskGraph *graph
,);
GError **error
gboolean ufo_task_graph_is_alright (UfoTaskGraph *task_graph
,);
GError **error
Check if nodes int the task graph are properly connected.
void ufo_task_graph_map (UfoTaskGraph *task_graph
,);
GList *gpu_nodes
Map task nodes of task_graph
to the processing nodes of arch_graph
. Not
doing this could break execution of task_graph
.
task_graph |
||
gpu_nodes |
List of UfoGpuNode objects. |
[transfer none][element-type Ufo.GpuNode] |
void ufo_task_graph_expand (UfoTaskGraph *task_graph
,UfoResources *resources
,,
guint n_gpus);
gboolean expand_remote
Expands task_graph
in a way that most of the resources in arch_graph
can be
occupied. In the simple pipeline case, the longest possible GPU paths are
duplicated as much as there are GPUs in arch_graph
.
task_graph |
||
resources |
A UfoResources objects |
|
n_gpus |
Number of GPUs to expand the graph for |
|
expand_remote |
|
void ufo_task_graph_connect_nodes (UfoTaskGraph *graph
,UfoTaskNode *n1
,UfoTaskNode *n2
);
Connect n1
with n2
using n2
's default input port. To specify any other
port, use ufo_task_graph_connect_nodes_full()
.
void ufo_task_graph_connect_nodes_full (UfoTaskGraph *graph
,UfoTaskNode *n1
,UfoTaskNode *n2
,);
guint input
Connect n1
with n2
using n2
's input
port.
void ufo_task_graph_fuse (UfoTaskGraph *task_graph
);
Fuses task nodes to increase data locality.
Note: This is not implemented and a no-op right now.
void ufo_task_graph_set_partition (UfoTaskGraph *task_graph
,,
guint index);
guint total
void ufo_task_graph_get_partition (UfoTaskGraph *task_graph
,,
guint *index);
guint *total
struct UfoTaskGraph;
Main object for organizing filters. The contents of the UfoTaskGraph structure are private and should only be accessed via the provided API.