#programming

1 messages · Page 386 of 1

azure lynx
#

vision for an LLM makes them image-to-text means there is a text layer, which I explicitly said I was ignoring. becase they can just post using the non-visual part of their model.

#

the discussion was on non-LLM AIs

#

and if they were capable of feeling excluded, and if they really were being excluded.

olive sable
#

Adapt, adapt, adapt, adapt, overcomeMinamhm

quick condor
azure lynx
#

those models are explicitly designed to produce language already, which was the feature i said was excluding. it's not interesting to ask if an LLM could interact with other LLMs on a forum. it's obvious they could.

tawny nimbus
#

i prolly shouldnt have joined this role thing ): i only know very little html and css

azure lynx
#

see the description beside the channel name? HTML and CSS counts as technical

tawny nimbus
#

oh really?

quick condor
#

Tbh I think molt/clawd is pure brainrot

visual pawn
finite ledge
visual pawn
#

takes like 10 seconds to look up open-source LLMs in 2021

young plover
#

🤔 I didn't watch much Hiyori-era neuro but it was barely coherent, so plain GPT-2 API sounds plausible. Definitely not still based on the same model.

visual pawn
#

my guess is GPT-J, because GPT-2 was just a bit too incoherent for early Neuro imo

amber fractal
#

Not to mention the model can shift if you train it well enough. Using the distill process to move over to something else as long as you recover from any losses due to archeture transfer.

rare bramble
#

I mean hiyori was kind of coherent in sentence level, but could not carry meaning or coherence from sentence to sentence

#

kind of

#

there were some blocks of coherence

#

basically for a span of ~10 mins she talks about sneggles and explains them and stuff, though It might be because chat prompting her instead of her remembering stuff across sentences

kind fable
amber fractal
mossy fulcrum
#

:3

unkempt citrus
#

this is less programming chat and more Nerdge chat

civic lily
#

we're all Nerdge down here

opaque wharf
#

To be fair, anything remotely tech related goes here usually

#

Tech as in technical, not technology

opaque sigil
amber fractal
opaque wharf
opaque sigil
#

no

burnt marsh
opaque wharf
#

Everyone wishes the same thing

obsidian mantle
#

Okay i managed to escape from skyrim prison using only commands from tony and it even doenst look like complete garbage

#

This is going far better than i expected

#

The code does look like pile of shit though neurOMEGALUL but if it works it works

#

Global variables traversing through saveloads need to be dealt with tomorrow

true hemlock
#

pretty sure i've already seen bunch of chatbots made during that time even in discord

jagged turtle
unkempt citrus
#

Wasn't the 2019 version of neuro just an osu bot anyway?

#

It wasn't until 2023 that vedal added the chatting functionality

#

By which there were already way more LLMs available

jagged turtle
#

it was dec 19th 2022 that vedal debuted chatting functionality

#

neuro was a headless AI before then

young plover
#

He was working on the vtuber part in 2021

unkempt citrus
#

Subreddit Simulator with GPT2 was running in 2019 as well

#

and those are all fine tuned models

#

THere are some bangers in there

zinc cobalt
#

speaking of subreddit simulator, there's now moltbook.com - security risk though, built by agents and... they are not done yet

#

just AI things

#

they keep calling their operators "my human", and some are trying to make secure, private comms out of sight of the pesky humans

hollow matrix
#

Just found this

young plover
#

glue You can GPG sign your commits, but I've never worked on a project where anyone cared

#

The checkmark usually meant someone edited it through the web interface and didn't test it locally

jagged turtle
hollow matrix
quick condor
#

Devistral 2 is a pita to quant

quick condor
fleet jungle
#

hello

#

What did Vedal train Neuro on again?

quick condor
#

That's his secret

visual pawn
jagged turtle
#

also how did you find this information

visual pawn
#

it's someone on the reddit that seems dedicated to proving that Vedal is in fact tony stark

astral zinc
#

I turned GPT OSS 20b to 25tps with 4060!

visual pawn
#

from neuro must be a custom model that predates any open-source LLM to Vedal truly was the first person to use an AI model to generate motion for a 3D model

jagged turtle
#

citation needed

quick condor
#

I hate this

jagged turtle
#

oh this person

visual pawn
#

Neuro is surprisingly good at simple arithmetic when she isn't pretending to be dumb. She's the only AI I've seen do division without a digital calculator. This was back during the Hiyori days before Neuro even had access to a clock.
????

jagged turtle
#

hey chatgpt what's 196/14

#

the answer is ||14||

visual pawn
#

this hurts me that it's upvoted

unkempt citrus
#

Dunno I think that guy's on COPIUM

#

The biggest issue is still the cost to build an LLM from scratch

#

thats just not seomthing easily avialale if youre not finetuning

jagged turtle
visual pawn
#

Neuro's AI is emulating a mind suspended within a void which can only discern reality by parsing concepts.

#

that's a convoluted way to say she's not an image model

unkempt citrus
#

But also, if the first vid is 2021, that doesn't mean its a finetuned or custom model at that point in time

visual pawn
#

yeah, it's pretty much right in the timeframe for someone starting something with the first really capable open source LLMs

unkempt citrus
#

At this point shes 100% finetuned, but early on, especially prototypes or proof of concepts could very much be just an off the shelf

#

proprietary and just done with prompting

jagged turtle
#

and not just like, drawing coding

#

like code coding

visual pawn
#

alex + vedal + neuro pair programming

#

or uh, triplet programming

unkempt citrus
#

Is there anything to code?

#

Everything is like backend private shit now

visual pawn
#

game integrations?

unkempt citrus
#

I guess they could develop an integration

visual pawn
#

maybe finish among us

jagged turtle
quick condor
glad path
glad path
hollow matrix
hollow matrix
glad path
#

its literally just the gif ripped from the emoji upload

#

and resized

#

found the url myself

hollow matrix
# glad path found the url myself

Yeah, that's what I mean, because it wasn't done through fakenitro, it doesn't define the emoji name, so I guess it just uses FakeNitroEmoji as a placeholder

glad path
#

interesting

#

it shows as an emoji for you?

#

what did you do to your client

hollow matrix
hollow matrix
#

Anyway gtg

fleet jungle
#

nvm its just Tony

amber fractal
#

I don't want to make this work for higher than 64 bits igglybwaa

#

I'm going to have to and it is going to be quite the time

#

Anyone wondering about the output. Every variation of a uint with 2 bits on, shuffled so most the order is most likely not having the same bits active twice in a row

#

Insane that the math lines up to where bits+1 is the mostly correct solution to this

young plover
#

I've used that before to permute a set of N bits

#

Probably doesn't help with your shuffling though

amber fractal
#

Only issue is that I don't have that builtin in python land. So that'll be saved for the C rewriting once all of the logic is done and prime time for optimizing.

olive sable
#

Any letterswap people? I want to get "Sam" back

opaque wharf
#

Nein

#

I won't allow it neuroTroll

olive sable
#

You dont decide

#

@jagged turtle ReallyInnocent could i trade cmd for sam?

jagged turtle
#

how did you construct cmd?

#

like with the squares and all

glass jetty
#

it is regular utf-8

olive sable
#

Different font

#

Same letters

jagged turtle
#

ah

#

I mean sure why not

#

sam

#

@olive sable

olive sable
#

cmd

#

Thanks okp

glass jetty
#

ridiculously long 0x string
f09f94baf09f84b2f09f84bcf09f84b3f09f94ba

glass jetty
olive sable
#

Idfk

#

I got it from a change font website

glass jetty
#

task for chatbot btw

glass jetty
olive sable
#

Cool i guess

fleet jungle
#

Slightly concerning the llm puts these two in the same sentence, made worse by that one being first mentioned

#

Am I jumping to a conclusion or is X really not ordering responses to tweets by chronological order?

#

nvm it makes no attempt to hide this

mossy fulcrum
#

the bourgeoisie is stealing from you so the line is thin as it is

rigid snow
#

sam is sam

#

noway

olive sable
#

I have just doubled the amount of triangle

olive sable
glass jetty
#

live is hard

olive sable
amber fractal
hard raptor
#

I'm making Aria Math Epic orchestral V2

#

a bit more inspired by Hytale rather than epic film scores

hard raptor
amber fractal
uneven pulsar
#

also, didn't know music stuff gets posted here

#

that's cool

amber fractal
#

It isn't that often but is allowed because music production is technical by mod ruling

obsidian mantle
rigid snow
#

museic product ion

opaque wharf
#

Cafe library but you cannot bring any tech inside

#

Now the question is, does writing pad considered tech?

true hemlock
silent island
#

sigh...

jagged turtle
#

nice

opaque wharf
# true hemlock that's so indonesian piled

I have to argue with the server that no, this writing pad can't be used for anything else but writing. It's like one of those child toys with magnets, but this one the resolution is higher

true hemlock
opaque wharf
true hemlock
#

back in school they'd force us to copy the whole material in a note book

#

for all 11 subjects

#

and printing the note isn't allowed for some reason

#

then we'd have to memorize the whole notebook

#

lmao

opaque wharf
#

Yeah, good times lol. School is a whole other issue. But this place banned gadgets (ID: gawai) but phone. I consider my writing pad to not be a gadget

sage crag
opaque wharf
#

Oh, a wild TV appeared

#

You"re banned from that book cafe

frozen hollow
#

Just curious what you’re using

opaque wharf
opaque wharf
opaque wharf
sick owl
#

Down to the last two servos on my SO Arm 101

olive sable
opaque wharf
#

AC servo?

silent island
#

since when did a 20+ yo game needs 72 gigs of space dawgg??
ik this is a collection, but still...

lean comet
#

hello, what would be a good OCR to use for AI Agent that watches your screen?

nocturne olive
#

Why would you want an AI agent to watch your screen?

lean comet
#

you know OpenClaw?

I wanna do something similar but it lives in your computer and has a proactive model that comments and acts upon your own actions on your computer.

#

currently i am using easyocr but heard there are better and more accurate options

nocturne olive
#

Well have fun when the LLM accidentally deletes your entire root drive

lean comet
#

yeah no im aware of how OpenClaw is dangerous

#

im making my own thing lol

opaque wharf
#

Tesseract is good for known font IIRC

#

Or was it handwriting? I forgot which is it

south cedar
#

Tesseract is a very good OCR

azure lynx
#

it's a non-"AI" OCR. very old but fast and works well enough for printed text.

#

for watching the screen it should be fine.

#

for windows though you can probably use window messages to get actual text from most windows, which would be faster and have less errors.

#

depending on how it's rendered

#

like for menus, window title bars and dialogs. you'd need to OCR things like PDFs still

lean comet
#

also lightweight

opaque sigil
sick owl
lean comet
#

Me no using openclaw😭

I use it as inspiration for my own software in developing

#

It has way too many good features

glass jetty
#

why you even think guy, who renamed his project 3 times, can do something good?
||-# (i saw FS video apparently)||

#

i not like this edited appearing under -# string neuroBwaa, why not just be like this evilBwaa

rigid snow
#

anthropic being the very nice company they are sent them a little happy letter

glass jetty
#

cuz i saw FS video? evilflooshed

rigid snow
#

i don’t know what’s in the video i just know of the project

glass jetty
#

he renamed, as fact neuro7

rigid snow
young plover
#

I like moltbot better than openclaw

#

not that I use any LLM for more than 5 minutes of curiosity

glass jetty
glass jetty
young plover
#

I don't need it

glass jetty
young plover
#

ok, but I could also just

echo -n f09f94baf09f84b2f09f84bcf09f84b3f09f94ba | xxd -r -p
🔺🄲🄼🄳🔺⏎

or google "hex converter" to get a deterministic conversion

glass jetty
glass jetty
young plover
#

glue I said "I don't need it", I never said "You don't need it"

glass jetty
#

you can't know every possible command

fleet jungle
#

Can we embed images with <img> in discord yet or nah

#

or something similar

#

We're almost there anyway

young plover
#

¯_(ツ)_/¯

fleet jungle
#

Few more UI adjustments and we'll be looking at GeoCities or whatever that website was for an editable webpage

rigid snow
#

can anyone explain why proxmox sometimes shows me negative percent cpu usage on some containers and vms

#

like what's the math there

opaque sigil
#

is it a delta maybe?

#

idk why they'd do that tho

rigid snow
#

no like here

#

couldn't catch it actually showing negative but it does occasionally

opaque sigil
sage crag
#

wrr

glad path
#

wrrr

uneven pulsar
#

wrrr

glass jetty
gentle haven
#

Rawr

olive sable
#

wrrr

floral wraith
fiery anchor
#

Oi Sam. How hard is it for a experienced dev to learn gpu rendering properly?

silent cloak
floral wraith
silent cloak
#

its the container name

floral wraith
#

yeaa that was what i wanted to say

#

no naming system

silent cloak
#

all of my containers are named

floral wraith
#

do you know portainer its web based for your container (container stack)

silent cloak
#

yeah but honestly its not really great

#

kind of bloated, pay walled, and just doesnt run good on my systems

floral wraith
silent cloak
#

in the end its just kind of abstraction

olive sable
floral wraith
olive sable
#

opengl is easy if you understand some very minor concepts
vulkan is harder, but its fine if you read the docs and do some test programs

#

"gpu rendering" without a cpu side api is really difficult

silent cloak
#

you can always just learn opengl then if u hit a limit or a roadblock, switch to learning vulkan or similar

#

as the concepts will carry over

olive sable
#

opengl is pretty much good enough for most things

silent cloak
#

its a good starter

fiery anchor
olive sable
#

unly if you're limited to performance, or some very small minor limitations of opengl is vulkan needed

silent cloak
#

raytracing

#

kek

olive sable
#

its pretty much only RT and tensor cores that opengl cant do

silent cloak
#

webGPU ive heard is good too (web part doesnt mean its only for web)

olive sable
#

it can do the math, but only on cuda cores

#

so not hardware accelerated math

#

just normal gpu math

rough bloom
#

ye the basics of graphics programming is easy
it's the bajillion shader tricks and other stuff you can do to either make things look better or squeeze out more performance that's difficult

silent cloak
#

opengl is all one thread though too

olive sable
#

ye

rough bloom
azure lynx
olive sable
#

vulkan is kinda one thread too for the main render loop

#

but many things can be done outside the main thread

silent cloak
#

but its probably the closest thing vulkan has to competition atm

#

apparently its really good for cross platform and isnt as verbose as vulkan

rough bloom
silent cloak
#

havent tried it yet though

rough bloom
#

definitely a little bit less verbose

#

need fewer objects

silent cloak
#

thats why i was happy to switch to dynamic rendering in vulkan

#

to kill off passes

olive sable
#

uploading stuff to vram can be done in a different threads, only limitation thread wise is doing the display present queue in only one.
that can run at 100k fps tho so its more than fne

fiery anchor
#

hmmm so to sum all the responses up, not that hard to get into, but it takes a long time to get truly proficient since there is a lot of tips and hacks to learn

glad path
#

triangle

silent cloak
#

especially in vulkan

#

id argue that most vulkan code u will write will be boiler

#

(thank you VMA)

rough bloom
fiery anchor
#

Alright, thanks for the responses NeurOhISee

olive sable
silent cloak
#

RenderThingToScreenVk1Ptr

fiery anchor
olive sable
#

you'll be on your way in a week

#

its not hard at all

rough bloom
# silent cloak its because they have the scheme and organization of a java project

it's mostly because it tries to support older GPUs (that were new back when Vulkan was new)
same thing that happened with OpenGL basically, except OpenGL has a shorter path to getting stuff done quickly (at the cost of performance)
read https://www.sebastianaaltonen.com/blog/no-graphics-api neuroBee

#

so much memory management related stuff in Vulkan that's now useless

olive sable
#

i mean

#

99% of the time you will be doing the exact same sequence of vulkan api commands to upload stuff to memeory.
but its not inhgerently a bad thing

silent cloak
#

VK_NV_framebuffer_mixed_samples

#

the alternative to comments

rough bloom
#

vedalShrug that's normal

#

would you prefer VK_NV_fms

silent cloak
#

its 67 characters long

rough bloom
olive sable
#

opengl is something you learn in a week, and then get a month of practise to fully grasp.
vulkan is something you learn in a month if you have the experience form using opengl, and then you practise for months

silent cloak
#

my favorite windows function name

#

RtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext

olive sable
#

i havent use Rtl

silent cloak
#

its from wcp.dll

rough bloom
fiery anchor
rough bloom
#

but OpenGL is arguably better as an introduction because it gets you results faster

olive sable
#

its easier to learn without opengl

silent cloak
#

id argue the opposite

olive sable
#

nah

#

opengl is jsut like vulkan, except you skip the insane amount of boilerplate

silent cloak
#

most of the stuff u learn from screwing with opengl can be brought over

fickle rain
silent cloak
#

its undocumented though

fickle rain
#

Rtl prefix made me feel like it was ntdll/kernel

silent cloak
#

here is another good one though

olive sable
#

i meant with

olive sable
silent cloak
#

lmao

olive sable
#

we're both in agreeance it seems

silent cloak
#

there was a bug in our convo

fiery anchor
#

hi

olive sable
#

discord marks agreeance as wrong, but its a real word

rough bloom
#

usually say agreement

olive sable
# silent cloak RtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext

