Skip to content

Conversation

@Harishmcw
Copy link
Contributor

Summary of Changes

This PR optimizes the threading logic in GESV and GEMV by refining switchover thresholds for parallel execution, particularly for Windows on ARM64 (WoA).

GEMV:

  • Performs better in single-threaded mode compared to multi-threaded up to input size:
    • 5,000 for COMPLEX data type
    • 10,000 for SINGLE/DOUBLE data types

GESV:

  • Benefits from 4-thread execution at input sizes:
    • 300-1000 for COMPLEX
    • 500-1000 for SINGLE/DOUBLE

Ensures optimal threading on WoA-based devices while preserving existing thresholds for other platforms.

Benchmark Data (Timings in ms)

Below is the benchmark data of GEMV function comparing single-threaded vs. parallel execution for different input sizes on WoA.

image

@martin-frbg martin-frbg added this to the 0.3.30 milestone Mar 3, 2025
@martin-frbg martin-frbg merged commit 7338a47 into OpenMathLib:develop Mar 3, 2025
62 of 65 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants