12:08 fdobridge: <s​aancreed> https://github.com/KhronosGroup/Vulkan-Docs/commit/463f8c616f49fb83ae4736de0d84b0048a7c76e2
12:08 fdobridge: <s​aancreed> > New Extensions…
12:08 fdobridge: <s​aancreed> > * apiext:VK_NV_cuda_kernel_launch
12:08 fdobridge: <s​aancreed> Damn, I jinxed it 🐸
12:20 fdobridge: <m​ohamexiety> LOL
12:22 fdobridge: <m​ohamexiety> complaining always works I suppose
13:37 fdobridge: <k​arolherbst🐧🦀> lol
14:03 fdobridge: <k​arolherbst🐧🦀> is it more than running PTX stuff?
14:08 fdobridge: <m​arysaka> Seems only that and some cache
14:09 fdobridge: <k​arolherbst🐧🦀> right.. we had the same idea for cl spirv, but that's kinda pain
14:09 fdobridge: <k​arolherbst🐧🦀> but I'd choose accepting ptx over implementing libcuda.so any day
14:12 fdobridge: <m​arysaka> I don't know if it's PTX or an ELF here :aki_thonk:
15:01 fdobridge: <k​arolherbst🐧🦀> an elf makes more sense because of metadata
15:02 fdobridge: <k​arolherbst🐧🦀> but that also conatins the elf
15:05 benjaminl: my reading of the doc is ascii ptx assembly
15:06 fdobridge: <m​arysaka> nice
15:07 benjaminl: and uhhh, I don't see anything in here about exposing which ptx version is supported
15:08 fdobridge: <m​arysaka> ... that will be problematic 🙃
15:08 benjaminl: which would make things kinda difficult, since ptx is a huge api surface that's constantly expanding
15:09 benjaminl: I guess the only way to be *really* sure about what format it accepts is to try thing with the blob driver :)
15:10 fdobridge: <m​arysaka> https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.html
15:16 fdobridge: <m​ohamexiety> > computeCapabilityMinor indicates the minor version number of the compute code.
15:16 fdobridge: <m​ohamexiety> >
15:16 fdobridge: <m​ohamexiety> > computeCapabilityMajor indicates the minor version number of the compute code.
15:16 fdobridge: <m​ohamexiety> so this should specify the exact version, no?
15:17 fdobridge: <k​arolherbst🐧🦀> no, that's just the SM target
15:18 fdobridge: <m​ohamexiety> wait, right..
15:31 fdobridge: <m​arysaka> yeah... seems that there is only the SM target 🙃
15:31 fdobridge: <k​arolherbst🐧🦀> I wonder mostly if we want to convert to spir-v or nir
19:43 fdobridge: <a​irlied> probably just to straight to NIR if have to do it inside mesa anyways
19:44 fdobridge: <k​arolherbst🐧🦀> yeah.. probably
19:44 fdobridge: <k​arolherbst🐧🦀> it's too low level to map well to spir-v anyway
19:44 fdobridge: <k​arolherbst🐧🦀> and we probably would convert it to nir with lowered io
19:45 fdobridge: <k​arolherbst🐧🦀> because addressing is all byte based
20:00 benjaminl: going straight to NAK IR might be simpler, assuming we only want to support NVK
20:00 fdobridge: <k​arolherbst🐧🦀> nah...
20:01 fdobridge: <k​arolherbst🐧🦀> to nir will be useful for other drivers to implement it
20:01 fdobridge: <k​arolherbst🐧🦀> there isn't that much cursed things in PTX
20:01 fdobridge: <k​arolherbst🐧🦀> though there is a bit
20:02 benjaminl: atomic scope/order doesn't show up in nir, right?
20:02 fdobridge: <k​arolherbst🐧🦀> it does
20:03 benjaminl: ah, I'm looking in the wrong place I think
20:03 fdobridge: <k​arolherbst🐧🦀> I think at least...
20:04 fdobridge: <k​arolherbst🐧🦀> could add more stuff to gl_access_qualifier, or add another flag to atomic ops
20:04 fdobridge: <k​arolherbst🐧🦀> we can and will change nir if we need it to change
20:04 fdobridge: <k​arolherbst🐧🦀> though we already have scope/order on barriers
20:05 fdobridge: <k​arolherbst🐧🦀> so might do atomic op + barrier
20:44 fdobridge: <g​fxstrand> The access qualifier should do most of it. We can always add more stuff if needed.
20:44 fdobridge: <g​fxstrand> But, yeah, PTX -> NIR would be the way to go. NIR is low enough level, I think.
20:44 fdobridge: <k​arolherbst🐧🦀> yeah, should be fine
20:44 fdobridge: <k​arolherbst🐧🦀> PTX also has structured control flow
20:45 fdobridge: <k​arolherbst🐧🦀> not sure it has goto...
20:45 fdobridge: <g​fxstrand> And it means we can do serious optimization it instead of the very minimal optimization that NAK will do.
20:45 fdobridge: <k​arolherbst🐧🦀> ohh.. it has labels and jumps :ferrisUpsideDown:
20:45 fdobridge: <k​arolherbst🐧🦀> pain
20:45 fdobridge: <k​arolherbst🐧🦀> what a coincidence that we have a lowering pass for that...
22:38 fdobridge: <a​irlied> I though @vdpafaor was Ilia for a minute :-p ilia was a big fan of spirv to nvir ideas
23:42 benjaminl: hahaha no, I just don't know what I'm doing :)
23:46 benjaminl: spent a while yesterday poking at the sm50 nak backend, so the nak ir details are in my head right now, but I mostly haven't worked with nir before