Fwiw, here is a quick and dirty mock up of my atomic exchange based lifo work queue thing. Not sure how to classify it quite yet. I am going to[...]
use it as a work "queue" for my parts of my CPU based rendering engine,
no need for it wrt my shader work. However, I needed to do it. It's
passing Relacy tests. That's a good thing. Now I need to add in a slow
path so it can wait in the kernel during periods of no work. I think an eventcount should work for it. Or perhaps I might integrate some state
in the pointer values for futexes, or whatever. I have not made up my
mind yet.
Fwiw, here is a quick and dirty mock up of my atomic exchange based lifo work queue thing. Not sure how to classify it quite yet. I am going to[...]
Fwiw, here is a quick and dirty mock up of my atomic exchange based lifo work queue thing. Not sure how to classify it quite yet. I am going to[...]
use it as a work "queue" for my parts of my CPU based rendering engine,
no need for it wrt my shader work. However, I needed to do it. It's
passing Relacy tests. That's a good thing. Now I need to add in a slow
path so it can wait in the kernel during periods of no work. I think an eventcount should work for it. Or perhaps I might integrate some state
in the pointer values for futexes, or whatever. I have not made up my
mind yet.
I will port my Relacy test units over to standard C++. It's not all that hard. In fact, it's rather straightforward.
On 11/26/2023 10:14 PM, Chris M. Thomasson wrote:
Fwiw, here is a quick and dirty mock up of my atomic exchange based[...]
lifo work queue thing. Not sure how to classify it quite yet. I am
going to use it as a work "queue" for my parts of my CPU based
rendering engine, no need for it wrt my shader work. However, I needed
to do it. It's passing Relacy tests. That's a good thing. Now I need
to add in a slow path so it can wait in the kernel during periods of
no work. I think an eventcount should work for it. Or perhaps I might
integrate some state in the pointer values for futexes, or whatever. I
have not made up my mind yet.
I will port my Relacy test units over to standard C++. It's not all
that hard. In fact, it's rather straightforward.
Humm... Might be able to use it to quickly generate very complex models. Reduce the loading screen time... This one is fairly complex and I can
get 60fps...
https://i.ibb.co/CBJqT8h/image.png
Sysop: | Tetrazocine |
---|---|
Location: | Melbourne, VIC, Australia |
Users: | 6 |
Nodes: | 8 (0 / 8) |
Uptime: | 04:35:40 |
Calls: | 45 |
Files: | 21,492 |
Messages: | 65,847 |