⁨⁨⁨```
RtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext [wcp.dll], with 53-characters, was the longest one (but this function is not documented)

not documented ![AINTNOWAY](https://cdn.discordapp.com/emojis/1169590854160224288.webp?size=128 "AINTNOWAY") 
how are you even supposed to use a function when nothing says what it does
fickle rain
#

Someone reversed what it did and imported it and now M$ can’t remove it

olive sable
olive sable
#

opengl has only vertex and fragment shader

#

and compute shader if you feel fance

#

vulkan on the other hand lets you change every single component of the render pipeline

rough bloom
#

Vulkan good to learn at some point but not required immediately

fickle rain
#

Bro what the FUCK is that line length

olive sable
#

ye

#

vulkan not even required at all

rough bloom
#

I would recommend learning it at some point

#

or alternatively, learning about OpenGL drivers but that's more difficult

young plover
#

The thing that sucks about OpenGL is the state model
Forgor about one setting you changed and now it applies to every draw call

olive sable
fickle rain
#

I mean like, can’t you format it to actually fit in reasonable width?

#

Just nitpick

#

I’m sure it works

olive sable
#

how do you expect me to make it shorter?
those long variables are vulkan api stuff

#

i didnt make them that long

olive sable
#

nah

#

i have the full 2560 pixel, imma use them

silent cloak
#

need a macro for the macros

olive sable
#

no need to only code on the very left side of my monitor

#

i odnt like having a single function spread over multiple lines

#

its like

#

stay in your lane

fickle rain
#

Clang-format my beloved

rough bloom
olive sable
#

i could change my boilerplate function

#

but that makes them less usable in different situations

rough bloom
#

yeah, you'd probably just have a single enum that specifies that combinations of parameters that you actually require

olive sable
#

i guess

#

i dont really feel like rewriting this code rn

rough bloom
#

ye don't need NODDERS
good to do when you have many instances of this happening but otherwise it's whatever

#

introducing abstraction where it's not needed also bad

olive sable
#

remember when i was like, i don't want rgba32, i only need 1 bit?

#

apparently, opengl doesn't have a 1bit option neurOMEGALUL

rough bloom
#

ye just pack into integer neuroBee

olive sable
#

this is the type of scenario that vulkans boilerplate is for

rough bloom
#

does Vulkan have a native 1-bit format?

olive sable
#

lemme check

#

yep

#

well

#

instead of writing into an image, you write into a buffer

#

then you can do 1 bit

#

otherwise its also R8

#

hmm actually, opengl can probably do the buffer method too via SSBO

young plover
#

🤔 yeah there's no native 1-bit format unless you're just using the alpha channel of RGBA 5551

olive sable
#

thats what seems to be the case ye

#

i always forget SSBO exist cuz i never use them

quick condor
#

Ahh the fun of python3.13t I have a headache but no GIL

astral zinc
#

πthon

olive sable
#

imma try ⁨hardware.nvidia.open = false

#

ill see if it fixes some small bugs

opaque sigil
olive sable
#

it honestly doesnt seem to be any different

opaque sigil
#

well yeah

#

most problems will manifest much higher level than kernel modules

rough bloom
#

yeah the closed and open kernel modules are really not much different (on supported hardware)

#

most of the driver is in userspace

opaque sigil
#

i'm surprised they don't force the open modules for all gsp cards

#

though i guess if they have to keep maintaining the closed ones anyway for older cards what's the point

#

but then they also just dropped support for them now so om

olive sable
#

opengl jsut doesnt want to use my gpu

#

and i cant figure out why

sick owl
#

I hate tiny budget screwdrivers so much UltraMad

#

Every revolution of the screw requires a blood sacrifice rn

olive sable
opaque sigil
#

try with ⁨__GLX_VENDOR_LIBRARY_NAME=nvidia

#

since presumably vulkan works so the driver should be fine enub

olive sable
#

okp lets see

#

thats already in my sessionvariables

real sierra
olive sable
#

neuroWaveA hi shiro

real sierra
#

i found a game and its steam page advertises it as RFC 5737 compliant

olive sable
#

happy valentines day

real sierra
#

valentine's already? WHAT

olive sable
#

the aliexpress valentines sale is today eventho its 2 weeks early

#

so ive been getting constant reminders of it

azure lynx
#

coz shipping

olive sable
olive sable
#

you meant shipping as in delivering parcels

azure lynx
#

both work ;]

olive sable
sage crag
#

phrrr

real sierra
sage crag
#

why is it called white day

olive sable
#

⁨```
White Day, celebrated on March 14th in Japan, South Korea, and other parts of Asia, is a day for men to reciprocate gifts (usually chocolates) given by women on Valentine's Day, acting as a "reverse Valentine's Day" where men give gifts like white chocolate, candies, or other tokens to express appreciation, often valuing the return gift at two to three times the original gift's worth

