Repolode
ChunelFeng

ChunelFeng/CGraph

Framework DAG para C++11 sem dependências, que permite criar e executar grafos de tarefas paralelas, com binding para Python (pycgraph).

Estrelas
2,317
Forks
391
Issues abertas
13
Último commit
há 5 dias

O que é?

CGraph é um framework multiplataforma para C++ que permite descrever e executar grafos acíclicos direcionados de tarefas. Você cria uma subclasse de nó, implementa o método run() e declara as dependências entre os nós. Então, o scheduler executa os nós dependentes na ordem correta e os nós independentes em paralelo, com suporte a pausa, retomada e timeouts.

Além das dependências simples, o framework oferece grupos para ramificações condicionais, loops e execução concorrente, além de passagem de parâmetros, eventos, mensagens e aspectos para lógica transversal. Ele é desenvolvido com a biblioteca padrão do C++11, compila em macOS, Linux, Windows e Android e também está disponível como pacote Python pycgraph.

O projeto é voltado a desenvolvedores que precisam orquestrar pipelines de processamento com várias etapas em código nativo, como fluxos de trabalho de algoritmos ou pré e pós-processamento de inferência, sem adicionar dependências externas.

Recursos principais

  • 01Executa nós dependentes na ordem correta e nós independentes em paralelo
  • 02Oferece ramificações condicionais, loops e execução em grupos
  • 03Permite pausar, retomar e configurar timeouts por nó
  • 04Transfere parâmetros, mensagens e eventos entre nós
  • 05Não tem dependências de terceiros e compila com C++11; também oferece bindings para Python

Casos de uso

  • Orquestrar pipelines de algoritmos ou processamento de dados em várias etapas em aplicações C++
  • Estruturar etapas de pré e pós-processamento de inferência de IA como um grafo de dependências
  • Incorporar um scheduler de grafos de tarefas em projetos embarcados ou Android sem bibliotecas externas

Início rápido

  1. 1

    Instale o binding de Python pelo PyPI

    pip install pycgraph
  2. 2

    Salve a demonstração de Python do README como um script e execute-a com Python

Antes de usar

  • O README não mostra como instalar a versão em C++ com um gerenciador de pacotes; é preciso compilá-la a partir do código-fonte seguindo o guia separado COMPILE.md.
  • O README principal está escrito em chinês e inclui um link para um README separado em inglês.

Em coleções

Tópicos

Perguntas frequentes

O que é CGraph?
Framework DAG para C++11 sem dependências, que permite criar e executar grafos de tarefas paralelas, com binding para Python (pycgraph). CGraph é um framework multiplataforma para C++ que permite descrever e executar grafos acíclicos direcionados de tarefas. Você cria uma subclasse de nó, implementa o método run() e declara as dependências entre os nós. Então, o scheduler executa os nós dependentes na ordem correta e os nós independentes em paralelo, com suporte a pausa, retomada e timeouts.
CGraph é gratuito? Qual é a licença?
CGraph é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
CGraph ainda é mantido?
Manutenção ativa. O último commit de CGraph foi em 3 de nov. de 2026.
Para que posso usar CGraph?
Orquestrar pipelines de algoritmos ou processamento de dados em várias etapas em aplicações C++ Estruturar etapas de pré e pós-processamento de inferência de IA como um grafo de dependências Incorporar um scheduler de grafos de tarefas em projetos embarcados ou Android sem bibliotecas externas
Como instalar CGraph?
Instale o binding de Python pelo PyPI: pip install pycgraph Salve a demonstração de Python do README como um script e execute-a com Python
Onde consigo CGraph?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ChunelFeng/CGraph

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados