ermig1979/Simd
C++ image processing and machine learning library with using of SIMD: SSE, AVX, AVX-512, AMX for x86/x64, NEON, SVE for ARM, HVX for Hexagon
它解决了什么问题
Simd 是一个为 C 和 C++ 程序员设计的高性能图像处理和机器学习库。它通过利用硬件特定的 CPU 扩展(SIMD)同时处理多个数据点,解决了高效执行计算密集型图像操作和神经网络计算的问题。
它如何工作
该库提供了一组针对像素格式转换、图像缩放、滤波和运动检测等任务的优化算法。它通过使用各种 CPU 扩展(包括 x86/x64 架构的 SSE、AVX、AVX-512 和 AMX,以及 ARM 架构的 NEON、SVE 和 SVE2)来实现高性能。它提供了 C API 和 C++ 包装器,以及一个 Python 包装器,以提高可访问性。
适用于谁
需要在 CPU 上快速进行图像处理或机器学习推理的 C 和 C++ 开发者,特别是那些针对多种硬件平台(x86 和 ARM)开发的应用程序。
主要特点
- 广泛的硬件支持:针对多种 CPU 扩展进行了优化,包括 AVX-512、AMX 和 ARM SVE2。
- 跨平台支持:支持 32 位和 64 位架构下的 Windows 和 Linux。
- 与 OpenCV 集成:提供 Simd 和 OpenCV 类型之间的内置相互转换。
- 全面的测试:包含一个测试框架,用于验证不同 SIMD 实现的正确性和性能基准测试。
相关
- 项目
- 项目
- 项目
- 项目
- 项目