Skip to content

Conversation

@FrancescAlted
Copy link
Member

@FrancescAlted FrancescAlted commented Jan 4, 2026

This adds support for multi-threaded reductions. Only some scenarios are supported:

  • non-strided partitions
  • in-memory arrays
  • all arrays are blosc2 NDArrays
  • argmax() and argmin() are not supported yet

For now, windows is disabled in combination with miniexpr. This could be improved (@lshaw8317, would you like to tackle this?).

When these conditions are not met, a fallback to existing, non-threaded machinery, is made.

In addition, support for multi-threaded evaluation of expressions (e.g. "(a + b) * c +1") is here too.

All tests are passing now , but more review needs to be done, as this is quite intrusive for the computing engine.

Copy link
Collaborator

@lshaw8317 lshaw8317 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lshaw8317 lshaw8317 merged commit ed3b8dc into main Jan 22, 2026
16 checks passed
@lshaw8317 lshaw8317 deleted the mt-reduc branch January 22, 2026 08:59
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.

3 participants