ncnn is a high-performance neural network inference framework designed for mobile, embedded, and desktop deployment. It provides a self-contained C++ library with no mandatory external dependencies, supporting CPU inference with extensive SIMD optimizations (ARM NEON, x86 SSE/AVX/AVX512, RISC-V Vector, MIPS MSA, LoongArch LSX/LASX) and GPU inference via Vulkan. The framework includes a comprehensive set of neural network layers (convolution, pooling, normalization, activation, recurrent, attention, etc.) and supports multiple data types (float32, float16, bfloat16, int8). The companion pnnx tool converts models from PyTorch (TorchScript) and ONNX into ncnn format using a sophisticated graph rewriting pipeline. Python bindings and a model zoo are provided for rapid prototyping. The codebase is production-grade, used in Tencent applications like QQ and WeChat, and is actively maintained with support for modern architectures and operations (e.g., scaled dot-product attention, rotary embeddings).
This repository implements Mobile-GS, a real-time Gaussian splatting approach for novel view synthesis optimized for mobile devices. The system trains 3D Gaussian representations from multi-view images, applies compression techniques (vector quantization, Huffman coding, GPCC) to reduce model size, and renders novel views via differentiable EWA (Elliptical Weighted Average) splatting. It includes training pipelines (train.py, pretrain.py), rendering engine (gaussian_renderer/), scene management, custom CUDA kernels for efficient rasterization, and evaluation metrics. The architecture follows a modular design with separate components for training, rendering, scene handling, and compression, optimized for deployment on mobile platforms with limited computational resources.