Repolode
ChunelFeng

ChunelFeng/CGraph

Framework de DAG en C++11 sin dependencias para crear y ejecutar grafos de tareas paralelas, con bindings para Python (pycgraph).

Estrellas
2,316
Forks
392
Issues abiertos
13
Último commit
hace 4 días

¿Qué es?

CGraph es un framework multiplataforma en C++ para describir y ejecutar grafos dirigidos acíclicos de tareas. Se crea una subclase de nodo, se implementa su método run() y se declaran las dependencias entre nodos. Luego, el planificador ejecuta los nodos dependientes en orden y los independientes en paralelo, con opciones para pausar, reanudar y definir tiempos de espera.

Además de las dependencias simples, el framework ofrece grupos para ramificaciones condicionales, bucles y ejecución concurrente, así como paso de parámetros, eventos, mensajes y aspectos para implementar lógica transversal. Está desarrollado con la biblioteca estándar de C++11, se compila en macOS, Linux, Windows y Android, y también está disponible como paquete de Python: pycgraph.

El proyecto está dirigido a desarrolladores que necesitan coordinar pipelines de procesamiento de varios pasos en código nativo, como flujos de trabajo de algoritmos o preprocesamiento y posprocesamiento de inferencias, sin añadir dependencias externas.

Funciones clave

  • 01Ejecuta los nodos dependientes en orden y los independientes en paralelo
  • 02Admite ramificaciones condicionales, bucles y ejecución en grupos
  • 03Permite pausar y reanudar, y configurar tiempos de espera por nodo
  • 04Permite pasar parámetros, mensajes y eventos entre nodos
  • 05No tiene dependencias de terceros, se basa en C++11 y ofrece bindings para Python

Casos de uso

  • Coordinar pipelines de algoritmos o procesamiento de datos de varias etapas en aplicaciones C++
  • Estructurar los pasos de preprocesamiento y posprocesamiento de inferencias de IA como un grafo de dependencias
  • Integrar un planificador de grafos de tareas en proyectos embebidos o para Android sin bibliotecas externas

Inicio rápido

  1. 1

    Instala el binding de Python desde PyPI

    pip install pycgraph
  2. 2

    Guarda la demostración de Python del README como un script y ejecútala con Python

Antes de usarlo

  • El README no muestra cómo instalar la versión de C++ con un gestor de paquetes; hay que compilarla desde el código fuente siguiendo la guía independiente COMPILE.md.
  • El README principal está escrito en chino y contiene un enlace a otro README en inglés.

En colecciones

Temas

Preguntas frecuentes

¿Qué es CGraph?
Framework de DAG en C++11 sin dependencias para crear y ejecutar grafos de tareas paralelas, con bindings para Python (pycgraph). CGraph es un framework multiplataforma en C++ para describir y ejecutar grafos dirigidos acíclicos de tareas. Se crea una subclase de nodo, se implementa su método run() y se declaran las dependencias entre nodos. Luego, el planificador ejecuta los nodos dependientes en orden y los independientes en paralelo, con opciones para pausar, reanudar y definir tiempos de espera.
¿CGraph es gratuito? ¿Qué licencia tiene?
CGraph es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿CGraph sigue mantenido?
Mantenimiento activo. El último commit de CGraph fue el 3 nov 2026.
¿Para qué puedo usar CGraph?
Coordinar pipelines de algoritmos o procesamiento de datos de varias etapas en aplicaciones C++ Estructurar los pasos de preprocesamiento y posprocesamiento de inferencias de IA como un grafo de dependencias Integrar un planificador de grafos de tareas en proyectos embebidos o para Android sin bibliotecas externas
¿Cómo se instala CGraph?
Instala el binding de Python desde PyPI: pip install pycgraph Guarda la demostración de Python del README como un script y ejecútala con Python
¿Dónde consigo CGraph?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ChunelFeng/CGraph

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados