karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

soo.. apparently the broadcom VC4+ GPUs (the ones used in raspberry pis and stuff) do not support format-less image writes, sooo.. supporting OpenCL images in #rusticl on that hardware will be a bit "difficult", because it needs to be handled within the kernel...

I should probably check out how other drivers are handling this, because either I'm missing something here or some other vendors are kinda in the same situation (not for all hardware, probably just older GPUs).

karolherbst OP ,
@karolherbst@chaos.social avatar

@tnt format not known at compile time

tnt ,
@tnt@chaos.social avatar

@karolherbst Oh I see.

And by "handled within the kernel", you mean like a big switch to execute the right thing depending on format ?

I guess you know at invocation time the image fmt so you could adapt the program at that time. I'd assume a lot of kernel are always run with the same types as input. But not sure if that's something that fits in the current "infrastructure".

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

uhh, so a few days ago I found out, that passing structs by value in through OpenCL C or SPIR-V in fact doesn't pass the argument by value.

Turns out we don't handle the SPIR-V "ByVal" Function Parameter Attribute...

this might explain a few bugs I've seen in the past...

karolherbst OP ,
@karolherbst@chaos.social avatar
decathorpe ,
@decathorpe@mastodon.social avatar

@karolherbst it's awesome to see rusticl improve so quickly. basically in real-time :) thank you for the work you do!

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

I wonder if I should require rust 1.77 in #rusticl soon.

Firefox 128 (the next ESR release) will require at least 1.76 (minimum supported rust version of Firefox 127 is 1.76)

1.77 brings C-string literals and offset_of!, both of which I'm currently working around.

okias ,
@okias@floss.social avatar

@karolherbst Mesa3D is big enough to distros do the same. But before next release, I would aim to enable it by default with some drivers, so distros have more motivation to include

karolherbst OP ,
@karolherbst@chaos.social avatar

@okias yeah.. the only thing I want to do before that is to add a fail safe for big kernels, so it doesn't accidentally OOMs systems or so.

But yeah... I feel comfortable enough enabling it for iris. Radeonsi is still giving me a little headache, but might be fine enough.

Maybe I add an option so that distributions can disable all drivers by default if they really wish to.

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

Anybody here with a discrete AMD GCN GPU and is able to trigger this bug with #Rusticl ? https://gitlab.freedesktop.org/mesa/mesa/-/issues/11268

I wonder if I need to get myself a GCN GPU in order to fix a few bugs...

trixie ,

@karolherbst polaris10 no issues over 100 runs (mesa 24.1.1)

slyecho ,
@slyecho@mdon.ee avatar

@karolherbst I have a Vega 64 but I’m out of town for the weekend.

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

rustc 1.78 is great, it already found one bug in #rusticl :)

decathorpe ,
@decathorpe@mastodon.social avatar

@karolherbst and there you were, having fun dereferencing unaligned pointers? 😄

karolherbst OP ,
@karolherbst@chaos.social avatar

@decathorpe ahh no, it's just silly things, like null pointers or copying with src == dst

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

I wonder if #rusticl is mature enough to be enabled by default on a few drivers these days.

I'm still a bit reluctant, but maybe it's fine?

karolherbst OP ,
@karolherbst@chaos.social avatar

@darktable yeah, so I've heard 🙃 But my main motivation here would be to get more testing, especially while mesa is still in RC, to fix things before they hit the release.

But yeah.. I've just fixed another bug hit with Darktable this week

piratenpanda ,
@piratenpanda@norden.social avatar

@karolherbst bring it on :)

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

I wonder what should I focus on next quarter.

I'm mildly leaning towards proper SVM/USM support in , because that's also required by more and more software (e.g. AdaptiveCPP)

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

Soo. the initial set of enablement patches for the raspberry pi4 and newer are merged and will be part of mesa 24.2 (https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25362)

It doesn't support profiling and images yet, but it's stable enough to pass around 97% of the OpenCL CTS

Of course there will be bugs, so any kind of testing will be appreciated.

In the meantime I'll try to get images supported.

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

Implemented enough usm in that AdaptiveCPP runs.

Tried out some tests, but it seems like some of the OpenCL paths are slightly broken (as it e.g. crashes also on the Intel stack).

Not sure I'm in the mood to fix those bits, but at least now I know how much of USM is needed to run it, which.. isn't a lot tbh.

karolherbst , an Random Englisch
@karolherbst@chaos.social avatar

okay.. apparently #rusticl is a bit broken on AMD GPUs with shared memory... wondering what's up with that

  • Alle
  • Abonniert
  • Moderiert
  • Favoriten
  • random
  • haupteingang
  • Alle Magazine