@karolherbst@chaos.social titelbild
@karolherbst@chaos.social avatar

karolherbst

@karolherbst@chaos.social

Linux Graphics Developer
Freedesktop Code of Conduct Enforcement team member

Mostly working on Rusticl and Nouveau
Implemented OpenCL in Rust for fun

🏳️‍🌈🏳️‍⚧️ are welcomed.

Nazis, $hitcoin cultists, Right-Libertarians, Longterminists, Tankies, techbros and other fascists not welcomed. This is a shithead free zone.

Private account, please direct all business inquiries to: https://twitter.com/karolherbst

#mesa
#nouveau
#nvk
#opencl
#rust #rustlang
#rusticl
#coc

Dieses Profil is von einem föderierten Server und möglicherweise unvollständig. Auf der Original-Instanz anzeigen

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

why is realloc

matt , an Random Englisch

I wonder if and low-vision nerds like me are getting too comfortable in our nerdy social media bubble here on the fediverse. I blithely ignored tiktok from the beginning, and once a lot of us moved from Twitter to the fediverse en masse, I was proud to not be active on any of the corporate-owned social media platforms. But it now seems to me that we're missing out on some important discourse, particularly from other marginalized communities, by staying in our bubble.

karolherbst ,
@karolherbst@chaos.social avatar

@asael @matt @Tamasg One major issue I read about often is, that people ask for certain moderation tools, or other features and then others "explain-bro" them on why it's a bad idea.

Though from a more technical pov, there are a lot of tech folks who say "decentralized is the best" and then entirely ignore how that's just making moderation a painful process (which is true, but often denied).

Another concern is, that it's too easy to create an account on the wrong server full of shitty people.

karolherbst ,
@karolherbst@chaos.social avatar

@matt @asael @Tamasg this thread also got boosted into my timeline today, and I think it's a good read on that matter: https://hachyderm.io/@mekkaokereke/110272951321280411

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

sorry, I just woke up (not really).

But seriously, what the hell is going on today 🙃

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

thinking about SVM

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

when a 120GiB game doesn't download in a minute...

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

that moment when a use-after-free takes down the economy.

karolherbst OP ,
@karolherbst@chaos.social avatar

(though I don't know if it's indeed a use-after-free, can be any other kind of memory issue)

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

@mizah @cadey @ShadowJonathan apparently rebooting quite a few times is a working workaround here 🙃

"We've received feedback from customers that several reboots (as many as 15 have been reported) may be required, but overall feedback is that reboots are an effective troubleshooting step at this stage."

https://azure.status.microsoft/en-gb/status

karolherbst ,
@karolherbst@chaos.social avatar

@mizah @cadey @ShadowJonathan nah, if you are luck it simply succeeds to auto-update before crashing as they've pushed a fix for their broken update

karolherbst ,
@karolherbst@chaos.social avatar

@mizah @cadey @ShadowJonathan maybe? I have no idea if their update on boot is made to be that reliable or if it just updates when an update was already downloaded.

Maybe it downloads in chunks and after enough boots you got the full update ready on boot?

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

I think I need some hardware to work on freedreno...

karolherbst OP ,
@karolherbst@chaos.social avatar

@matt some kind of development board mainly.

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

today is good weather, 19ºC and a bit windy

karolherbst OP ,
@karolherbst@chaos.social avatar

@serebit 🥵

ShadowJonathan , an Random Englisch
@ShadowJonathan@tech.lgbt avatar

I love it when capitalism goes the investment strategy of vampirism, where they suck out all the life force just for quick profit.

karolherbst ,
@karolherbst@chaos.social avatar

@ShadowJonathan the fun part is, if it crashes it's always described like a weather report, nobody's at fault, it's just "harsh market conditions", entirely natural phenomenon. Nobody could have known. It just appears out of nowhere every time.

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

"fun project" make use of attribute((element_count("..."))) in mesa as we've been using VLA in a few places.

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

✨ Wait, today is world emoji day? ✨

oh boi, I'm gonna be a nuisance to everybody today 🙃

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

I came up with a glorious shitpost, but I'm too scared to post it. It's about only allowing a subset of ASCII in inputs.

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

If your feature isn't important enough to e.g. save lives, it's probably also not important enough to be opt-out.

And if it's not important enough to bother users with an opt-in request, then maybe it's just not important enough at all.

karolherbst OP ,
@karolherbst@chaos.social avatar

@TheStroyer I'm really not in the mood for those kind of arguments.

Either respond in good faith or not at all.

karolherbst OP ,
@karolherbst@chaos.social avatar

@TheStroyer you are free to ask questions if you didn't fully understand the meaning behind my post.

But anyway, user installing software is already opt-in by definition, "hidden features" e.g. ads or analytics shouldn't be opt-out, which they often are.

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

why are Latin letters so boring

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

It's one of those days: " 5 files changed, 573 insertions(+), 431 deletions(-)"

karolherbst OP ,
@karolherbst@chaos.social avatar

after I'm done with this rework, I'll need a break...

" 5 files changed, 777 insertions(+), 617 deletions(-)"

karolherbst OP ,
@karolherbst@chaos.social avatar

so, it ended up being " 5 files changed, 815 insertions(+), 626 deletions(-)"

