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
何を解決するか
標準的な C/C++ 実装のパフォーマンスのボトルネックを克服するために、ハードウェアレベルの CPU 最適化を活用して設計された、高パフォーマンスな画像処理および機械学習ライブラリを提供します。
動作方法
ライブラリは SIMD(Single Instruction, Multiple Data)CPU 拡張機能を使用してアルゴリズムを実装しています。これにより、1つの CPU サイクルで複数のデータポイントを処理できます。以下の幅広いハードウェアアーキテクチャをサポートしています:
- x86/x64: SSE, AVX, AVX-512, AMX。
- ARM: NEON, SVE, SVE2。
- Hexagon: HVX。
C API を提供し、C++ ラッパーと Python ラッパーも用意されており、より広範なアクセス性を実現しています。
対象ユーザー
さまざまなハードウェアプラットフォーム上で、高速な画像処理や機械学習タスク(例:物体検出やニューラルネットワーク)を実装する必要がある C および C++ プログラマー。
主な特徴
- 広範なハードウェア対応: x86、ARM、Hexagonのほぼすべての主要な現代 CPU 拡張機能に最適化されています。
- 多様なツールセット: ピクセルフォーマット変換、画像スケーリング、フィルタリング、モーション検出、物体分類などの関数を含みます。
- OpenCV との統合: Simd と OpenCV の型間での相互変換をサポートしています。
- 包括的なテスト: スカラ実装とさまざまな SIMD バージョンを比較するテストフレームワークを備えており、正しさの確認とパフォーマンス測定を実施しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト