1 repositorio
Optimizations that combine multiple small function calls into a single kernel execution to reduce memory overhead.
Distinct from Memory Access Pattern Optimizers: Focuses on fusing calls into a single kernel to reduce allocations, whereas memory access pattern optimizers focus on layout and swizzling.
Explore 1 awesome GitHub repository matching software engineering & architecture · Kernel Call Fusion. Refine with filters or upvote what's useful.
Flashlight es una biblioteca de aprendizaje automático y de tensores independiente en C++ utilizada para construir y entrenar redes neuronales. Funciona como un framework integral de redes neuronales y motor de diferenciación automática, proporcionando las herramientas para construir grafos de computación y calcular gradientes mediante retropropagación. El proyecto sirve como framework de entrenamiento distribuido, utilizando operaciones all-reduce para sincronizar gradientes y parámetros a través de múltiples nodos de cómputo y dispositivos. Se distingue por una integración profunda de manipulación de tensores de alto rendimiento, interoperabilidad nativa de memoria de dispositivo y un sistema para sincronizar pesos a través de trabajadores distribuidos para acelerar el entrenamiento de modelos a gran escala. El framework cubre una amplia gama de capacidades de aprendizaje profundo, incluyendo composición modular de capas para diseñar arquitecturas complejas como bloques residuales y celdas recurrentes. Proporciona utilidades extensas de gestión de datos para ingesta y prefetching, junto con sistemas de serialización para persistir estados de modelos. Además, incluye una suite de herramientas de monitorización y observabilidad para rastrear métricas de entrenamiento y medir errores de secuencia. La biblioteca está implementada en C++.
Reduces memory allocations and improves performance by fusing multiple function calls into a single kernel call.