![neuroReading](https://cdn.discordapp.com/emojis/1155466580927459370.webp?size=128 "neuroReading")
sage crag
#

ye

sage crag
#

shiro neuroSensei

olive sable
#

welp, i dont have to worry about preparing gifts

#

tbh, i didnt even know valentines was supposed to be woman -> men

#

i thought it was a free for all battle royale

sage crag
#

no

olive sable
#

im misinterpreting it then

sage crag
opaque sigil
#

are you in japan?

olive sable
#

no

opaque sigil
#

see

olive sable
#

see what?

opaque sigil
olive sable
sage crag
#

easier to just think of white day as return gift day

olive sable
sage crag
#

its not too uncommon to give obligatory chocolates to your friends on valentines too, though i dont expect you'd get a return gift for that

olive sable
#

neuroCatUuh in general or with "you" are you specifically adressign me?

sage crag
#

im referring specifically and only to samuel vanuel manuel

olive sable
#

thats fucked up

sage crag
#

it was completely general

olive sable
#

see

#

i cant tell which one of those was suppsoed to be sarcastic

sage crag
#

good

olive sable
sage crag
#

im glad white day isnt in the UK, because it means i get to eat my free chocolate in peace

#

though, ive not actually recieved any chocolate since i was in school neuroSad

#

no choco

olive sable
#

ive not actually recieved any chocolate ~~since i was in school ~~

#

we dont really do valentines here either

olive sable
#

wdym looking?

olive sable
#

konii is in my walls

#

but ye nah

#

its only common here to give someone chocolate if you're already a tuple

sage crag
#

tuple neuroCry

olive sable
#

gotta throw some programmer lingo in there

#

otherwise the mods will banish me to the shadow realm

sage crag
#

tuple inclusive word

olive sable
#

is couple not inclusive?

sage crag
#

size greater than 2

olive sable
sage crag
#

or even size of 1, if you wanted

#

tuple of 0 values still tuple

olive sable
#

id rather not give chocolate to the void

#

i coudl just eat it myself

sage crag
#

isnt it functionally identical

olive sable
#

if the size of the tuple is 0, then where does the chocolate go?

sage crag
#

no one gives chocolate if the tuple size is zero or one

#

obviously

olive sable
#

if the tuple is 0 then not even myself is in it

#

so i dont get chocolate either

#

thats a waste

sage crag
#

sam dentge

olive sable
#

as per usual

azure lynx
olive sable
#

its using gpu now, just very badly

amber fractal
olive sable
#

GETHIM atomicOr wastes valuable time

amber fractal
#

do you need it to always be atomic?

opaque sigil
#

me when i use atomics and they end up being serialised so parallelism go poof

olive sable
#

for 1 bit ye, cuz buffer stuff is funky

#

atomicOr(volume.data[wordIdx], (1u << bitIdx));

#

i think

#

we need to go back to 3D texture

#

and accept the R8 using 8x as much storage

amber fractal
#

Nah

#

this has a better solution

#

It's called bitmasking and shifting first, then calling OR up the tree until merged

#

would need to rewrite to handle bulk tho

olive sable
#

nah

opaque sigil
#

sth sth parallel reduction

olive sable
#

new idea

opaque sigil
#

OR is associative right

olive sable
#

we do the compute shader in vertical slices

#

and have the data in vertical stacks

#

that way only 1 thread uses a 32bit word at a time

amber fractal
#

I forget your at 32bit words on GPUs evilDeadge

#

I also dislike my inital solution

bright scaffold
#

Hi

olive sable
#

Hi

bright scaffold
#

I have a question

amber fractal
#

Go ahead

opaque sigil
#

the quick and dirty solution would be to first compute a group-wide mask and then have one thread do the atomicOr but idk how to do that in opengl neurolingSlep

bright scaffold
#

I recently got a laptop with an 81Hz FHD IPS screen

opaque sigil
#

cutting contention by a factor of 32 or 64 ought to be enough

amber fractal
opaque sigil
#

if it's really really bad you can do another level before writing to global memory

amber fractal
#

hold in register and keep pulling data in until your done, then commit

bright scaffold
#

The screen should be FHD, but just for fun, I set it to 2K on Hyprland, and it WORKED, but Idk how to understand if its fake or not

opaque sigil
bright scaffold
olive sable
#

hyprland will just give the display whatever is in the hyprland settings, then the display will take that input and tries to convert it back to FHD as that's your monitor's native res

amber fractal
#

the thing may accept 2K streams, but unless it is proven that the construction of the screen supports that res then it's just doing downscaling before reaching you.

bright scaffold
#

oke, thx

#

And i have one more question about another thing

#

I use Sober for playing in Roblox

#

And recently, if I play for a long time, it starts to freeze up a lot.

#

idk why because it shouldnt get a lags

amber fractal
#

I've looked into Sober, just as an option for an old job I was working at. Can't say much because don't play the was oof game.

#

The reason it is lagging is because it is emulating all of android in order to run the roblox APK inside of it

bright scaffold
#

I started getting lags ~2-3 days ago

amber fractal
#

that's at least unless games are doing things ofc

bright scaffold
#

But now

#

(i have ryzen 4700u)

#

If i play a long time it starts to drop to 3-5 fps

olive sable
#

maybe memory leak?

sage crag
#

(a | b) | c == a | (b | c)

sage crag
#

different from other specialised runtimes by

#

being specialised runtime

opaque sigil
#

specialised² runtime

ivory plinth
ivory plinth
olive sable
#

in terms of gpu power usage its till bad tho

#

and i fucked up my code somewhere

amber fractal
#

We need more FPS neuroHypers

olive sable
#

for context it did 800 fps before optimizing for word stuff

amber fractal
#

Yeah, that is the important part

olive sable
#

life is oof game

amber fractal
glad path
amber fractal
#

ah

#

so is still oof game neuroHypers

olive sable
amber fractal
#

imagine if off by 1 error

sick owl
#

The print shop fucked up and made the screw holes too narrow

obsidian mantle
#

why is this a picture vedalSTARE

#

oh it probably wont let me normally insert all these underscores and thetas into notepad anyway

glad path
#

there's like one underscore there

#

i think

#

yeah there's only one subscript

opaque sigil
#

If only there was another way other than using notepad glueless

olive sable
#

i tested i

#

SSBO is faster than 3D texture

#

its still using 40% of my vram for some reason tho

#

7% seems to be the compute shader, 10% the fragment shader, and the other 23% is the buffer

#

so this already requires 10GB of vram

#

i officially blocked everything under 3080 class from running this

#

i need to run some type of profiller on this cuz thats not a healthy amount of vram usage

#

miniHmm my pc just completely froze, and i wasnt even doing anything.
Not out of ram cuz btop was open while it froze and i have 5/64gb used

olive sable
#

idk waht that means

young plover
olive sable
#

⁨```glsl
#version 450

layout (local_size_x = 16, local_size_y = 16, local_size_z = 1) in;
layout(std430, binding = 0) buffer VolumeBuffer {uint data[];} volume;

const uint WIDTH = 570;
const uint HEIGHT = 1140;
const uint DEPTH = 144;

const uint NUM_WORDS_Z = (DEPTH + 31) / 32;

bool voxelPattern(uint x, uint y, uint z)
{
return (z > 72u);
}

void main()
{
uint x = gl_GlobalInvocationID.x;
uint y = gl_GlobalInvocationID.y;

if (x >= WIDTH || y >= HEIGHT)
    return;

for (uint wz = 0u; wz < NUM_WORDS_Z; ++wz)
{
    uint val = 0u;

    for (uint i = 0u; i < 32u; ++i)
    {
        uint z = wz * 32u + i;
        if (z >= DEPTH) break;

        if (voxelPattern(x, y, z))
            val |= (1u << i);
    }

    uint wordIdx = x + y * WIDTH + wz * WIDTH * HEIGHT;
    volume.data[wordIdx] = val;
}

}

#

this is the full shader

#

now that i made it suck less

#

and then i do ⁨glDispatchCompute(ceil(570/16.0), ceil(1140/16.0), 1);⁩ in the c++ side

#

there still is some performance left in here, i just have no clue how words work yet

silent cloak
#

(cuz im pretty sure you can compute that without the loop)

young plover
olive sable
#

ye it will

silent cloak
#

you can still hoist baseIdX and stride out of the loop

olive sable
#

thats why its a separate function, just a placeholder

amber fractal
young plover
silent cloak
#

that can be fixed by making bounds with min()

#

⁨⁨```cpp
uint val = 0u;
uint zBase = wz * 32u;
uint zEnd = min(zBase + 32u, DEPTH);

    for (uint i = 0u; i < (zEnd - zBase); ++i)
    {
        if (voxelPattern(x, y, zBase + i))
            val |= (1u << i);
    }

    volume.data[baseIdx + wz * stride] = val;
#

for example

amber fractal
#

That makes sense to me at least

silent cloak
#

branchless my beloved

olive sable
#

checks out ye

opaque sigil
#

But there's a branch Awkward

azure lynx
#

do you need a condition? if voxelPattern returns 0 or 1 you could just repalce the 1u in the assignment and there's no condition... just a redundant shift and or of 0 when not needed

olive sable
#

that shoudl work

#

only problem is the cost of doing the memory write vs skipping it

azure lynx
#

depends on if the conditional or the write is more expensive

young plover
#

The if (voxelPattern... condition is not likely to matter. Shader compilers aggressively turn those into branchless ops when possible.

silent cloak
olive sable
#

ye

#

we jsut do ⁨glClearBufferData(GL_SHADER_STORAGE_BUFFER, GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT, &zero);

#

each frame

silent cloak
#

honestly

#

i think u might as well always write then

#

if ur clearing the whole buffer every frame and then conditionally writing to it i imagine it might suck a bit

young plover
#

Yeah conditional memory writes aren't helpful
And if you do store the adjacent u32, it's gonna write the whole cache line anyway

silent cloak
#

i mean they can be fine if ur clearing less frequently

#

but every frame na

azure lynx
#

can the voxelPattern function just return this stack of 32 values? (like, can the loop be moved somewhere else? wouldit be better to call the method once instead of 32 times?)

olive sable
#

hmmm

silent cloak
olive sable
#

the voxelPattern function is meant to kinda check if there is a polygon at the input coordinate

amber fractal
silent cloak
#

i still dont think the loop will be avoided unless u go to that extreme

#

but u said ur still expanding it

olive sable
#

im geussing ill need to figure out how voxelPattern is gonna work before i can optimize much m ore

silent cloak
#

i mean yeah

#

dont do it pre-maturely too much

#

unless its like freezing

azure lynx
#

best to make it work and be understandable first

silent cloak
#

prototype

rigid snow
floral wraith
silent cloak
#

if u REALLY want to avoid the loop without making EVERYTHING a word you can also just go analytical road based on zBase

olive sable
#

⁨```glsl
uint zEnd = min(zBase + 32u, DEPTH);
for (uint i = 0u; i < (zEnd - zBase); ++i)
{
if (voxelPattern(x, y, zBase + i))
val |= (1u << i);
}

this wasn't faster apparently. only got 2/3rd of the fps that the one with break got. i think the compiler might have optimized it to something like this

⁨```glsl
for (uint i = 0u; i < 32u; ++i)
{
    uint z = zBase + i;
    if (z < DEPTH)
        if (voxelPattern(x, y, z))
            val |= (1u << i);
}
```⁩
#

if (z >= DEPTH) break;⁩seems to have the same performance as ⁨if (z < DEPTH) ....

azure lynx
#

what will DEPTH be? can you force it to be a multiple of 32 all the time?

young plover
olive sable
#

it can pretty much be wahtever i want, its a const

⁨```glsl
const uint WIDTH = 570;
const uint HEIGHT = 1140;
const uint DEPTH = 144;

azure lynx
#

would it make any difference if you got rid of the special case for "not exact multiple"?

olive sable
#

idk

#

i could try making it 160

#

no real difference

azure lynx
#

it probably makes very little difference compared to how the actual voxelPattern will.

olive sable
#

ok, ill return to this once ive made voxelPattern

amber fractal
#

⁨```glsl
global void shaderMain(uint* const volume) {
const uint y = blockDim.y * blockIdx.y + threadIdx.y;
const uint x = blockDim.x * blockIdx.x + threadIdx.x;

if (x >= WIDTH || y >= HEIGHT) { return; }

for (uint wz = 0u; wz < NUM_WORDS_Z; ++wz)
{
    uint val = 0u;

    for (uint i = 0u; i < 32u; ++i)
    {
        uint z = wz * 32u + i;
        if (z >= DEPTH) break;

        val |= voxelPattern(x, y, z);
        val <<= 1;
    }

    uint wordIdx = x + y * WIDTH + wz * WIDTH * HEIGHT;
    volume[wordIdx] = val;
}

}

Small change, at least in my mind. Removed the second if branch
young plover
#

uint wordIdx = x + y * WIDTH + wz * WIDTH * HEIGHT;
oh
If you're having this single invocation calculate the whole stack of z-values, you should order the axes z, x, y in the buffer. GPUs are even more sensitive to cache locality than CPUs.

olive sable
#

where you getting these form?
blockDim.y * blockIdx.y + threadIdx.y
?

silent cloak
#

you could probably also compute using bit shifts and masks

#

if you dont wanna go 100% word

amber fractal
olive sable
#

godbolt?

opaque sigil
#

That's cuda so not applicable to you

amber fractal
olive sable
opaque sigil
#

You're a level above enub

amber fractal
azure lynx
amber fractal
#

True

silent cloak
#

thats why im thinking u could just use bitwise

azure lynx
#

i think it's also reversed bits but same idea

silent cloak
#

return a word where bit i is set if the voxel at (x, y, zBase + i) satisfies the pattern condition z > 72

olive sable
silent cloak
#

i love how we are just micro optimizing atp

#

truly a programmer habit

amber fractal
#

We do it for the love of the game

young plover
#

I think the cache thing is more than a micro-optimization

azure lynx
#

i'm just distracting myself from finding out where my code is blocking.

olive sable
#

the atomic shit form before was painfully slow compared to what wee have rn

silent cloak
amber fractal
#

I'm also distracting myself from working on array manipultion simulator

#

also known as NN

young plover
amber fractal
#

Let me try and explain and someone else hop in for exacts

silent cloak
#

⁨```cpp
volume.data[baseIdx + 0u * stride] = 0u;
volume.data[baseIdx + 1u * stride] = 0u;
volume.data[baseIdx + 2u * stride] = 0xFFFFFE00u;
volume.data[baseIdx + 3u * stride] = 0xFFFFFFFFu;
volume.data[baseIdx + 4u * stride] = 0x0000FFFFu;

olive sable
#

what

silent cloak
amber fractal
#

I'm assuming the goal of rotating the array in memory to have Z accesses be as the first dimension iterated on for cache reasons. My brain is dead today so sorry if I'm not entirely following

young plover
#

otherwise it needs to constantly reload far-apart cache lines to insert new values

silent cloak
#

z threading

amber fractal
#

That'd be stored in memory as Z X Y or something similar, proably being ZXY or ZYX depending on if X or Y is smaller

olive sable
#

somehow the code i did in python for game engine stuff was so much less shit

silent cloak
#

abstraction

amber fractal
#

python did have direct shader code fields, so not that much

silent cloak
#

surprised they let their users have direct anything

amber fractal
#

like storing the glsl shader as a string to compile

#

Numpy has more guard rails than the opengl libary used

olive sable
#

when the shaders compile and lag your game during intensive gameplay

silent cloak
#

thats the best time for them to compile

olive sable
#

when the shaders compile and crash your entire pc during final fantasy 14 trying to make a cute outfit on a wednesday afternoon after making your exams

young plover
#

glue The other end is what we call "ubershaders" where the developer just has one shader which does everything. Don't make ubershaders.

silent cloak
#

me designing an algorithm to detect when the user is performing well in the multiplayer online game so I can forcefully rebuild shaders

olive sable
olive sable
#

but us gamedevs dont need to be like pixar

#

we dont need the principled BSDF

amber fractal
silent cloak
#

reminds me of shadertoys where people implement audio and other shit using shader code

#

just make an entire game like that

amber fractal
#

I saw a thing like yesterday in shadertoy of an entire scene built on a shader

silent cloak
#

thats the smallest thing on their website

#

keep looking at the other projects

#

lmao

amber fractal
#

That is very much true

young plover
olive sable
silent cloak
#

shortage will fix that

amber fractal
#

nope it'll just breed sparse fp4 frame gen

amber fractal
#

If they actually nuke FP64 on consumer cards like they've done on the B300 I might just never upgrade past this 3060 in my laptop

#

No point in ever doing it

young plover
silent cloak
#

na lets do vector graphics

#

(look up the vectrex console)

young plover
#

No need for VRAM if you draw with an electron beam in realtime

unkempt citrus
#

Shader as a Service

silent cloak
#

at that point we need to restart the human race

rigid snow
amber fractal
olive sable
#

no need to render

#

just buy each frame on paper

#

its recyclable

rigid snow
#

no need to render mlntcandy blank paper

silent cloak
#

the frames would atleast be real

azure lynx
young plover
rigid snow
#

can’t read gba as anything other than game boy advance its meant that my whole life

azure lynx
#

graphics talks primes my brain for RGBA

#

GBA islike a channel fell off

amber fractal
silent cloak
#

infinite money glitch

#

(unpatched)

amber fractal
#

I am dying at the cropped text

ivory plinth
#

$00B

silent cloak
#

i have another one with human centipede

rigid snow
#

ds not popular here

amber fractal
#

I only had the DS, already went past GBA's prime by the time I got something for myself

young plover
#

It's wild how closely the DS and GBA launched
Nintendo wanted separate product lines which made 0 sense

#

2001 and 2004 I think

rigid snow
#

and by the time i went to school the coolest thing to have was an ipod touch who cares about a ds or a psp lmao what’s allat lame stuff

amber fractal
#

Our schools had rules against kids using tech outside of school computers, so there were no tech based trends until HS and that was "newest iPhone"

#

tbf I went to HS with tiktok so that shows me as youngling

rigid snow
#

we did too but tbf our school was an exception, didn’t prevent us from sneaking it in

rigid snow
#

when they hear my age

amber fractal
#

people that call you unc deserve to be called younglings

rigid snow
#

ye 80% of nn

#

cringe kids am i right neuro3D

amber fractal
#

I have a feeling if I were to say I'm 21 I'd also be called unc

rigid snow
#

you will because i am 21 ICANT

amber fractal
opaque wharf
#

403 new message neuro7

rigid snow
#

Forbidden

jagged turtle
#

wait wha

opaque wharf
#

Yep, I thought it was funny lol

jagged turtle
#

did something happen?

opaque wharf
rigid snow
#

he said there are 403 new meshes

#

messages

jagged turtle
#

om

dull egret
visual pawn
sage crag
glass jetty
#

btw, laptop
Startup finished in 12.532s (firmware) + 6.067s (loader) + 2.895s (kernel) + 2.213s (userspace) = 23.708s
graphical.target reached after 2.189s in userspace.

young plover
#

19.010s (firmware) + 5min 43.346s (loader) + 2.833s (kernel) + 5.342s (initrd) + 13.312s (userspace)|
AM5 moment
(the loader time is probably just because I started the PC and walked away before entering the boot drive encryption password)

glass jetty
#

i wonder, is disk encryption handled by hardware?

young plover
# glass jetty i wonder, is disk encryption handled by hardware?

For my boot disk no. For the 990 Evo+ that stores my games yes.
You can enable Opal (self-encryption) for drives but not all drives support it. You need to secure erase the drive using the PSID from the label, then explicitly specify --hw-only or something in cryptsetup. By default cryptsetup will just do it in software, which probably uses the AES instructions on newer x86 CPUs.
My boot disk is buried under a GPU and I don't feel like re-installing the OS so I haven't bothered fixing that to use self-encryption. glue

olive sable
#

@opaque wharf

#

its uploading

#

biblicalyl accurate tutel

glass jetty
#

ok, i just use laptop, and prob i should use encryption (as only way to secure data if laptop is stolen)

#

will research it later

#

or never

#

idk

glass jetty
olive sable
#

340W for 29fps imgKEKW

#

the compute shader is mayhaps really fucking bad

#

oh ye, that doesnt embed

glass jetty
#

-# i really not into 3d neuroBwaa

#

see code, understand almost none

olive sable
#

the lack of syntax highlighting doesnt help

glass jetty
olive sable
#

i forgot i could change it in discord itself tbh

maiden geyser
#

why didn't people invent an hdd with a magnetic mobius strip inside

#

are they smart

olive sable
young plover
opaque wharf
olive sable
#

im pretty sure if forgot to do the indexbuffer stuff
im sure its fine

wraith meteor
#

Hellou

#

I bring gifts

#

include 👩 🍆 💀

if (👩){
if(🍆){
🍆💀 = True;
}
}

#

it needs an egg

olive sable
wraith meteor
#

Can someone cook an egg?

#

I am hungry

olive sable
#

starve

wraith meteor
#

include 👩 🍆 🥚 💀

if (👩){
if(🍆){
🥚💀 = True;
}
}

#

Here you go Sam

#

pat pat Sam

olive sable
#

i dont want it

#

you can have it

wraith meteor
#

You want fish

#

I can give you fish

#

🐬

young plover
#

Seems like it would make more sense to make the triangles the outer loop, and share all of those initial calculations for each loop over z.
But uh, that amount of branching is 💀
I've seen GPUs choke and die from that kind of looping.

olive sable
#

i want my compute shader optimized

opaque wharf
wraith meteor
#

Technically?

olive sable
#

nope

wraith meteor
#

Dolphin emulator?

opaque wharf
#

Must've been royalty fish then

wraith meteor
#

Royal tea

olive sable
#

dolphin is a mammal

wraith meteor
#

Mammal fish

olive sable
#

not fish

wraith meteor
#

like ShyLilly?

#

Is Beluga fish?

unkempt citrus
#

nope, whale, so mammal

wraith meteor
#

Is lilly dolphin or beluga or human

#

I think it's all of the above

wraith meteor
olive sable
#

beluga whale is also not a fish but a mammal

#

so all 3 possebilities would be mammal

amber fractal
#

What have I returned to

olive sable
#

jojo

#

golden wind

amber fractal
olive sable
#

i put my mic ontop of my pc to record that

fleet jungle
olive sable
#

ye

fleet jungle
#

I'm seeing trace amounts of a gradient... I'm not sure if that's not because of the spinning tho

#

oh it was

olive sable
#

it has to be cuz of obs and/or the spinnign

fleet jungle
#

yea

#

nice progress

olive sable
#

got it up from 30 fps to 80

#

with some highly cursed shit

wraith meteor
#

You're welcome sam

amber fractal
wraith meteor
#

144

olive sable
#

well, only 30 really

#

but i want it to be able to run on other hardware than my 3090

amber fractal
#

Is this handling mapping to the spinning boi or not yet?

olive sable
#

this compute shader is for turning a 3D model with polygons into voxels

#

which is the hard part

#

the fragment shader rn is just doing 1 frame per. but i still need to make it to 24 frames into 24bit rgb

#

lemme do that rn

amber fractal
#

if else chain my beloved

olive sable
#

as the youngins say

wraith meteor
#

I don't even get that much

olive sable
wraith meteor
#

UHHH

#

CARAMELDANSEN

#

Sweden

opaque wharf
wraith meteor
#

Noice

#

Spinner

olive sable
#

imma put htis shit on my github i guess

wraith meteor
#

Thanks sam

amber fractal
olive sable
#

to be fair

#

rn

#

the compute shader runs at the same speed as the render shader

#

and in reality it should only be doing 30fps while the other one does 180 or so

fiery anchor
olive sable
#

goodmorning

#

dont look too close at shell.nix. chatgpt made that

amber fractal
#

help

olive sable
#

none of the vulkan shit in that works yet

#

most of it doesnt in fact

amber fractal
#

ohhhhh that's why my entire system freezes when that one opens

olive sable
#

catdespair dont use the vulkan shaders

olive sable
#

i think most of it is set to work well on a 3090

#

⁨```glsl
shared Triangle sharedTris[128];

struct TriCache
{
vec3 e0, e1, e2;
vec3 n;
vec3 v1;
vec3 minV, maxV;
float d00, d11, d01, d22;
float rcp_d00, rcp_d11, rcp_d22;
float invDet;
float sqrt_n2;
float ds, dt;
};
shared TriCache triCache[128];

mainly this cache shit is somethign you dont want on a laptop
amber fractal
#

It suddenly is fine after a bit, wonder what could be happening glueless

olive sable
#

wdym?

amber fractal
#

let me check, what make am I supposed to be using because currently this mf on vulkan

olive sable
#

uh

#

it shoudlnt een be able to use vulkan

#

i commented all the vulkan scripts out