Skip to content
Snippets Groups Projects

Add automatic thread count selection

Merged Henrik Gramner requested to merge gramner/dav1d:auto_thread_count into master

Fixes #206 (closed).

Edited by Henrik Gramner

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Luc Trudeau
  • Luc Trudeau
  • Janne Grunau
  • Henrik Gramner resolved all threads

    resolved all threads

  • Henrik Gramner added 3 commits

    added 3 commits

    Compare with previous version

  • Henrik Gramner changed the description

    changed the description

  • Jean-Baptiste Kempf resolved all threads

    resolved all threads

  • added 3 commits

    Compare with previous version

  • Jean-Baptiste Kempf changed milestone to %0.5.2

    changed milestone to %0.5.2

  • Graph of dav1d performance with proposed FT and TT split. There is a jump from 2 to 3 tile threads and 3 to 4 tile threads.

    x86_64_ft_v_tt

    Edited by Nathan E. Egge
  • It think this depends very heavily on the number of tiles in a video. A single-tile video would see very different scaling than a 8 tile video.

    • Exactly, this is why I don't think this is the correct approach. A better idea would be to use a thread pool and dispatch based on the content that is being decoded.

    • Author Developer

      That would probably be better, yes, but I think that's out of scope for this MR since it's significantly more complex than just picking some numbers.

      So the question is: Should we add some basic intermediary auto thread selection like this until someone rewrites the threading implementation?

    • Please register or sign in to reply
  • I don't think we have to re-write the threading implementation. I think what Nathan is looking for is something where we peek at the first frame's header (since most of the times, n_tile_cols doesn't change; if we ever want to support that, we can do it later), and set n_tile_threads to not be higher than n_tile_cols. This might mean caching n_threads and delaying thread init until beyond the first frame header has been peaked at.

  • added 18 commits

    Compare with previous version

  • Henrik Gramner removed milestone

    removed milestone

  • Henrik Gramner added 30 commits

    added 30 commits

    Compare with previous version

  • mentioned in merge request !1252 (merged)

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading