01:04fdobridge: <gfxstrand> `Pass: 405045, Fail: 218, Crash: 73, Skip: 3195085, Timeout: 2, Flake: 460, Duration: 1:31:09`
01:11benjaminl: / buffer 1
01:11fdobridge: <gfxstrand> 110 of those will be fixed by switching to NAK
01:11fdobridge: <gfxstrand> (It handles texture + offset better)
01:12fdobridge: <gfxstrand> 56 of the crashes are image atomics.
01:12fdobridge: <gfxstrand> Not bad...
01:14fdobridge: <gfxstrand> Which someone is already working on.
01:14fdobridge: <gfxstrand> I should maybe fix my dependency pass next week. That sounds useful. 😅
01:18fdobridge: <gfxstrand> I think that's the last step towards core compiler soundness.
09:37fdobridge: <karolherbst🐧🦀> @gfxstrand fyi, I have like complete docs on the scheduling stuff, so once you are ready with the code you should ping me and I'll double check with the docs
15:01fdobridge: <gfxstrand> Oh... do those docs include latencies?
15:02fdobridge: <gfxstrand> I may need to invoke the Collabora/Nvidia NDA and get some of these docs... 🤔
15:03HdkR: Sort of need the latencies otherwise everything gets scheduled with maximum waits :|
15:46fdobridge: <karolherbst🐧🦀> it's a 60 page document describing this entire thing in great detail 😄 I don't see a specific section where it says what's the latency of each instruction, but the information seems to be within those pages where it gets all explained. Some instructions require a minimum wait and that's explicitly there at least.
15:47fdobridge: <gfxstrand> Heh
15:47fdobridge: <gfxstrand> We can R/E the latencies if we need. It's just a giant pain.
15:48fdobridge: <karolherbst🐧🦀> it references a special document for pipeline latencies it seems
15:48fdobridge: <gfxstrand> Who's the best NV person to talk to you get said docs? (DM or email is fine)
15:50fdobridge: <karolherbst🐧🦀> good question.. I only know the ones involved with making it all public
15:50fdobridge: <karolherbst🐧🦀> I'll ask around who was involved with getting those things under NDA
15:51fdobridge: <gfxstrand> I'm more worried about little details like "CB access increases latency by 2" or "predicate destinations become available a cycle later". That stuff would be very unfun to R/E.
15:51fdobridge: <karolherbst🐧🦀> ahh, that stuff is all explained in the doc I have
15:51fdobridge: <karolherbst🐧🦀> and generally the sources don't matter
15:52fdobridge: <gfxstrand> I can type something that chains together 200 IADD3's and figure out the latency pretty precisely.
15:52fdobridge: <gfxstrand> It's a pain but it can be done
15:53fdobridge: <karolherbst🐧🦀> ohh seems like predicates are special
15:53fdobridge: <gfxstrand> Yup...
15:53fdobridge: <gfxstrand> Figured they would be
15:54fdobridge: <karolherbst🐧🦀> ohh.. I know why 🥲
15:54fdobridge: <karolherbst🐧🦀> that's uhm.. annoying
15:54fdobridge: <karolherbst🐧🦀> but there is nothing magic about it at least
15:55fdobridge: <karolherbst🐧🦀> oh btw.. you can't get smart about predicated instructions
15:56fdobridge: <karolherbst🐧🦀> the doc also lists exceptions for each instruction to the predicate stuff
15:56fdobridge: <karolherbst🐧🦀> fancy
15:56fdobridge: <karolherbst🐧🦀> ehh
15:56fdobridge: <karolherbst🐧🦀> scheduling
15:56fdobridge: <karolherbst🐧🦀> like `IMAD.WIDE` is special 😄
15:57fdobridge: <karolherbst🐧🦀> wtf
15:57fdobridge: <karolherbst🐧🦀> yeah, sadly it's too detailed to share it, but wtf
15:57fdobridge: <karolherbst🐧🦀> that would a pita to RE
16:00fdobridge: <gfxstrand> Yeah, figure out who I need to talk to and I'll try and get my hands on the docs.
16:01fdobridge: <gfxstrand> Or maybe I'll set my boss on them. He's good at that.
16:11fdobridge: <gfxstrand> I could always start with Andy
16:12fdobridge: <gfxstrand> I think we've already emailed once or twice.
16:27fdobridge: <karolherbst🐧🦀> yeah, Andy might be a good start, or John if you've been in contact already
16:29fdobridge: <gfxstrand> Here's a serial run: `Pass: 405513, Fail: 217, Crash: 67, Skip: 3195085, Flake: 1, Duration: 8:59:51`
16:56fdobridge: <gfxstrand> I e-mailed Andy. We'll see what comes of it.
16:57fdobridge: <gfxstrand> I'll tell Guy on Monday to hound them until they give me docs. He's very good at hounding people. 😂
16:58fdobridge: <karolherbst🐧🦀> 😄
20:12fdobridge: <benjaminl> I'm looking at the pre-turing indirect draw implementation in NVK
20:12fdobridge: <benjaminl> confused on how this bit works:
20:13fdobridge: <benjaminl> ```c
20:13fdobridge: <benjaminl> /* Stall the command streamer */
20:13fdobridge: <benjaminl> p = nvk_cmd_buffer_push(cmd, 3);
20:13fdobridge: <benjaminl> __push_immd(p, SUBC_NV9097, NV906F_SET_REFERENCE, 0);
20:13fdobridge: <benjaminl> ```
20:14fdobridge: <benjaminl> does it stall because the subc class doesn't match the method class?
20:29fdobridge: <airlied> The macros likely just line up
20:35fdobridge: <gfxstrand> Yeah, that seems off...
20:36fdobridge: <benjaminl> ah yeah you're right
20:36fdobridge: <benjaminl> just checked the values