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 , 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

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 , 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

It's time for another OpenCL CTS run on the raspberry pi 4 🙃

let's see how good/bad it is.

karolherbst OP ,
@karolherbst@chaos.social avatar

I think I've tracked down the last big issue 🙃

The driver replaced the backing buffer object of a host mapped memory object causing random faults and inconsistency issues.

Sadly the way mapping memory in OpenCL works is pretty annoying. I fear I'll have to rework those bits in #rusticl as well, because I'm way to optimistic on some assumptions. And I'll also have to fix contexts with multiple devices while at it.

karolherbst OP ,
@karolherbst@chaos.social avatar

half the fails is really just v3d not supporting PIPE_CAP_QUERY_TIMESTAMP yet, which #rusticl relies on for even profiling.

Everything else is just random stuff, like not supporting unaligned load/stores yet, some arithmetic precision fails and random other stuff

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 , 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...

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

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

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

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?

williamtries , an Random Englisch
@williamtries@floss.social avatar

I just posted a short tutorial on setting up a simple on your running . The LLM (7b alpaca in this case) is not terribly accurate but possibly useful in some cases.

Warning! You phone will get hot. I haven't tested it long enough to know if it will harm your device, but do be careful.

Oh! I have a website now! Wow! My history with websites is hit and miss, so enjoy it while it lasts. I have half a dozen posts in the works already.

https://www.williamtries.ovh/llmonpmos/

pocketvj ,
@pocketvj@fosstodon.org avatar

@okias @williamtries

how do we find the correct gpu name to enable ?

RUSTICL_ENABLE=sdm845gpucc
or is it:
qcom or adreno ?

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