and here it is: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30152

the tldr is, that OpenCL requires you to handle global id offsets and other internal stuff, which 99.99% of all invocations don't need, so this strips a bit of ALU operations in those good cases.

and with that. happy weekend or something 🙃

karolherbst OP ,
@karolherbst@chaos.social avatar

the code changes are probably terrible, because I didn't really know where I'd land. But I also don't think I can trim down the complexity here without other changes I'm not in the mood of doing atm 🙃

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

why is integer promotion...

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

I need a -O-1 flag in clang

karolherbst OP ,
@karolherbst@chaos.social avatar

@VegaHarmonia also an idea. But the issue I was seeing was, that apparently an addition of two 8 bit values gives us casts to 32 and to do the addition with 32 bits instead of 8 🙃

karolherbst OP ,
@karolherbst@chaos.social avatar

@sanity @VegaHarmonia I'm not compiling against a CPU target

karolherbst OP ,
@karolherbst@chaos.social avatar

@oblomov @VegaHarmonia all opts are disabled, so my expectation is, that LLVM just leaves the original code as it is.

karolherbst OP ,
@karolherbst@chaos.social avatar

@a1ba @VegaHarmonia sure, I still want LLVM to not do such things if I use -O0

karolherbst OP ,
@karolherbst@chaos.social avatar

@a1ba @VegaHarmonia I'm compiling towards SPIR-V, so any additional instructions are just a waste of space and time in compilers consuming that.

karolherbst OP ,
@karolherbst@chaos.social avatar

@a1ba @VegaHarmonia anyway, it's just two inputs to a function being 8 bit, getting added and then stored through a pointer pointing to an 8 bit value.

void add(global char* out, char a, char b) {
out[0] = a + b;
}

karolherbst OP ,
@karolherbst@chaos.social avatar

@a1ba @VegaHarmonia yeah.. compiling with -O1 would solve the issue, sadly that could generate LLVM IR which the SPIRV-LLVM-Translator won't be able to consume, which we use atm becuase the SPIRV target isn't ready yet.

I'm sure this issue will be solved over time with the proper SPIRV target, but yeah...

I was considering running some LLVM opts, but most of them cause one or another issue.

karolherbst OP ,
@karolherbst@chaos.social avatar

@a1ba @VegaHarmonia yeah.. instcombine can generate integer types of non pot bit size and the spirv-llvm-translator doesn't handle them at all, so that's sadly not an option.

karolherbst OP ,
@karolherbst@chaos.social avatar

@a1ba @VegaHarmonia I've played around with running some LLVM opt passes, it's just not a great model to hope that some passes don't screw it up for us.

karolherbst OP ,
@karolherbst@chaos.social avatar

@CodingThunder being as close to the input as possible.

karolherbst OP ,
@karolherbst@chaos.social avatar

@CodingThunder sometimes there are some annoying language rules in the way, like integer promotion in C, which would cause an 8 bit addition to get represented as conversion to 32 bit, 32 bit add and a conversion to 8 bit

thephd , an Random Englisch
@thephd@pony.social avatar

... Oh. Uh. How badly would everyone hate me if I wrote a paper that allowed

T foo[2];
and
T[2] foo;

to mean the same thing as far as type declarations go in C?

karolherbst ,
@karolherbst@chaos.social avatar

@thephd it depends on what "T[2] foo, bar;" would mean

karolherbst ,
@karolherbst@chaos.social avatar

@thephd in that case you get an approval from me!

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

Ah yeah.. XDC CfP. I wonder what I want to talk about this year

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

I'm currently looking into what's the best way to support SVM/USM in #rusticl and one thing I'm wondering about is, if there are any drawbacks doing:

mmap(some_chosen_address, ram_size, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED_NOREPLACE, 0, 0);

and reserve a lot of virtual memory, and then suballocate SVM allocations out of this region with "PROT_READ | PROT_WRITE" and "MAP_FIXED"?

Alternatively, I was considering allocating smaller heaps on demand.

karolherbst OP ,
@karolherbst@chaos.social avatar

@jhwgh1968 nah, FIXED_NOREPLACE just means the mmap call won't replace existing mappings.

karolherbst OP ,
@karolherbst@chaos.social avatar

@jhwgh1968 mhhh.. I can't really sub-allocate, because after munmap the original mapping is just gone as well...

though maybe I can make it work without reserving such a huge range, but I'm kinda worried about fragmentation, but... maybe that's fine...

karolherbst OP ,
@karolherbst@chaos.social avatar

@lina @jhwgh1968 yeah, it should.

Which just brings me back to the original question, if reserving that amount of VM space is a good idea and if there are other options.

I also wonder how well that would work with things like libasan, which just allocates 20TB of virtual memory here.

Anyway, it seems like Intel's CL stack just hopes nothing conflicts and maybe I just do the same, because it should be fine (tm).

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

so.. which distribution is not going to patch out this secret chromium extension?

karolherbst OP ,
@karolherbst@chaos.social avatar

@jhwgh1968 apparently chromium has a private extension users can't disable, which grants *.google.com domains special privileges and access to private APIs.

Apparently the same extension is also available on edge.

See https://fedi.simonwillison.net/@simon/112757810519145581

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