2 repositorios
Configuration and registration of memory buffers on hardware accelerators via compilation and runtime options.
Distinct from Hardware Acceleration: Focuses on the memory setup and registration phase for accelerators rather than the execution of offloaded compute tasks.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Accelerator Memory Registration. Refine with filters or upvote what's useful.
Mooncake es una plataforma de servicio de modelos de lenguaje grandes (LLM) desagregados y un almacén distribuido de clave-valor diseñado para infraestructura de inferencia de alto rendimiento. Funciona como un orquestador de memoria GPU y un sistema de gestión de caché KV que agrupa y transfiere cachés de clave-valor a través de clústeres para acelerar la inferencia. El sistema se distingue por separar las fases de prellenado (prefill) y decodificación (decode) de la inferencia en clústeres de hardware distintos para optimizar la utilización de recursos. Utiliza una caché distribuida RDMA de alto rendimiento con transferencias de copia cero para mover datos entre nodos de cómputo, evitando la CPU para reducir la latencia y la sobrecarga. La plataforma cubre áreas de capacidad amplias, incluyendo agrupación de memoria distribuida, enrutamiento de memoria de aceleradores mediante CXL y descarga de almacenamiento multinivel a SSDs. Gestiona el estado del clúster a través de servicios de coordinación de metadatos e implementa gobernanza de recursos mediante protección de objetos basada en arrendamiento y desalojo de caché basado en marcas de agua. El software está empaquetado para despliegue en contenedores con soporte para redes de host y mapeo de dispositivos de hardware.
Configures hardware accelerator memory support and registration through specific compilation options.
NCCL es una biblioteca de comunicación de alto rendimiento y un framework de computación distribuida en GPU diseñado para ejecutar intercambios de datos colectivos y punto a punto a través de múltiples GPUs en sistemas de uno o varios nodos. Sirve como capa de transporte RDMA para GPU y orquestador de memoria, facilitando la sincronización de gran ancho de banda de datos y gradientes de modelos para el entrenamiento e inferencia distribuida en GPU. La biblioteca se distingue por su capacidad para ejecutar primitivas de comunicación directamente desde kernels de GPU, eliminando la CPU anfitriona del camino crítico. Utiliza la selección de rutas consciente de la topología para optimizar el movimiento de datos y emplea transporte de red basado en RDMA, incluyendo InfiniBand y NVLink, para permitir el acceso a memoria de copia cero entre dispositivos a través de diferentes nodos físicos. El proyecto cubre una amplia gama de patrones de comunicación colectiva, incluyendo reducciones, broadcasts, gathers e intercambios all-to-all, junto con acceso remoto a memoria punto a punto. Proporciona una gestión integral de comunicadores para inicializar, particionar y redimensionar grupos de GPU, así como una gestión de memoria especializada para registrar buffers y coordinar memoria compartida de dispositivo. El sistema incluye un conjunto de herramientas de monitoreo y observabilidad para el seguimiento de la salud, registro de diagnósticos y monitoreo de eventos en tiempo real, así como interfaces de integración para frameworks de aprendizaje automático, CUDA graphs, MPI y Python.
NCCL creates a registered memory window to enable one-sided remote memory access and peer-to-peer mapping.