Repolode
ChunelFeng

ChunelFeng/CGraph

一个无第三方依赖的 C++ 有向无环图(DAG)并行计算框架,并提供 Python 版本 pycgraph。

Star
2,316
Fork
392
未关闭 Issue
13
最近提交
4天前

这是什么?

CGraph 是一个跨平台的 C++ 图流程执行框架,用于描述并执行有向无环图形式的任务。使用者继承节点类并实现 run() 方法,再声明节点之间的依赖关系,框架会按依赖顺序执行有依赖的节点,并让无依赖的节点并发运行,同时支持暂停、恢复和超时设置。

除普通依赖外,框架还提供条件判断、循环和并发执行等组结构,并包含参数传递、事件、消息和切面等机制。项目基于 C++11 标准库实现,不依赖任何第三方库,可在 macOS、Linux、Windows 和 Android 上编译,同时提供 Python 版本 pycgraph。

它适合需要在原生代码中编排多步骤处理流程的开发者,例如算法流水线或推理前后处理等场景。

核心功能

  • 01依赖节点按序执行,无依赖节点并发执行
  • 02支持条件判断、循环和组级别的执行逻辑
  • 03支持暂停、恢复以及节点超时控制
  • 04节点之间可传递参数、消息和事件
  • 05无第三方依赖,基于 C++11 实现,并提供 Python 绑定

适用场景

  • 在 C++ 应用中编排多阶段的算法或数据处理流水线
  • 将 AI 推理的前后处理步骤组织为依赖图
  • 在嵌入式或 Android 项目中嵌入无外部依赖的任务图调度器

快速上手

  1. 1

    从 PyPI 安装 Python 绑定

    pip install pycgraph
  2. 2

    将 README 中的 Python 示例保存为脚本并用 Python 运行

使用前须知

  • README 中未给出 C++ 版本的包管理器安装方式,需要按单独的 COMPILE.md 指南从源码编译。
  • 主 README 以中文撰写,英文版本需另行打开链接中的 README_en.md。

收录于专题

标签

常见问题

CGraph 是什么?
一个无第三方依赖的 C++ 有向无环图(DAG)并行计算框架,并提供 Python 版本 pycgraph。 CGraph 是一个跨平台的 C++ 图流程执行框架,用于描述并执行有向无环图形式的任务。使用者继承节点类并实现 run() 方法,再声明节点之间的依赖关系,框架会按依赖顺序执行有依赖的节点,并让无依赖的节点并发运行,同时支持暂停、恢复和超时设置。
CGraph 可以免费使用吗?用的什么许可证?
CGraph 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
CGraph 还在维护吗?
活跃维护中。CGraph 最近一次提交是在 2026年11月3日。
CGraph 适合用来做什么?
在 C++ 应用中编排多阶段的算法或数据处理流水线 将 AI 推理的前后处理步骤组织为依赖图 在嵌入式或 Android 项目中嵌入无外部依赖的任务图调度器
CGraph 怎么安装和运行?
从 PyPI 安装 Python 绑定: pip install pycgraph 将 README 中的 Python 示例保存为脚本并用 Python 运行
在哪里获取 CGraph?
源代码和安装说明在 GitHub 上:https://github.com/ChunelFeng/CGraph

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目