Skip to main content

Module simd_optimize

Module simd_optimize 

Source
Expand description

CPU feature detection and SIMD optimization for NumRS

DEPRECATED: This module is deprecated in favor of scirs2_core::simd_ops::SimdUnifiedOps. All new code should use SimdUnifiedOps which provides:

  • Platform-independent SIMD (AVX2, AVX-512, NEON auto-detection)
  • 100+ SIMD operations with automatic fallback
  • Better performance characteristics

The functions in this module remain for backwards compatibility but will be removed in a future major release.

§Migration Guide

Instead of:

use numrs2::simd_optimize::avx2_enhanced::EnhancedSimdOps;
let result = EnhancedSimdOps::vectorized_exp_f32(&arr);

Use:

use scirs2_core::simd_ops::SimdUnifiedOps;
let nd_arr = scirs2_core::ndarray::Array1::from_vec(arr.to_vec());
let result = f32::simd_exp(&nd_arr.view());

This module provides functionality for detecting available CPU features and selecting the most efficient SIMD implementation for the current hardware.

Re-exports§

pub use feature_detect::detect_cpu_features;
pub use feature_detect::CpuFeatures;
pub use simd_select::select_simd_implementation;
pub use simd_select::SimdImplementation;
pub use simd_traits::SimdPerformanceHints;
pub use unified_dispatcher::global_dispatcher;
pub use unified_dispatcher::optimized;
pub use unified_dispatcher::UnifiedSimdDispatcher;

Modules§

avx2_enhanced
Enhanced AVX2 SIMD operations with advanced vectorization
avx2_ops
AVX2-optimized SIMD operations
feature_detect
CPU feature detection for SIMD optimization
neon_enhanced
Enhanced NEON SIMD operations for ARM processors
simd_select
SIMD implementation selection based on CPU features
simd_traits
SIMD-optimized trait implementations
unified_dispatcher
Unified SIMD dispatcher for cross-platform optimization

Functions§

avx2_optimized_add_f32Deprecated
AVX2-optimized array addition for f32
avx2_optimized_add_f64Deprecated
AVX2-optimized array addition for f64
avx2_optimized_mul_f32Deprecated
AVX2-optimized array multiplication for f32
avx2_optimized_mul_f64Deprecated
AVX2-optimized array multiplication for f64
avx2_optimized_sqrt_f32Deprecated
AVX2-optimized square root for f32
avx2_optimized_sqrt_f64Deprecated
AVX2-optimized square root for f64
avx2_optimized_sum_f32Deprecated
AVX2-optimized sum for f32
avx2_optimized_sum_f64Deprecated
AVX2-optimized sum for f64
detect_and_selectDeprecated
CPU feature detection and SIMD implementation selection in one step