6 个仓库
Implementations of operator kernels for ML inference, distinct from OS kernel drivers.
Distinct from Kernel Driver Implementation: Distinct from Kernel Driver Implementation: focuses on ML operator kernels, not OS device drivers.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Operator Kernel Implementations. Refine with filters or upvote what's useful.
Flashlight is a standalone C++ machine learning library and tensor library used for building and training neural networks. It functions as a comprehensive neural network framework and automatic differentiation engine, providing the tools to construct computation graphs and calculate gradients via backpropagation. The project serves as a distributed training framework, utilizing all-reduce operations to synchronize gradients and parameters across multiple compute nodes and devices. It distinguishes itself through deep integration of high-performance tensor manipulation, native device memory in
Enables custom GPU kernels to operate on raw tensor memory addresses for high-performance mathematical operations.
NCCL 是一个高性能通信库和分布式 GPU 计算框架,专为在单节点或多节点系统中的多个 GPU 之间执行集合和点对点数据交换而设计。它充当 RDMA GPU 传输层和内存编排器,为分布式 GPU 训练和推理提供高带宽的数据和模型梯度同步。 该库的特色在于能够直接从 GPU 内核执行通信原语,将主机 CPU 从关键路径中移除。它利用拓扑感知路径选择来优化数据移动,并采用包括 InfiniBand 和 NVLink 在内的基于 RDMA 的网络传输,以实现设备跨不同物理节点之间的零拷贝内存访问。 该项目涵盖了广泛的集合通信模式,包括归约(Reductions)、广播(Broadcasts)、收集(Gathers)和全对全交换(All-to-all exchanges),以及点对点远程内存访问。它提供全面的通信器管理,用于初始化、分区和调整 GPU 组大小,以及用于注册缓冲区和协调共享设备内存的专用内存管理。 该系统包括一套用于健康跟踪、诊断日志记录和实时事件监控的监控与可观测性工具,以及用于机器学习框架、CUDA Graphs、MPI 和 Python 的集成接口。
Implements direct access to raw memory addresses for high-performance GPU kernel communication.
Tengine 是一套工具和轻量级执行引擎,专为在受限嵌入式硬件上运行深度学习模型而设计。它提供了一个基础设施,用于转换神经网络模型、量化权重、优化算子内核,并跨 CPU、GPU 和 NPU 单元对推理性能进行基准测试。 该项目具有自动化算子内核优化器以生成高效内核,以及将精度降低为整数格式以降低内存使用量的模型量化工具。它包括一个专用的硬件基准测试工具,用于评估神经网络架构在嵌入式设备上的执行速度和效率。 该系统涵盖了模型格式到硬件无关内部表示的转换、模块化算子调度和多后端执行。这些能力允许将外部神经网络定义转换为兼容的运行时格式以进行嵌入式部署。
Provides an automated optimizer to generate high-efficiency operator kernels for targeted hardware architectures.
ExecuTorch is a lightweight C++ runtime for deploying PyTorch models on mobile, embedded, and edge hardware. It provides an ahead-of-time compilation pipeline that exports, quantizes, and lowers model graphs into compact serialized programs, then executes them through a minimal runtime with hardware acceleration and on-device large language model inference capabilities. The project distinguishes itself through a hardware accelerator delegate system that partitions model subgraphs and offloads computation to specialized backends including NPUs, GPUs, and DSPs from Apple, Arm, Intel, MediaTek,
ExecuTorch adds or replaces operator implementations in the kernel library to support specialized hardware or logic.
该项目是 PyTorch 深度学习框架技术指南和 API 参考的中文翻译版。它作为一个本地化的知识库和参考资料,使非英语母语者能够访问深度学习文档。 该文档涵盖了 PyTorch 的全面能力,包括神经网络模型开发、自动微分以及后端内核的实现。它提供了关于分布式训练策略、通过 ONNX 和 C++ 等格式进行模型部署以及各种模型优化和量化技术的详细指导。 该项目利用社区驱动的翻译管道和分布式贡献模型来维护版本同步的内容。技术资料使用 Markdown 组织,并通过静态网站生成渲染为可导航的网站。
Describes the registration of high-performance operator kernels and mixed precision implementations.
NuttX 是一个符合 POSIX 标准的实时操作系统,专为从 8 位到 64 位架构的微控制器而设计。它提供了一个具有实时任务调度器和 POSIX 嵌入式内核的确定性执行环境,以确保跨不同硬件目标的可移植代码执行。 该项目通过全面的硬件抽象层脱颖而出,该层为各种半导体芯片组提供了 I2C、SPI、CAN 和 USB 的标准化驱动程序。它还具有支持 TCP、UDP、IPv4 和 IPv6 的嵌入式网络栈,以及 Modbus 和 DroneCAN 等工业协议。 该系统涵盖了广泛的功能,包括具有按需分页的高级内存管理、安全加密操作,以及用于管理不同存储类型的虚拟文件系统。它进一步集成了用于图形用户界面、音频合成以及执行多种脚本语言和 WebAssembly 工作负载的高级接口。 该环境使用 Make 或 CMake 构建,以针对特定的板卡配置和半导体芯片组。
Automates the creation of kernel proxy and stub files using a CSV database to facilitate user-mode and kernel communication.