Skip to content

Releases

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 04 Nov 00:24
130ac23

NestedThreading v0.1.4

Diff since v0.1.3

  • A nested hard limit that an enclosing scope already enforces is no longer entered: with_restricted_threads inside a saturated @budgeted_threads loop drops from about 3 us to 0.25 us. Julia 1.11 and later; on 1.10 every scope is entered as before.
  • New thread_limit(name): the hard limit the enclosing scopes put on a pool.
  • GuardedPool guards must act for the whole process while held.

Merged pull requests:

  • perf: skip nested no-op limits; add thread_limit (#6) (@hakkelt)

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 13 Oct 22:13

NestedThreading v0.1.3

Diff since v0.1.2

  • Register Strided's thread count as a counted pool

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 09 Oct 06:29
15710d5

NestedThreading v0.1.2

Diff since v0.1.1

  • quiesce_foreign_pools(): before a Threads.@threads region, registered pools can release Julia's threads, so the region does not wait for spinning workers of another threading library (#3).
  • Soft thread defaults (with_thread_default): run a computation with every registered library at n threads by default, without capping the calls inside it the way a hard with_thread_budget would.
  • Thread grants (with_thread_grant): let a call known to be large enough thread despite a soft default in force. Grants never override a hard limit.
  • Park hooks (register_park_hook!, park_openblas): when a grant closes and a pool's count goes down, the library can release the cores its idle workers would otherwise keep spinning on.
  • A pool is never parked while a partial hard limit is open, and a worker that another task's @batch holds is never parked (#4).

Merged pull requests:

  • feat(registry): let a pool release Julia's threads before a @threads region (#3) (@hakkelt)
  • feat(scopes): soft thread defaults, grants and park hooks (#4) (@hakkelt)

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 14:22
3cc68a5

NestedThreading v0.1.1

Diff since v0.1.0

Changes:

  • New only allowlist keyword on with_thread_budget/with_restricted_threads/with_full_threads: only = (:blas, :mkl) restricts exactly those pools and leaves everything else untouched, even past this scope's own budget.

Merged pull requests:

  • fix(scopes): honor exclude for counted pools, add only allowlist (#2) (@hakkelt)

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 15:10

NestedThreading v0.1.0