-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Open
Labels
performanceissues related to performance regressionsissues related to performance regressions
Description
Describe the issue
Description
We observed a performance regression in the Sin operator for float32 between ONNXRuntime v1.20.0 and v1.21.0. The regression is modest on typical values and worse on edge/large-magnitude inputs. The issue persists through v1.23.0.
Affected Operator
- Operator: Sin
- Opset Version: 13, 21
- Data Type: float32
- Regression: ~+9% kernel slowdown (typical), ~+13% kernel slowdown (edge values)
- Status: Confirmed, persists to v1.23.0
Test Case Details
- Input shape tested:
[2, 3, 32, 32](float32) - Typical values: regression ~+9%
- Edge/large-magnitude values: regression ~+13% and less stable (higher CV)
Regression Characteristics
- Type-specific: affects float32 Sin
- Input-sensitive: regression is worse for edge/large-magnitude values
- Stability: edge cases show higher variance
Suspected Cause
- Changes in transcendental math implementation (possible Eigen-related), impacting range reduction / approximation for Sin
- Potential vectorization regression or fallback on edge values
To reproduce
python script_profiling.py sin_sin_13_v1_sin_float32 1.20.0 1.21.0
python script_profiling.py sin_sin_13_v1_sin_float32_edge_case 1.20.0 1.21.0Urgency
No response
Platform
Linux
OS Version
Ubuntu 24.04.3 LTS
ONNX Runtime Installation
Released Package
ONNX Runtime Version or Commit ID
1.21
ONNX Runtime API
Python
Architecture
X64
Execution Provider
Default CPU
Execution Provider Library Version
No response
Model File
No response
Is this a quantized model?
Yes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
performanceissues related to performance regressionsissues related to performance regressions