15:33 gfxstrand[d]: Blackwell conformance submitted! :transtada128x128:
15:55 HdkR: 🎉
15:56 gfxstrand[d]: Does anyone know off-hand what CTS patch fixed the sparse fails?
15:58 mohamexiety[d]: gfxstrand[d]: https://github.com/KhronosGroup/VK-GL-CTS/commit/864ae33ded64052ce751bb375c3cbf6f134e4aea
18:08 snowycoder[d]: Maxwell GPUs can dual-issue too?
18:08 snowycoder[d]: codegen's emitter seems to hint that they can, but `canDualIssue` is left empty with just a TODO.
18:14 mhenning[d]: Oh, maybe? I didn't think we had dual-issue on maxwell but that could be wrong
18:14 karolherbst[d]: not really
18:24 mohamexiety[d]: They can yes, but it’s a different sort of dual issue
18:25 karolherbst[d]: yeah...
18:25 karolherbst[d]: like tesla also could dual issue
18:25 karolherbst[d]: but
18:25 karolherbst[d]: they only have a single instruction scheduler, kepler had two
18:25 karolherbst[d]: per whatever
18:25 mohamexiety[d]: On Kepler you would dual issue math ops but with Maxwell they eliminated the shared ALUs and instead your dual issue is restricted to other ops alongside math ones like memory accesses or conversions or such with fp32/int32
18:26 mohamexiety[d]: https://chipsandcheese.com/p/maxwell-nvidias-silver-28nm-hammer this goes over it a bit
18:26 karolherbst[d]: mohamexiety[d]: nah, it goes deeper
18:26 karolherbst[d]: kepler could _issue_ two instructions at the same time
18:26 karolherbst[d]: that's before any of the pipelining
18:27 karolherbst[d]: on other gens you can always only issue one, but they could be executed in parallel
18:37 karolherbst[d]: ohh wait.. they kept the dual issuing until Pascal...
18:38 karolherbst[d]: but Kepler has two schedulers, while Maxwell/Pascal only has one
18:38 karolherbst[d]: guess I got that confused
19:14 gfxstrand[d]: Okay, 6 hours later I think I've finally crawled out of my Khronos hole.
19:23 zmike[d]: little did you know that you are now at the bottom of an even bigger khronos hole
19:25 gfxstrand[d]: The real Khronos hole is infinite. But I'm enjoying the momentary illusion.
19:26 tiredchiku[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1390050932716474419/image.png?ex=6866d950&is=686587d0&hm=25bce5be25ce87060068b7f1da5c0c47f037ea155fb54de97d514641538813c5&
19:26 tiredchiku[d]: :ha:
19:27 gfxstrand[d]: Oh, that implies that there isn't much further down to go. It's actually infinite in both directions.
19:28 zmike[d]: yup
19:30 tiredchiku[d]: it's a _very_ zoomed in picture of what is effectively a mountain range :ha:
19:34 gfxstrand[d]: snowycoder[d]: Did you want me to try and type up SM30 deps stuff or were you going to pull out your Kepler A and do it?
19:51 snowycoder[d]: gfxstrand[d]: I would love to do it, sorry, I'm just in the middle of a busy month and I don't have a lot of free time
19:53 snowycoder[d]: I'm applying mel's review comments, after that the plan is to support SM30 and check if we can do dual-issue in a clean way
20:05 gfxstrand[d]: okay
20:05 gfxstrand[d]: no worries. I'm not trying to push. Just asking.
23:02 airlied[d]: hmm do we have anywhere we generate rust and then use that rust as part of another module? via mod or include!
23:02 airlied[d]: seems like meson is fighting me here
23:04 gfxstrand[d]: We bindgen. Also, the Nvidia headers stuff generates rust.
23:05 airlied[d]: but we generate static libraries from it
23:05 gfxstrand[d]: Typically you just build the generated rust as a separate create and link it in.
23:06 airlied[d]: so I didn't want to generate all of this, just the pieces that made sense from the tables
23:06 airlied[d]: since it relies on having access to ir.rs etc
23:07 airlied[d]: but maybe I can just layer it a bit more to keep the pieces separate
23:09 karolherbst[d]: you can make meson copy everything into the build dir and build from there as one project with generated sources
23:09 gfxstrand[d]: Yeah, that's what that headers generator does
23:09 airlied[d]: oh hacky but might work
23:09 karolherbst[d]: airlied[d]: https://mesonbuild.com/Rust.html#mixing-generated-and-static-sources