---
title: 概念说明
description: "使用计算图编程首先需要了解图相关的概念，其中graph，即动态图；task，即添加到动态图中的需要执行的任务；sgraph，即静态图；sgraph node，即静态图节点，通常一个静态图节点对应一个任务，静态图节点之间可以定义依赖关系。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_035.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_035.html
indexId: 0515da996c2dfd054dbf2274aef5725e6a060f6ecffbf69e08689f1a919bc03667
---
# 概念说明

使用计算图编程首先需要了解图相关的概念，其中graph，即动态图；task，即添加到动态图中的需要执行的任务；sgraph，即静态图；sgraph node，即静态图节点，通常一个静态图节点对应一个任务，静态图节点之间可以定义依赖关系。

具体地说，动态图和静态图的主要区别在于是否可复用，往动态图中添加task任务，KUPL底层executor会基于sched动态执行task任务实现尽可能的负载均衡效果；而静态图则是一张可复用的图，可以通过向其中添加sgraph node并添加sgraph node之间的依赖关系定义一张静态图，将静态图提交给动态图后静态图中的节点任务才能够被KUPL执行，且执行完后静态图不会被销毁。

另外， kupl_graph_h表示graph数据结构的句柄，kupl_task_h表示task数据结构的句柄，kupl_sgraph_h表示static graph数据结构的句柄，kupl_sgraph_node_h表示sgraph node数据结构的句柄。
