Sobre el proyecto

AetherGraph es una biblioteca de alto rendimiento para muestreo de grafos y servicio de características, diseñada para el entrenamiento de GNN en grafos evolutivos a escala de miles de millones. Combina un núcleo en Rust con enlaces de Python, lo que permite manejar eficientemente grafos masivos que exceden los límites de memoria de la GPU. **Características clave:** - **Tres modos de grafo:** Grafos CSR estáticos (mapeados en memoria desde NVMe), grafos dinámicos tipo C-tree (ingesta de un solo escritor, lectores sin bloqueo) y grafos heterogéneos (multi-relacionales con muestreo tipado) - **Alto rendimiento:** Lecturas asíncronas NVMe con io_uring, paso directo NVMe, archivos de grafo comprimidos (Elias-Fano + StreamVByte), características de media precisión (f16/bf16) y reordenamiento de vértices Rabbit Order para localidad de caché - **Características en tiempo real:** Servicio RDMA GPUDirect (<5us) para actualizaciones de características en vivo, evitando la CPU - **Integración con PyTorch Geometric:** Reemplazo directo de NeighborLoader con salidas estándar Data/HeteroData - **Entrenamiento distribuido:** Integración con Ray Data con topología replicada (grafo local a cada trabajador) - **Flexibilidad de almacenamiento:** Paginación fuera de núcleo, memoria de características compartida entre procesos, formatos comprimidos y caché por niveles - **Soporte de CPython sin bloqueo global:** Compilaciones sin GIL con bloqueos en Rust **Rendimiento de referencia:** Muestreo 1.2-1.5 veces más rápido que el núcleo C++ de PyG, con operaciones de grafos dinámicos que logran 9 millones de inserciones/segundo y 38 millones de lecturas/segundo. **Instalación:** `pip install aethergraph` con integración opcional de PyG. Las características específicas de plataforma (io_uring, RDMA, GPUDirect, etc.) se degradan de manera elegante en tiempo de ejecución. **Licencia:** MIT O Apache-2.0