Image Max Polling with SIMD Acceleration
A high-performance Rust library for maximum pooling operations on images, leveraging SIMD instructions (AVX2/NEON) and parallel processing for accelerated performance.
Features
- SIMD Optimization: Utilizes AVX2 (x86-64) or NEON (ARM) intrinsics for vectorized processing.
- Parallel Execution: Multi-threaded processing via Rayon for scalable performance.
- Dynamic CPU Detection: Runtime checks for AVX2 support (x86-64 only).
- Image Compatibility: Works seamlessly with the
imagecrate for input/output.
Installation
Add to your Cargo.toml:
[]
= "0.1"
Usage
Basic Example
Process an image with 8x8 max pooling:
use ;
use ;
Advanced: Custom Pooling Factor
let pooled_data = max_pooling_simd;
Requirements
- Rust: 1.60+ (2024 edition)
- CPU:
- x86-64 with AVX2 OR
- ARMv8 with NEON
- OS: Linux/macOS/Windows
Testing
Run examples with:
License
MIT License - See LICENSE for details.