Repository navigation
Releases: devpilgrin/FastOpenCV
Releases · devpilgrin/FastOpenCV
Release list
FastOpenCV 1.0.0
FastOpenCV 1.0.0
Оптимизированная сборка OpenCV 4.14.0 (+contrib) и библиотека быстрых кернелов fastcv.
Железо разработки: AMD Zen 5 (AVX-512 + VBMI, 32 потока) + NVIDIA RTX 4090, Arch Linux.
Состав
- Сборки (
scripts/):linux-dispatch(CUDA 13.3 sm_89, cuDNN, TBB, LAPACK/OpenBLAS, AVX2 + dispatch AVX512_SKX, LTO) и контрольнаяlinux-stock - Патчи OpenCV (
patches/): параллельный DFT/DCT (5-12x), совместимость CUDA+LTO, бэкпорты FFmpeg 9 - fastcv (
fastcv/): 30+ кернелов-замен сcv::MatAPI, каждый с бенчем до/после и верификацией точности - C API + Rust FFI (
fastcv_c.h,rust/fastcv-sys), регрессионный сьют (14 проверок)
Избранные результаты (1080p 8UC1, сток OpenCV → fastcv)
| Операция | Ускорение |
|---|---|
| medianBlur k=9 (C1 / C3) | 14-17x / 16.6x, bit-exact |
| gemm (BLAS) | до 74x |
| eigenSym / SVD (LAPACK) | 36.6x / 12.5x |
| undistort | 11.4x one-shot / 19x RT, bit-exact |
| edgePreserving NC | 22.7x |
| sum 8UC3 | 26.7x |
| resize AREA x4 | 18.7x |
| sortIdx по строкам | 23.5x |
| Sobel k=5/7 | 3.8x/6.7x, bit-exact |
| adaptiveThreshold GAUSSIAN | 5.3-9.1x |
DNN (MobileNetV2 224×224, RTX 4090)
OpenCV dnn CUDA-бэкенд (7.3 мс) хуже CPU (2.9 мс) и уступает TensorRT 11.2 FP16 (0.117 мс, 8241 fps) в 63 раза.
Ключевые находки аудита
- gemm в OpenCV однопоточный (ветка cblas закомментирована в
matmul.simd.hpp) cv::undistortвызывает remap ~540 раз на кадр (полосы по 2 строки)- photo-модуль использует собственный скалярный Domain_Filter 2011 года вместо параллельного ximgproc::dtFilter
- GPU не универсален: gaussian/resize/median быстрее на CPU
Полные таблицы, честные отказы (boxFilter, guidedFilter, NLM, van Herk - с замерами) и журнал работ: README.md, PLAN.md, QUEUE.md.