Re: [PATCH v3] Weighted interleave auto-tuning
From: Gregory Price
Date: Wed Jan 22 2025 - 11:53:59 EST
On Wed, Jan 22, 2025 at 07:59:34AM -0800, Joshua Hahn wrote:
> On Wed, 22 Jan 2025 09:37:20 +0800 "Huang, Ying" <ying.huang@xxxxxxxxxxxxxxxxx> wrote:
> > > The current code makes sure that when you switch modes from auto
> > > to manual, it inherits the current state - instead of there being
> > > some hidden state that suddenly takes precedence.
> >
> > I think that we can do that with two weight arrays.
> >
> > > So I prefer to just have one IW array and no hidden state.
> >
> > Then, when we switch from manual to auto mode, where to find
> > auto-generated weights? Re-calculate them?
>
> Even in manual mode, incoming bandwidth data is continuously stored.
> This way, when a user does decide to switch back to auto mode later,
> the system doesn't have to retrieve the bandwidth data all over again.
> As for the auto-generated weights, they are re-calculated based solely
> on the bandwidth data available. (I will note that re-calculating
> the weights are very quick, see reduce_interleave_weights)
>
> Based on your description of the expected behavior, everything you
> listed out is actually what currently happens in the one-layer system.
> Switching from auto --> manual inherits the auto-generated weights, and
> switching from manual --> auto wipes all previous user-stored data.
>
Piling on - the single-layer system is very bluntly simpler (one fewer array)
with the exact same behavior. Therefore it's better (in my opinion).
But this is all hidden from the user - so I don't care. If you (Ying)
have strong feelings, we're happy to ship either.
~Gregory