• Re: xchg based thing...

    From Chris M. Thomasson@3:633/280.2 to All on Tue Jan 16 08:38:52 2024
    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.
    [...]

    Got some nice test targets for the experimental xchg based "queue" of
    mine to render:

    https://i.ibb.co/p2xgRh2/image.png

    https://i.ibb.co/sCpZ70V/image.png

    --- MBSE BBS v1.0.8.4 (Linux-x86_64)
    * Origin: A noiseless patient Spider (3:633/280.2@fidonet)
  • From Chris M. Thomasson@3:633/280.2 to All on Sat Jan 27 16:55:32 2024
    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
    [...]

    Humm, should have some free time to do this... Might as well use it for
    n-ary fields. 3d here:

    https://i.ibb.co/Qd8QtGz/image.png


    --- MBSE BBS v1.0.8.4 (Linux-x86_64)
    * Origin: A noiseless patient Spider (3:633/280.2@fidonet)
  • From Chris M. Thomasson@3:633/280.2 to All on Fri Feb 2 08:16:27 2024
    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


    --- MBSE BBS v1.0.8.4 (Linux-x86_64)
    * Origin: A noiseless patient Spider (3:633/280.2@fidonet)
  • From Chris M. Thomasson@3:633/280.2 to All on Fri Feb 2 08:17:45 2024
    On 2/1/2024 1:16 PM, Chris M. Thomasson wrote:
    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


    https://i.ibb.co/02MskNt/image.png

    --- MBSE BBS v1.0.8.4 (Linux-x86_64)
    * Origin: A noiseless patient Spider (3:633/280.2@fidonet)