CGraph

用 DAG 编排复杂任务,自动并行加速执行

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 智能体 🍴 复刻 391 🐛 待处理 13 👀 关注 32
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 2317
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,无付费版本。

项目预览

CGraph 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类智能体
开发团队ChunelFeng
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言C++
技术栈/模型ai,ai-agents,dag,graph,langgraph,pipeline,taskflow,workflow
GitHub 星标★ 2317
上线时间2021-04-26 00:00:00
代码更新2026-11-03
仓库体积6.6 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-09
浏览次数5

项目介绍

CGraph 是一个基于 DAG(有向无环图)的通用并行计算框架,使用 C++ 编写,同时提供 Python 绑定。它解决了复杂任务编排和并行调度的问题,让开发者通过定义节点和边来构建执行流图,框架自动处理依赖关系和并行执行。核心能力包括:支持节点间依赖的自动拓扑排序、多线程并行调度、条件分支和循环控制、以及基于流图的流水线处理。项目无第三方依赖,跨平台(Windows/Linux/macOS),已收录于 awesome-cpp 列表。其设计强调高性能和灵活性,适用于 AI 推理流水线、数据处理管道、任务流编排等场景。代码结构清晰,文档和示例较丰富,适合需要精细控制任务执行顺序和并发的开发者。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2317

技术标签

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • Python 环境(可通过 pip 安装第三方包)
  • 可访问 PyPI 的网络
  • 如使用 C++ 版本,需具备 C++ 编译环境(跨平台:Windows/Linux/macOS,无第三方依赖)

安装与启动步骤

  1. 1安装 PyCGraph

    CGraph 提供官方 Python 绑定 pycgraph,直接用 pip 从 PyPI 安装,无需编译 C++ 源码。

    pip install pycgraph
  2. 2编写示例脚本

    新建 demo.py,定义继承 GNode 的节点类并实现 run 方法,用 GPipeline 注册节点和依赖关系。

  3. 3运行流水线

    执行脚本,框架会按注册的依赖关系自动排序并执行各节点。

    python demo.py
  4. 4(可选)克隆源码

    如需查看 C++ 源码或用 CMake 构建原生版本,可先克隆仓库到本地。

    git clone https://github.com/ChunelFeng/CGraph.git

如何确认成功

终端依次打印带时间戳的 nodeA、nodeB、nodeC、nodeD 日志,其中 nodeD 一定在 nodeB 和 nodeC 之后输出,说明依赖与并行调度生效。

常见问题

Q:必须自己编译 C++ 代码吗?

A:不需要。直接用 pip install pycgraph 安装 Python 绑定即可使用;只有使用原生 C++ 接口时才需要自行构建仓库源码。

Q:运行提示找不到 pycgraph 模块?

A:确认 pip 与运行脚本使用的是同一个 Python 环境(如虚拟环境需先激活),并检查安装是否成功。

Q:节点执行顺序能自己控制吗?

A:可以。顺序由 registerGElement 时传入的前驱节点集合决定,例如 nodeD 依赖 {b, c},就会等两者都完成后再执行。

注意事项

  • README 中 registerGElement 的第三个参数为节点名(如 "nodeA"),用于日志中标识节点。
  • run 方法返回 CStatus() 表示执行成功,实际使用时可在其中编写自己的业务逻辑。
  • 同一层无依赖的节点(如 nodeB 与 nodeC)会被并行调度执行。

核心亮点

  • 零第三方依赖,跨平台,编译和部署简单
  • 基于 DAG 的调度模型,天然支持并行和依赖管理
  • 提供 Python 绑定,兼顾 C++ 性能和 Python 易用性

不足之处

  • 文档/社区待观察
  • 相比成熟框架,生态和周边工具较少

适用场景

  • AI 推理流水线编排,如多模型串联和并行推理
  • 数据处理管道,如 ETL 任务依赖调度
  • 高性能计算中的任务图并行执行

替代项目

Taskflow、TBB (Threading Building Blocks)、DAGGER

上一篇:a2a-java

下一篇:bike4mind

同类项目推荐

ollama-js 开源

在 JS 里一行代码调用本地大模型

Ollama JavaScript library

★ 4409 2026-10-15
switch 开源

把任务拆成小步选择,让模型一步步做决定

A framework for building decision-model harnesses for any kind of task. Your program···

★ 435 2026-11-03
flytekit 开源

用 Python 装饰器快速构建可扩展的机器学习工作流

Extensible Python SDK for developing Flyte tasks and workflows. Simple to get starte···

★ 321 2026-08-09
ai 开源

一套代码接入多家大模型,快速构建 AI 应用和智能体

The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free op···

★ 27818 2026-08-09
llm4s 开源

用 Scala 类型安全地搭建 LLM Agent 工作流

Agentic and LLM Programming in Scala

★ 278 2026-09-16
apm 开源

像 npm 一样管理你的 AI 智能体技能包,即装即用。

Agent Package Manager

★ 4296 2026-08-09
skillware 开源

像管理软件包一样管理 AI 技能,让智能体能力随需组合。

A Python framework for modular, self-contained skill management for machines.

★ 179 2026-08-09
agent-skills 开源

给 AI 编程代理装技能,先审后用更放心

The secure, validated skill registry for professional AI coding agents. Extend Antig···

★ 7148 2026-10-12
pi-less-yolo 开源

在Docker沙箱里安全跑AI编程代理,减少翻车风险

Slightly less YOLO version of pi-coding-agent in Docker container sandbox

★ 168 2026-08-09