08:42karolherbst[d]: `nir_lower_explicit_io` throws my alignment information away 😢
11:12karolherbst[d]: as always the problem was me
11:21karolherbst[d]: okay.. I have `nir_lower_mem_access_bit_sizes` splitting a 16x2 store with an align_mul=4 and align_offset=0...
11:55karolherbst[d]: `NOUVEAU_GETPARAM_GRAPH_UNITS` runs into a null pointer access with 6.17.4...
12:55karolherbst[d]: something weird is going on there...
14:20karolherbst[d]: ahhh...
14:21karolherbst[d]: no firmware 🥲
14:21karolherbst[d]: which opens the question.. why is there no firmware...
14:22karolherbst: dakr, Lyude: looks like nouveau crashes when it can't find any firmware and userspace calls into "NOUVEAU_GETPARAM_GRAPH_UNITS" (as I guess no gr object is available)
20:49airlied: karolherbst: yeah I think I've seen reports, hadn't tied it to lack of firmware
22:08karolherbst: airlied: yeah.. I suspected userspace to fail earlier, but... not sure if it's a regression or not, but Fedora packaging nuked the firmwares for me :')
22:09karolherbst: maybe we should print a more obvious error when no firmware is found, because atm it's kinda... not obvious
22:31karolherbst[d]: airlied: I think to remember you said that nvidia was using MOVM a lot, do you happen to know if they already did it to transpose matrices
22:31karolherbst[d]: ....
22:31karolherbst[d]: *always did it to transpose matrices of the opposite layout (col major A/C, row major B)
22:32karolherbst[d]: I think it actually helps for load/store vectoriztion purposes and would simplify a bit of code...
22:32airlied[d]: I think they transpose on load alright
22:33karolherbst[d]: so my current idea is to _always_ assume rowmajor on A/C, colmajor on B and just use MOVM if the actually have the opposite after the load/before the store
22:33karolherbst[d]: I think it can always be used on int8/fp16. Would have to think about if we can also use it for int32...
22:34karolherbst[d]: but now that I wanted to clean up the vectorized matrix load/store MR and deal with alignment, using MOVM looks really interesting now 😄
22:36karolherbst[d]: or at least I'd assume it's cheaper than all the address calculation you could drop with it
22:36karolherbst[d]: anyway, I was just curious if you saw the pattern I'm assuming here or not