01:07 fdobridge: <a​irlied> yes that pretty much
16:41 fdobridge: <g​fxstrand> @karolherbst What's the difference between `getLatency()` and `getReadLatency()`?
16:43 fdobridge: <k​arolherbst🐧🦀> good question, it's not used, but if I'd have to guess it is to account for when an instruction starts executing and when it starts to read sources
16:44 fdobridge: <k​arolherbst🐧🦀> there are some conditions where this latency can even differ
16:46 fdobridge: <g​fxstrand> RIght
16:46 fdobridge: <g​fxstrand> That's what I thought
16:47 fdobridge: <k​arolherbst🐧🦀> @gfxstrand btw, most of that stuff was taken from here: https://github.com/NervanaSystems/maxas
16:51 fdobridge: <k​arolherbst🐧🦀> btw, there are weird instructions which read/write to sources/dests later depending on the flags 😢
19:27 fdobridge: <g​fxstrand> This is looking like it's not going to be the long pole I thought it was. I might be merging something by EOD. We'll see how this run goes.
19:53 fdobridge: <g​fxstrand> 27 minutes in and this run is looking really good
20:51 fdobridge: <g​fxstrand> All that worrying over opcode latencies and... it's all just 6?!?
21:18 DemiMarie: At Qubes OS we get occasional bug reports that appear to be Nouveau-related. Should we ask our users to send these bugs to Nouveau instead?
21:22 karolherbst: Yeah, probably
21:22 karolherbst: unless it's EoL software in use
21:25 DemiMarie: In Qubes we generally have a long since EoL Mesa but a quite recent kernel
21:26 DemiMarie: Though as it happens for R4.2 we currently have a (hopefully!) not EoL Mesa in dom0 for now
21:29 fdobridge: <g​fxstrand> Except for predicates, apparently.
21:30 DemiMarie: What is fdobridge?
21:30 fdobridge: <g​fxstrand> It's a bridge from Discord
21:31 HdkR: Bridge so that when Discord inevitably bans an account you can still fall back to IRC :P
21:32 karolherbst: I kinda wished matrix would be an alternative... but... well it's not terrible at least not anymore
21:39 DemiMarie: https://github.com/QubesOS/qubes-issues/issues/8506 looks like an Nvidia GPU firmware regression.
21:56 fdobridge: <b​enjaminl> are there general guidelines for whether to clobber inputs vs using scratch space when running out of registers on fermi MME stuff?
21:57 fdobridge: <b​enjaminl> I'm working on indirect dispatch for pre-turing, and have a working implementation that doesn't need scratch space, but it _does_ involve some input-clobber helper functions that might be a pain to maintain
21:57 fdobridge: <b​enjaminl> I don't have a good idea of what the runtime cost for scratch space is like
21:58 DemiMarie: Is there anywhere I can follow progress on the GSP firmware bringup? Until that is implemented there should probably be a “don’t buy Nvidia” note somewhere in the Qubes docs.
22:00 fdobridge: <b​enjaminl> I'm working on indirect dispatch for pre-turing, and have a working implementation that doesn't need scratch space, but it _does_ involve some input-clobbering helper functions that might be a pain to maintain (edited)
22:04 fdobridge: <g​fxstrand> I think we can assume scratch is cheap
22:05 fdobridge: <g​fxstrand> Really, someone needs to implement RA for pre-Turing MME...
22:05 fdobridge: <g​fxstrand> But ugh
22:05 fdobridge: <b​enjaminl> like, as a second pass in the builduer?
22:05 fdobridge: <g​fxstrand> I don't want to think about that and I don't think I want to review it right now, either. 😅
22:05 fdobridge: <b​enjaminl> lol reasonable
22:05 fdobridge: <g​fxstrand> Yeah, something that'd happen as part of `_finish()`
22:07 fdobridge: <b​enjaminl> for the indirect dispatch stuff, I _think_ you'd also need a pass to remove unnecessary copies to get the bit I'm looking at under the limit
22:07 fdobridge: <b​enjaminl> (without having the helper functions clobber inputs)
22:08 fdobridge: <g​fxstrand> I mean, having helpers clobber inputs isn't the end of the world as long as it's really clear what's going on.
22:08 fdobridge: <g​fxstrand> If they're going to clobber, they should free as well.
22:08 fdobridge: <b​enjaminl> yeah, that makes sense
22:08 DemiMarie: Is the bridge 1-way or 2-way?
22:08 fdobridge: <g​fxstrand> DemiMarie 2-way
22:09 DemiMarie: gfxstrand: thanks
22:09 airlied: DemiMarie: phoronix? they will probably publish articles as things progress
22:09 fdobridge: <b​enjaminl> a bit more context: half of the helpers are integer multiplication functions. I'm thinking it would be nice to have those in the shared `mme_fermi_builder.h` file to use other places, but don't want to do that with the clobbering
22:10 fdobridge: <b​enjaminl> because I'm worried it would be easy to miss that part when using them
22:10 DemiMarie: airlied: good idea
22:10 DemiMarie: airlied: I looked at `lore.kernel.org` and found zilch
22:10 fdobridge: <g​fxstrand> Yeah, I think I ran into that too, last I looked at this.
22:10 fdobridge: <g​fxstrand> There's a reason I didn't merge anything yet. 🙃
22:11 fdobridge: <g​fxstrand> But I'm happy for you to figure out something sensible.
22:11 fdobridge: <b​enjaminl> oh, you already did the implementation?
22:11 fdobridge: <g​fxstrand> I started typing and got frustrated and walked away
22:12 fdobridge: <b​enjaminl> ah, yeah that's also reasonable lol
22:12 fdobridge: <g​fxstrand> nvk/fermi-dispatch-indirect in my repo if there's anything else useful in there.
22:12 fdobridge: <g​fxstrand> nvk/fermi-dispatch-indirect in my repo if there's anything useful in there. (edited)
22:12 fdobridge: <g​fxstrand> Looks like I didn't get all that far
22:12 fdobridge: <b​enjaminl> it made the puzzle-loving part of my brain happy for a bit, but now I'm just like "why are there _yet more problems_"
22:13 fdobridge: <g​fxstrand> 😹
22:13 fdobridge: <b​enjaminl> dedicated instruction for AND_NOT, but no MULU...
22:40 fdobridge: <g​fxstrand> MUL is complicated
23:51 fdobridge: <g​fxstrand> PSA: `NAK_DEBUG=serial` is no longer required. 🎉
23:53 fdobridge:<g​fxstrand> runs with NVK_USE_NAK=fs
23:53 fdobridge: <g​fxstrand> _runs with `NVK_USE_NAK=fs`_ (edited)
23:53 fdobridge: <g​fxstrand> _runs with_ `NVK_USE_NAK=fs` (edited)