Rate This Document
Findability
Accuracy
Completeness
Readability

Overview

Before using computational graph programming, you need to understand graph-related concepts. graph denotes a dynamic graph; task represents an executable task added to the dynamic graph; sgraph specifies a static graph; and sgraph node refers to a static graph node. Typically, each static graph node maps to a single task, and dependencies can be defined between these nodes.

Specifically, the primary distinction between a dynamic graph and a static graph lies in their reusability. When a task is added to the dynamic graph, the underlying KUPL executor dispatches it dynamically via the scheduler to achieve optimal load balancing. In contrast, a static graph serves as a reusable topology. It is constructed by populating sgraph nodes and defining their execution dependencies. The node tasks within the static graph are eligible for execution only after the static graph is submitted to the dynamic graph. Upon execution completion, the static graph is not destroyed.

Additionally, kupl_graph_h represents the handle for the graph data structure, kupl_task_h denotes the handle for the task data structure, kupl_sgraph_h specifies the handle for the static graph data structure, and kupl_sgraph_node_h identifies the handle for the sgraph node data structure.