Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > sci.physics.relativity > #671475 > unrolled thread

I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM] (Was: Paul Tarau versus Mr. Taskmanager, who would win? [A PDP-11 Humunkulus from 1979])

Started byMild Shock <janburse@fastmail.fm>
First post2026-07-19 11:53 +0200
Last post2026-07-22 18:23 -0700
Articles 20 on this page of 68 — 16 participants

Back to article view | Back to sci.physics.relativity

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM] (Was: Paul Tarau versus Mr. Taskmanager, who would win? [A PDP-11 Humunkulus from 1979]) Mild Shock <janburse@fastmail.fm> - 2026-07-19 11:53 +0200
    Corr.: Re: I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM] (Was: Paul Tarau versus Mr. Taskmanager, who would win? [A PDP-11 Humunkulus from 1979]) Mild Shock <janburse@fastmail.fm> - 2026-07-19 11:55 +0200
    Re: I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM] (Was: Paul Tarau versus Mr. Taskmanager, who would win? [A PDP-11 Humunkulus from 1979]) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-19 14:04 -0700
      Re: I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM] (Was: Paul Tarau versus Mr. Taskmanager, who would win? [A PDP-11 Humunkulus from 1979]) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-19 14:07 -0700
        Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov (Was: I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM]) Mild Shock <janburse@fastmail.fm> - 2026-07-20 08:31 +0200
          Re: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov (Was: I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM]) Romelio Balakhonsky <lrel@lao.ru> - 2026-07-20 10:07 +0000
            The Cache Identity Crisis by Micro Penis (Re: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov) Mild Shock <janburse@fastmail.fm> - 2026-07-20 13:51 +0200
              Just RTFM the RDNA 3.5 specs! [GPU Cache Lines] (Was: The Cache Identity Crisis by Micro Penis) Mild Shock <janburse@fastmail.fm> - 2026-07-20 14:09 +0200
                The large memory tax: ECC RAM (Was: Just RTFM the RDNA 3.5 specs! [GPU Cache Lines]) Mild Shock <janburse@fastmail.fm> - 2026-07-20 14:22 +0200
                Friendly Reminder: GPU 10x more performant than CPU (Re: Just RTFM the RDNA 3.5 specs! [GPU Cache Lines]) Mild Shock <janburse@fastmail.fm> - 2026-07-21 00:40 +0200
                  Breaking the CUDA edge in AI by WebGPU (Re: Friendly Reminder: GPU 10x more performant than CPU) Mild Shock <janburse@fastmail.fm> - 2026-07-21 00:57 +0200
                    Like WebAssembly before it, WebGPU has "escaped" the browser. (Re: Breaking the CUDA edge in AI by WebGPU (Re: Friendly Reminder: GPU 10x more performant than CPU) Mild Shock <janburse@fastmail.fm> - 2026-07-21 01:07 +0200
                    Re: Breaking the CUDA edge in AI by WebGPU (Re: Friendly Reminder: GPU 10x more performant than CPU) Will Bakshandaev <bev@lwesi.ru> - 2026-07-21 14:33 +0000
                      http://localhost:567921/ is a private REST endpoint [Teaching Micro Penis Vilage Idiot] (Was: Breaking the CUDA edge in AI by WebGPU) Mild Shock <janburse@fastmail.fm> - 2026-07-21 22:41 +0200
                        If you are paranoid you can use Falco [Agentic AI] (Re: http://localhost:567921/ is a private REST endpoint) Mild Shock <janburse@fastmail.fm> - 2026-07-21 22:57 +0200
                          What would an EMACs guru say [Windows Recall] (Was: If you are paranoid you can use Falco [Agentic AI]) Mild Shock <janburse@fastmail.fm> - 2026-07-21 23:33 +0200
                        Re: http://localhost:567921/ is a private REST endpoint [Teaching Micro Penis Vilage Idiot] (Was: Breaking the CUDA edge in AI by WebGPU) Hants Baibikov <vi@bi.ru> - 2026-07-21 21:51 +0000
                        Re: http://localhost:567921/ is a private REST endpoint [Teaching Micro Penis Vilage Idiot] (Was: Breaking the CUDA edge in AI by WebGPU) Pascual Talbaev <ps@laalapa.ru> - 2026-07-21 22:02 +0000
                        Decide what you critique tiny winy penis (Was: http://localhost:567921/ is a private REST endpoint) Mild Shock <janburse@fastmail.fm> - 2026-07-22 08:13 +0200
                          How confused is tiny winy penis? (Re: Decide what you critique tiny winy penis) Mild Shock <janburse@fastmail.fm> - 2026-07-22 08:29 +0200
                            Maybe change your hobby, become a dog owner? (Re: How confused is tiny winy penis?) Mild Shock <janburse@fastmail.fm> - 2026-07-22 09:38 +0200
                          Re: Decide what you critique tiny winy penis (Was: http://localhost:567921/ is a private REST endpoint) Audie Balaban <aie@ndabl.ru> - 2026-07-22 08:02 +0000
                            Even dogs know Switzerland != Germany [Syphilis Brain Micro Penis] (Re: Decide what you critique tiny winy penis (Was: http://localhost:567921/ is a private REST endpoint) Mild Shock <janburse@fastmail.fm> - 2026-07-22 11:17 +0200
                              Re: Even dogs know Switzerland != Germany [Syphilis Brain Micro Penis] (Re: Decide what you critique tiny winy penis (Was: http://localhost:567921/ is a private REST endpoint) Roque Bahtinov <aoqhi@hrot.ru> - 2026-07-22 12:04 +0000
                                My Swift Go 16 AI has no IMEI, are you nuts? (Was: Even dogs know Switzerland != Germany [Syphilis Brain Micro Penis]) Mild Shock <janburse@fastmail.fm> - 2026-07-22 14:12 +0200
                                  Same nickname and email, could post faster [5 year old moron] (Re: My Swift Go 16 AI has no IMEI, are you nuts?) Mild Shock <janburse@fastmail.fm> - 2026-07-22 14:24 +0200
                                  Re: My Swift Go 16 AI has no IMEI, are you nuts? (Was: Even dogs know Switzerland != Germany [Syphilis Brain Micro Penis]) Randolf Mukanov <mfroa@unvfo.ru> - 2026-07-22 12:27 +0000
                                    I have nothing to hide, you can find me in search.ch (Was: My Swift Go 16 AI has no IMEI, are you nuts?) Mild Shock <janburse@fastmail.fm> - 2026-07-22 14:31 +0200
                                      Re: I have nothing to hide, you can find me in search.ch (Was: My Swift Go 16 AI has no IMEI, are you nuts?) Keiv Babenchikov <hi@babebek.ru> - 2026-07-22 12:35 +0000
                                        Where did I confirm German via .ch, you are more than nuts! (Was: I have nothing to hide, you can find me in search.ch) Mild Shock <janburse@fastmail.fm> - 2026-07-22 14:46 +0200
                                          Ask a Ukrainian Neighbour to do Detective [CCCP Troll] (Was: Where did I confirm German via .ch, you are more than nuts!) Mild Shock <janburse@fastmail.fm> - 2026-07-22 14:51 +0200
                                            Re: Ask a Ukrainian Neighbour to do Detective [CCCP Troll] (Was: Where did I confirm German via .ch, you are more than nuts!) Hudson Patrianakos <nrin@odrtta.gr> - 2026-07-22 16:10 +0000
              Re: The Cache Identity Crisis by Micro Penis (Re: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov) Jeiker Makulov <rmkru@eeeamu.ru> - 2026-07-20 16:18 +0000
                L1,..,Ln caches are located on the CPU AND on the GPU (Was: The Cache Identity Crisis by Micro Penis) Mild Shock <janburse@fastmail.fm> - 2026-07-20 19:33 +0200
                  GPU Cache Hierarchy: Understanding L1, L2, and VRAM (Re: L1,..,Ln caches are located on the CPU AND on the GPU) Mild Shock <janburse@fastmail.fm> - 2026-07-20 19:42 +0200
                    Re: GPU Cache Hierarchy: Understanding L1, L2, and VRAM (Re: L1,..,Ln caches are located on the CPU AND on the GPU) Zackee Mulatov <azauv@omtla.ru> - 2026-07-20 19:09 +0000
                      Well thats good, co-location, onto the same processor die (Was: GPU Cache Hierarchy: Understanding L1, L2, and VRAM) Mild Shock <janburse@fastmail.fm> - 2026-07-20 22:02 +0200
                        Where is micro penis mental error? (Re: Well thats good, co-location, onto the same processor die) Mild Shock <janburse@fastmail.fm> - 2026-07-20 22:07 +0200
                        Re: Well thats good, co-location, onto the same processor die (Was: GPU Cache Hierarchy: Understanding L1, L2, and VRAM) Hermis Molochkov <me@olech.ru> - 2026-07-20 22:27 +0000
          Re: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov (Was: I'm a spinner, I'm a sinner [Dmitry Vyukov for pi-WAM]) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-20 13:40 -0700
            I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov) Mild Shock <janburse@fastmail.fm> - 2026-07-20 23:25 +0200
              Re: I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-20 14:32 -0700
                Re: I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-20 14:35 -0700
                  There is no imageAtomicAdd in WGSL (Was: I didn't find Futex in WebGPU / WGSL) Mild Shock <janburse@fastmail.fm> - 2026-07-21 00:12 +0200
                    OpenGL is dead. Apple said bye bye / Wayland Compositor (Was: There is no imageAtomicAdd in WGSL) Mild Shock <janburse@fastmail.fm> - 2026-07-21 00:24 +0200
                    Re: There is no imageAtomicAdd in WGSL (Was: I didn't find Futex in WebGPU / WGSL) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-20 16:15 -0700
                      Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL) Mild Shock <janburse@fastmail.fm> - 2026-07-21 01:24 +0200
                        imageAtomicAdd trivial, Dmitry Vyukov requires capacity (Re: Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL) Mild Shock <janburse@fastmail.fm> - 2026-07-21 01:32 +0200
                          capacity = 2^n for some n / systolic system (Was: imageAtomicAdd trivial, Dmitry Vyukov requires capacity) Mild Shock <janburse@fastmail.fm> - 2026-07-21 01:37 +0200
                            Source of the benchmark for DmitryVyukov (Re: capacity = 2^n for some n / systolic system) Mild Shock <janburse@fastmail.fm> - 2026-07-21 01:45 +0200
                          Re: imageAtomicAdd trivial, Dmitry Vyukov requires capacity (Re: Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-20 17:00 -0700
                            I never used OpenGL Version 4.2 and later (Re: imageAtomicAdd trivial, Dmitry Vyukov requires capacity) Mild Shock <janburse@fastmail.fm> - 2026-07-21 08:49 +0200
                              Because of MIMD you have to reassess algorithms (Was: I never used OpenGL Version 4.2 and later) Mild Shock <janburse@fastmail.fm> - 2026-07-21 08:59 +0200
                                Why MIMD is interesting for pi-WAM? Mild Shock <janburse@fastmail.fm> - 2026-07-21 09:16 +0200
                                  Re: Why MIMD is interesting for pi-WAM? Ross Finlayson <ross.a.finlayson@gmail.com> - 2026-07-21 00:32 -0700
                                Re: Because of MIMD you have to reassess algorithms (Was: I never used OpenGL Version 4.2 and later) Ross Finlayson <ross.a.finlayson@gmail.com> - 2026-07-21 00:42 -0700
                                  You still don't understand "budget" [Rossy Boy slower than Micro Penis] (Was: Because of MIMD you have to reassess algorithms) Mild Shock <janburse@fastmail.fm> - 2026-07-21 10:13 +0200
                                    Go on Rossy Boy, ask more stupid questions (Was: You still don't understand "budget" [Rossy Boy slower than Micro Penis]) Mild Shock <janburse@fastmail.fm> - 2026-07-21 10:17 +0200
                                      Need to be Einstein to understand Giga Lips (Was: Go on Rossy Boy, ask more stupid questions) Mild Shock <janburse@fastmail.fm> - 2026-07-21 10:22 +0200
                                        Marketing invents Gucci Bag AI Laptops (Was: Need to be Einstein to understand Giga Lips) Mild Shock <janburse@fastmail.fm> - 2026-07-21 10:43 +0200
                                      Re: Go on Rossy Boy, ask more stupid questions (Was: You still don't understand "budget" [Rossy Boy slower than Micro Penis]) Ross Finlayson <ross.a.finlayson@gmail.com> - 2026-07-21 08:59 -0700
                                        Rossy Boy says I am a crazy frothing lunatic (Was: Go on Rossy Boy, ask more stupid questions) Mild Shock <janburse@fastmail.fm> - 2026-07-21 22:27 +0200
                                          Re: Rossy Boy says I am a crazy frothing lunatic (Was: Go on Rossy Boy, ask more stupid questions) Ross Finlayson <ross.a.finlayson@gmail.com> - 2026-07-21 13:52 -0700
                                  Do you see the loops, in C code and in Java code? /** Looping **/ (Re: Because of MIMD you have to reassess algorithms) Mild Shock <janburse@fastmail.fm> - 2026-07-23 00:10 +0200
                                    Re: Do you see the loops, in C code and in Java code? /** Looping **/ (Re: Because of MIMD you have to reassess algorithms) Lane W <cactus_DAC@yahoo.com> - 2026-07-22 16:23 -0600
                                      regreting not using a contraceptive (Was: Do you see the loops, in C code and in Java code? /** Looping **/) Mild Shock <janburse@fastmail.fm> - 2026-07-23 00:51 +0200
                                        Re: regreting not using a contraceptive (Was: Do you see the loops, in C code and in Java code? /** Looping **/) Lane W <cactus_DAC@yahoo.com> - 2026-07-22 17:13 -0600
                                          Re: regreting not using a contraceptive (Was: Do you see the loops, in C code and in Java code? /** Looping **/) "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-07-22 18:23 -0700

Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →


#671509 — I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-20 23:25 +0200
SubjectI didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov)
Message-ID<113m3no$5496$1@solani.org>
In reply to#671508
Hi,

I didn't find Futex in WebGPU / WGSL.
The website WebGPU fundamentals is on
GitHub. I did a search here:

https://github.com/webgpu/webgpufundamentals

In Java I can use Doug Leas queue.
In WebGPU / WGSL I will mostlikely
adopt Dmitry Vyukov , for a first stab.

Who is Doug lea?

He wrote Concurrent Programming in
Java: Design Principles and Patterns
https://en.wikipedia.org/wiki/Doug_Lea

He is behind most of the concurrency promitives
in Java. Including the array backed queue that
I tested. Remember the results I had:

public class DmitryVyukov
8 ms
public class DougLea
10 ms

Bye

Chris M. Thomasson schrieb:
> On 7/19/2026 11:31 PM, Mild Shock wrote:
>> Hi,
>>
>> Its actually quite amazing. Gemini, DeepSeek,
>> OpenAI all know Dmitriy V'jukov. I have asked
>> the IntelliJ integrated Freeium AI to generate
>>
>> some code for me, I guess their service uses
>> by default OpenAI (Codex), and had it reviewed
>> by Gemini and DeepSeek. These AIs started lecturing
>>
>> me about lazySet() in Java. But I went with set():
>>
>>      private static boolean enqueue(Queue q, Object data) {
>>          int pos = q.enqueuePos.get();
>>          for (; ; ) {
>>              int index = pos & q.bufferMask;
>>              int seq = q.sequences.get(index);
>>              int dif = seq - pos;
>>              if (dif == 0) {
>>                  if (q.enqueuePos.compareAndSet(pos, pos + 1)) {
>>                      q.data[index] = data;
>>                      q.sequences.set(index, pos + 1);
>>                      return true;
>>                  }
>>                  pos = q.enqueuePos.get();
>>              } else if (dif < 0) {
>>                  return false;
>>              } else {
>>                  pos = q.enqueuePos.get();
>>              }
>>          }
>>      }
>>
>> The above version seems to be more suitable
>> for my purpose, since it allows polling, it
>> basically implements offer(). While the
>>
>> version posted on in the lock free group
>> by Chris M. Thomasson implements a spin wait
>> blocking put() already.
> 
> That had to be my bakery algo version for the bounded buffer. Now, it 
> can avoid the spin wait with a futex, BUT, we have to be careful. 
> Working with lock/wait-free algos, we need to know what we are doing. I 
> happen to have a lot of experience with them.
> 
> If you read my conversation with my friend, we can mix and match the CAS 
> version and my XADD version on demand.
> 
> [...]

[toc] | [prev] | [next] | [standalone]


#671510 — Re: I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov)

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2026-07-20 14:32 -0700
SubjectRe: I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov)
Message-ID<113m45s$1gup3$1@dont-email.me>
In reply to#671509
On 7/20/2026 2:25 PM, Mild Shock wrote:
> Hi,
> 
> I didn't find Futex in WebGPU / WGSL.
> The website WebGPU fundamentals is on
> GitHub. I did a search here:
> 
> https://github.com/webgpu/webgpufundamentals
> 
> In Java I can use Doug Leas queue.
> In WebGPU / WGSL I will mostlikely
> adopt Dmitry Vyukov , for a first stab.
> 
> Who is Doug lea?
> 
> He wrote Concurrent Programming in
> Java: Design Principles and Patterns
> https://en.wikipedia.org/wiki/Doug_Lea

A futex:

https://www.man7.org/linux/man-pages/man2/futex.2.html

For a compute shader? Afaict, no need for it at all. Actually, strive to 
avoid any atomic RMW! It can be done, but if you really need it:

imageAtomicAdd is a damn good one for accumulation buffers.

An example from some of my compute shader code:

void add_hit(ct_plane2d plane, vec2 p, vec3 weight)
{
     vec2 uv = ct_plane2d_unproject(plane, p);
     ivec2 px = ivec2(uv * u_resolution);

     if (px.x >= 0 && px.x < int(u_resolution.x) &&
         px.y >= 0 && px.y < int(u_resolution.y))
     {
         imageAtomicAdd(accum_r,    px, weight.r);
         imageAtomicAdd(accum_g,    px, weight.g);
         imageAtomicAdd(accum_b,    px, weight.b);
         imageAtomicAdd(accum_hits, px, 1.0f);
     }
}

[...]

[toc] | [prev] | [next] | [standalone]


#671511 — Re: I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov)

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2026-07-20 14:35 -0700
SubjectRe: I didn't find Futex in WebGPU / WGSL (Was: Gemini, DeepSeek, OpenAI all know Dmitriy V'jukov)
Message-ID<113m4bi$1gvs1$1@dont-email.me>
In reply to#671510
On 7/20/2026 2:32 PM, Chris M. Thomasson wrote:
> On 7/20/2026 2:25 PM, Mild Shock wrote:
>> Hi,
>>
>> I didn't find Futex in WebGPU / WGSL.
>> The website WebGPU fundamentals is on
>> GitHub. I did a search here:
>>
>> https://github.com/webgpu/webgpufundamentals
>>
>> In Java I can use Doug Leas queue.
>> In WebGPU / WGSL I will mostlikely
>> adopt Dmitry Vyukov , for a first stab.
>>
>> Who is Doug lea?
>>
>> He wrote Concurrent Programming in
>> Java: Design Principles and Patterns
>> https://en.wikipedia.org/wiki/Doug_Lea
> 
> A futex:
> 
> https://www.man7.org/linux/man-pages/man2/futex.2.html
> 
> For a compute shader? Afaict, no need for it at all. Actually, strive to 
> avoid any atomic RMW! It can be done, but if you really need it:
> 
> imageAtomicAdd is a damn good one for accumulation buffers.
> 
> An example from some of my compute shader code:
> 
> void add_hit(ct_plane2d plane, vec2 p, vec3 weight)
> {
>      vec2 uv = ct_plane2d_unproject(plane, p);
>      ivec2 px = ivec2(uv * u_resolution);
> 
>      if (px.x >= 0 && px.x < int(u_resolution.x) &&
>          px.y >= 0 && px.y < int(u_resolution.y))
>      {
>          imageAtomicAdd(accum_r,    px, weight.r);
>          imageAtomicAdd(accum_g,    px, weight.g);
>          imageAtomicAdd(accum_b,    px, weight.b);
>          imageAtomicAdd(accum_hits, px, 1.0f);
>      }
> }
> 
> [...]

You don't really want to "wait" for anything in a compute shader. If you 
must use CAS use it as a state machine. Not a damn loop. If you can 
manage it.

[toc] | [prev] | [next] | [standalone]


#671512 — There is no imageAtomicAdd in WGSL (Was: I didn't find Futex in WebGPU / WGSL)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 00:12 +0200
SubjectThere is no imageAtomicAdd in WGSL (Was: I didn't find Futex in WebGPU / WGSL)
Message-ID<113m6gm$561a$1@solani.org>
In reply to#671511
Hi,

Hi,

I am developing agains WebGPU / WGSL.
And overview of WebGPU / WGSL is found here:

https://github.com/webgpu/webgpufundamentals

There is no imageAtomicAdd in WGSL.
imageAtomicAdd is from WebGL / GLSL.

These are two different things:

WebGPU / WGSL : Wrapper for Vulcan, Direct 12, or Metal
WebGL / GLSL : Wrapper for OpenGL

Chris M. Thomasson schrieb:
> On 7/20/2026 2:32 PM, Chris M. Thomasson wrote:
>> On 7/20/2026 2:25 PM, Mild Shock wrote:
>>> Hi,
>>>
>>> I didn't find Futex in WebGPU / WGSL.
>>> The website WebGPU fundamentals is on
>>> GitHub. I did a search here:
>>>
>>> https://github.com/webgpu/webgpufundamentals
>>>
>>> In Java I can use Doug Leas queue.
>>> In WebGPU / WGSL I will mostlikely
>>> adopt Dmitry Vyukov , for a first stab.
>>>
>>> Who is Doug lea?
>>>
>>> He wrote Concurrent Programming in
>>> Java: Design Principles and Patterns
>>> https://en.wikipedia.org/wiki/Doug_Lea
>>
>> A futex:
>>
>> https://www.man7.org/linux/man-pages/man2/futex.2.html
>>
>> For a compute shader? Afaict, no need for it at all. Actually, strive 
>> to avoid any atomic RMW! It can be done, but if you really need it:
>>
>> imageAtomicAdd is a damn good one for accumulation buffers.
>>
>> An example from some of my compute shader code:
>>
>> void add_hit(ct_plane2d plane, vec2 p, vec3 weight)
>> {
>>      vec2 uv = ct_plane2d_unproject(plane, p);
>>      ivec2 px = ivec2(uv * u_resolution);
>>
>>      if (px.x >= 0 && px.x < int(u_resolution.x) &&
>>          px.y >= 0 && px.y < int(u_resolution.y))
>>      {
>>          imageAtomicAdd(accum_r,    px, weight.r);
>>          imageAtomicAdd(accum_g,    px, weight.g);
>>          imageAtomicAdd(accum_b,    px, weight.b);
>>          imageAtomicAdd(accum_hits, px, 1.0f);
>>      }
>> }
>>
>> [...]
> 
> You don't really want to "wait" for anything in a compute shader. If you 
> must use CAS use it as a state machine. Not a damn loop. If you can 
> manage it.

[toc] | [prev] | [next] | [standalone]


#671513 — OpenGL is dead. Apple said bye bye / Wayland Compositor (Was: There is no imageAtomicAdd in WGSL)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 00:24 +0200
SubjectOpenGL is dead. Apple said bye bye / Wayland Compositor (Was: There is no imageAtomicAdd in WGSL)
Message-ID<113m77f$56ca$1@solani.org>
In reply to#671512
Hi,

Apple officially deprecated OpenGL and
OpenGL ES back in macOS 10.14 (Mojave) in
2018 and iOS 12, sunsetting native
support in favor of Metal.

And then in the Windows and Linux world,
for surface management, there is Wayland
Compositor. But new GPUs that share system
memory, also help here.

Open-Source Drivers (amdgpu & mesa):
Unlike NVIDIA's historical proprietary
hurdles, AMD's graphics drivers are fully
open-source and built directly into
the Linux kernel and Mesa.

Native GBM Support: AMD's driver stack
natively and cleanly implements GBM
(Generic Buffer Management) and DRM/KMS,
which is the exact standard modern
Wayland compositors (like GNOME/Mutter,
KDE/KWin, Sway, and Hyprland) rely on
to allocate buffers and manage displays.

Unified Memory (APU Advantage): Because
an AMD APU shares system RAM between
the CPU and the integrated GPU, zero-copy
buffer sharing under Wayland is
exceptionally efficient.

Bye

Mild Shock schrieb:
> Hi,
> 
> Hi,
> 
> I am developing agains WebGPU / WGSL.
> And overview of WebGPU / WGSL is found here:
> 
> https://github.com/webgpu/webgpufundamentals
> 
> There is no imageAtomicAdd in WGSL.
> imageAtomicAdd is from WebGL / GLSL.
> 
> These are two different things:
> 
> WebGPU / WGSL : Wrapper for Vulcan, Direct 12, or Metal
> WebGL / GLSL : Wrapper for OpenGL
> 
> Chris M. Thomasson schrieb:
>> On 7/20/2026 2:32 PM, Chris M. Thomasson wrote:
>>> On 7/20/2026 2:25 PM, Mild Shock wrote:
>>>> Hi,
>>>>
>>>> I didn't find Futex in WebGPU / WGSL.
>>>> The website WebGPU fundamentals is on
>>>> GitHub. I did a search here:
>>>>
>>>> https://github.com/webgpu/webgpufundamentals
>>>>
>>>> In Java I can use Doug Leas queue.
>>>> In WebGPU / WGSL I will mostlikely
>>>> adopt Dmitry Vyukov , for a first stab.
>>>>
>>>> Who is Doug lea?
>>>>
>>>> He wrote Concurrent Programming in
>>>> Java: Design Principles and Patterns
>>>> https://en.wikipedia.org/wiki/Doug_Lea
>>>
>>> A futex:
>>>
>>> https://www.man7.org/linux/man-pages/man2/futex.2.html
>>>
>>> For a compute shader? Afaict, no need for it at all. Actually, strive 
>>> to avoid any atomic RMW! It can be done, but if you really need it:
>>>
>>> imageAtomicAdd is a damn good one for accumulation buffers.
>>>
>>> An example from some of my compute shader code:
>>>
>>> void add_hit(ct_plane2d plane, vec2 p, vec3 weight)
>>> {
>>>      vec2 uv = ct_plane2d_unproject(plane, p);
>>>      ivec2 px = ivec2(uv * u_resolution);
>>>
>>>      if (px.x >= 0 && px.x < int(u_resolution.x) &&
>>>          px.y >= 0 && px.y < int(u_resolution.y))
>>>      {
>>>          imageAtomicAdd(accum_r,    px, weight.r);
>>>          imageAtomicAdd(accum_g,    px, weight.g);
>>>          imageAtomicAdd(accum_b,    px, weight.b);
>>>          imageAtomicAdd(accum_hits, px, 1.0f);
>>>      }
>>> }
>>>
>>> [...]
>>
>> You don't really want to "wait" for anything in a compute shader. If 
>> you must use CAS use it as a state machine. Not a damn loop. If you 
>> can manage it.
> 

[toc] | [prev] | [next] | [standalone]


#671518 — Re: There is no imageAtomicAdd in WGSL (Was: I didn't find Futex in WebGPU / WGSL)

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2026-07-20 16:15 -0700
SubjectRe: There is no imageAtomicAdd in WGSL (Was: I didn't find Futex in WebGPU / WGSL)
Message-ID<113ma5t$1il9q$1@dont-email.me>
In reply to#671512
On 7/20/2026 3:12 PM, Mild Shock wrote:
> Hi,
> 
> Hi,
> 
> I am developing agains WebGPU / WGSL.
> And overview of WebGPU / WGSL is found here:
> 
> https://github.com/webgpu/webgpufundamentals
> 
> There is no imageAtomicAdd in WGSL.
> imageAtomicAdd is from WebGL / GLSL.
> 
> These are two different things:
> 
> WebGPU / WGSL : Wrapper for Vulcan, Direct 12, or Metal
> WebGL / GLSL : Wrapper for OpenGL
> 
> Chris M. Thomasson schrieb:
>> On 7/20/2026 2:32 PM, Chris M. Thomasson wrote:
>>> On 7/20/2026 2:25 PM, Mild Shock wrote:
>>>> Hi,
>>>>
>>>> I didn't find Futex in WebGPU / WGSL.
>>>> The website WebGPU fundamentals is on
>>>> GitHub. I did a search here:
>>>>
>>>> https://github.com/webgpu/webgpufundamentals
>>>>
>>>> In Java I can use Doug Leas queue.
>>>> In WebGPU / WGSL I will mostlikely
>>>> adopt Dmitry Vyukov , for a first stab.
>>>>
>>>> Who is Doug lea?
>>>>
>>>> He wrote Concurrent Programming in
>>>> Java: Design Principles and Patterns
>>>> https://en.wikipedia.org/wiki/Doug_Lea
>>>
>>> A futex:
>>>
>>> https://www.man7.org/linux/man-pages/man2/futex.2.html
>>>
>>> For a compute shader? Afaict, no need for it at all. Actually, strive 
>>> to avoid any atomic RMW! It can be done, but if you really need it:
>>>
>>> imageAtomicAdd is a damn good one for accumulation buffers.
>>>
>>> An example from some of my compute shader code:
>>>
>>> void add_hit(ct_plane2d plane, vec2 p, vec3 weight)
>>> {
>>>      vec2 uv = ct_plane2d_unproject(plane, p);
>>>      ivec2 px = ivec2(uv * u_resolution);
>>>
>>>      if (px.x >= 0 && px.x < int(u_resolution.x) &&
>>>          px.y >= 0 && px.y < int(u_resolution.y))
>>>      {
>>>          imageAtomicAdd(accum_r,    px, weight.r);
>>>          imageAtomicAdd(accum_g,    px, weight.g);
>>>          imageAtomicAdd(accum_b,    px, weight.b);
>>>          imageAtomicAdd(accum_hits, px, 1.0f);
>>>      }
>>> }
>>>
>>> [...]
>>
>> You don't really want to "wait" for anything in a compute shader. If 
>> you must use CAS use it as a state machine. Not a damn loop. If you 
>> can manage it.
> 

WebGL has compute shaders, right? So, imageAtomicAdd works.

[toc] | [prev] | [next] | [standalone]


#671519 — Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 01:24 +0200
SubjectFlogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL)
Message-ID<113manb$4kfp$1@solani.org>
In reply to#671518
Hi,

But I am nowhere using WebGL / GLSL.
The experiment here GPU versus CPU,
was done with WebGPU / WGSL:

11.4 Giga Lips with a Budget Laptop
https://github.com/Jean-Luc-Picard-2021/gigabudget

Parallel π-WAM: 1.7 Giga Lips on a CPU
https://medium.com/2989/8a984e75af44

I do not intend to redo the experiment
"gigabudget" with WebGL / GSLS. It would
appear to me like flogging a dead horse,

a technology that has reached EOL, namely
OpenGL which is in the phase of end of lifetime.

Bye

Chris M. Thomasson schrieb:
> WebGL has compute shaders, right? So, imageAtomicAdd works.

[toc] | [prev] | [next] | [standalone]


#671520 — imageAtomicAdd trivial, Dmitry Vyukov requires capacity (Re: Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 01:32 +0200
SubjectimageAtomicAdd trivial, Dmitry Vyukov requires capacity (Re: Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL)
Message-ID<113mb62$4krr$1@solani.org>
In reply to#671519
Hi,

imageAtomicAdd is trivial, but it does
not help with bounded buffers. I already
did imageAtomicAdd, in an experiment,

where pi-WAM implemented an in and out
buffer as follows in Java, which can
be trivially ported to WebGPU / WGSL,

by using atomic(i32) and AtomicAdd:

    private static final class PiChan {
         private int[] buf;
         private AtomicInteger pos;
     }

     private static final class PiWam {
         private PiChan in;
	Etc...
     }

    case 5: /* in */
         int at = pi.in.pos.getAndAdd(obj);
         for (int i = 0; i < obj; i++)
              pi.state[offset + i] = pi.in.buf[at + i];
         return 0;

But this is not the same like Dmitry
Vyukov buffer. Which has a maximum
capacity, and fails to go beyond this

capacity filling a buffer by a producer,
before a consumer made the buffer not
full again. My requirement for pi-WAM

are bounded buffers with a finite capacity.

Bye

Mild Shock schrieb:
> Hi,
> 
> But I am nowhere using WebGL / GLSL.
> The experiment here GPU versus CPU,
> was done with WebGPU / WGSL:
> 
> 11.4 Giga Lips with a Budget Laptop
> https://github.com/Jean-Luc-Picard-2021/gigabudget
> 
> Parallel π-WAM: 1.7 Giga Lips on a CPU
> https://medium.com/2989/8a984e75af44
> 
> I do not intend to redo the experiment
> "gigabudget" with WebGL / GSLS. It would
> appear to me like flogging a dead horse,
> 
> a technology that has reached EOL, namely
> OpenGL which is in the phase of end of lifetime.
> 
> Bye
> 
> Chris M. Thomasson schrieb:
>> WebGL has compute shaders, right? So, imageAtomicAdd works.
> 

[toc] | [prev] | [next] | [standalone]


#671521 — capacity = 2^n for some n / systolic system (Was: imageAtomicAdd trivial, Dmitry Vyukov requires capacity)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 01:37 +0200
Subjectcapacity = 2^n for some n / systolic system (Was: imageAtomicAdd trivial, Dmitry Vyukov requires capacity)
Message-ID<113mbg5$4kvj$1@solani.org>
In reply to#671520
Hi,

I am still singing this song:

"I'm a spinner, I'm a sinner
I spin on CAS loops for my dinner
Some call it busy-wait, I call it fate
When the queue is empty, I just rotate"

In Dmitry Vyukov multiple producer and
multiple consuer, the assumption is
that the capacity is a multiple power

of 2. This way some inveriants hold
computing seq - pos, even of the i32
arithmetc overflows, the difference

will still be in the interval -capacity
... capacity , as the AI chat bot explained
me. The initialization of a Dmitry Vyukov

then doesn't store capacity itself, but
a mask derived from capacity:

     private static void init(Queue q, int size) {
         q.bufferMask = size - 1;
         q.sequences = new AtomicIntegerArray(size);
         for (int i = 0; i < size; i++)
             q.sequences.set(i, i);
         q.data = new Object[size];
         q.enqueuePos = new AtomicInteger(0);
         q.dequeuePos = new AtomicInteger(0);
     }

I cannot use imageAtomicAdd, which wouldn't
have a finite capacity. But as you see
I have already a prototype of a Queue

with a finite capacity. And the results
for a systolic system are quite good:

public class DmitryVyukov
8 ms
public class DougLea
10 ms

Have Fun!

Bye

Mild Shock schrieb:
> Hi,
> 
> imageAtomicAdd is trivial, but it does
> not help with bounded buffers. I already
> did imageAtomicAdd, in an experiment,
> 
> where pi-WAM implemented an in and out
> buffer as follows in Java, which can
> be trivially ported to WebGPU / WGSL,
> 
> by using atomic(i32) and AtomicAdd:
> 
>     private static final class PiChan {
>          private int[] buf;
>          private AtomicInteger pos;
>      }
> 
>      private static final class PiWam {
>          private PiChan in;
>      Etc...
>      }
> 
>     case 5: /* in */
>          int at = pi.in.pos.getAndAdd(obj);
>          for (int i = 0; i < obj; i++)
>               pi.state[offset + i] = pi.in.buf[at + i];
>          return 0;
> 
> But this is not the same like Dmitry
> Vyukov buffer. Which has a maximum
> capacity, and fails to go beyond this
> 
> capacity filling a buffer by a producer,
> before a consumer made the buffer not
> full again. My requirement for pi-WAM
> 
> are bounded buffers with a finite capacity.
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> But I am nowhere using WebGL / GLSL.
>> The experiment here GPU versus CPU,
>> was done with WebGPU / WGSL:
>>
>> 11.4 Giga Lips with a Budget Laptop
>> https://github.com/Jean-Luc-Picard-2021/gigabudget
>>
>> Parallel π-WAM: 1.7 Giga Lips on a CPU
>> https://medium.com/2989/8a984e75af44
>>
>> I do not intend to redo the experiment
>> "gigabudget" with WebGL / GSLS. It would
>> appear to me like flogging a dead horse,
>>
>> a technology that has reached EOL, namely
>> OpenGL which is in the phase of end of lifetime.
>>
>> Bye
>>
>> Chris M. Thomasson schrieb:
>>> WebGL has compute shaders, right? So, imageAtomicAdd works.
>>
> 

[toc] | [prev] | [next] | [standalone]


#671522 — Source of the benchmark for DmitryVyukov (Re: capacity = 2^n for some n / systolic system)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 01:45 +0200
SubjectSource of the benchmark for DmitryVyukov (Re: capacity = 2^n for some n / systolic system)
Message-ID<113mbul$4kvj$6@solani.org>
In reply to#671521
     private static final int WORK = 8192;
     private static final int NECK = 128;

     private static void producer(Queue q) {
         for (int i = 0; i < WORK; i++) {
             Integer val = Integer.valueOf(i);
             while (!enqueue(q, val)) ;
         }
     }

     private static void consumer(Queue q) {
         for (;;) {
             Integer val;
             while ((val = (Integer) dequeue(q)) == null) ;
             if (val.intValue() == WORK-1)
                 break;
         }
     }

     public static void main(String[] args) throws InterruptedException {
         Queue q = new Queue();
         init(q, NECK);
         long tms = System.currentTimeMillis();
         Thread[] threads = new Thread[4];
         for (int i = 0; i < 4; i++) {
             Thread thread;
             if (i < 2) {
                 thread = new Thread(() -> producer(q));
             } else {
                 thread = new Thread(() -> consumer(q));
             }
             threads[i] = thread;
             thread.start();
         }
         for (int i = 0; i < 4; i++) {
             Thread thread = threads[i];
             thread.join();
         }
         System.out.println((System.currentTimeMillis() - tms)+" ms");
     }



Mild Shock schrieb:
> Hi,
> 
> I am still singing this song:
> 
> "I'm a spinner, I'm a sinner
> I spin on CAS loops for my dinner
> Some call it busy-wait, I call it fate
> When the queue is empty, I just rotate"
> 
> In Dmitry Vyukov multiple producer and
> multiple consuer, the assumption is
> that the capacity is a multiple power
> 
> of 2. This way some inveriants hold
> computing seq - pos, even of the i32
> arithmetc overflows, the difference
> 
> will still be in the interval -capacity
> ... capacity , as the AI chat bot explained
> me. The initialization of a Dmitry Vyukov
> 
> then doesn't store capacity itself, but
> a mask derived from capacity:
> 
>      private static void init(Queue q, int size) {
>          q.bufferMask = size - 1;
>          q.sequences = new AtomicIntegerArray(size);
>          for (int i = 0; i < size; i++)
>              q.sequences.set(i, i);
>          q.data = new Object[size];
>          q.enqueuePos = new AtomicInteger(0);
>          q.dequeuePos = new AtomicInteger(0);
>      }
> 
> I cannot use imageAtomicAdd, which wouldn't
> have a finite capacity. But as you see
> I have already a prototype of a Queue
> 
> with a finite capacity. And the results
> for a systolic system are quite good:
> 
> public class DmitryVyukov
> 8 ms
> public class DougLea
> 10 ms
> 
> Have Fun!
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> imageAtomicAdd is trivial, but it does
>> not help with bounded buffers. I already
>> did imageAtomicAdd, in an experiment,
>>
>> where pi-WAM implemented an in and out
>> buffer as follows in Java, which can
>> be trivially ported to WebGPU / WGSL,
>>
>> by using atomic(i32) and AtomicAdd:
>>
>>     private static final class PiChan {
>>          private int[] buf;
>>          private AtomicInteger pos;
>>      }
>>
>>      private static final class PiWam {
>>          private PiChan in;
>>      Etc...
>>      }
>>
>>     case 5: /* in */
>>          int at = pi.in.pos.getAndAdd(obj);
>>          for (int i = 0; i < obj; i++)
>>               pi.state[offset + i] = pi.in.buf[at + i];
>>          return 0;
>>
>> But this is not the same like Dmitry
>> Vyukov buffer. Which has a maximum
>> capacity, and fails to go beyond this
>>
>> capacity filling a buffer by a producer,
>> before a consumer made the buffer not
>> full again. My requirement for pi-WAM
>>
>> are bounded buffers with a finite capacity.
>>
>> Bye
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> But I am nowhere using WebGL / GLSL.
>>> The experiment here GPU versus CPU,
>>> was done with WebGPU / WGSL:
>>>
>>> 11.4 Giga Lips with a Budget Laptop
>>> https://github.com/Jean-Luc-Picard-2021/gigabudget
>>>
>>> Parallel π-WAM: 1.7 Giga Lips on a CPU
>>> https://medium.com/2989/8a984e75af44
>>>
>>> I do not intend to redo the experiment
>>> "gigabudget" with WebGL / GSLS. It would
>>> appear to me like flogging a dead horse,
>>>
>>> a technology that has reached EOL, namely
>>> OpenGL which is in the phase of end of lifetime.
>>>
>>> Bye
>>>
>>> Chris M. Thomasson schrieb:
>>>> WebGL has compute shaders, right? So, imageAtomicAdd works.
>>>
>>
> 

[toc] | [prev] | [next] | [standalone]


#671523 — Re: imageAtomicAdd trivial, Dmitry Vyukov requires capacity (Re: Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL)

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2026-07-20 17:00 -0700
SubjectRe: imageAtomicAdd trivial, Dmitry Vyukov requires capacity (Re: Flogging a Dead Horse, OpenGL is EOL (Was: There is no imageAtomicAdd in WGSL)
Message-ID<113mcq5$1j9n2$2@dont-email.me>
In reply to#671520
On 7/20/2026 4:32 PM, Mild Shock wrote:
> Hi,
> 
> imageAtomicAdd is trivial, but it does
> not help with bounded buffers. 
[...]

Are you sure about that! ;^o

[toc] | [prev] | [next] | [standalone]


#671524 — I never used OpenGL Version 4.2 and later (Re: imageAtomicAdd trivial, Dmitry Vyukov requires capacity)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 08:49 +0200
SubjectI never used OpenGL Version 4.2 and later (Re: imageAtomicAdd trivial, Dmitry Vyukov requires capacity)
Message-ID<113n4qm$5oih$2@solani.org>
In reply to#671523
Hi,

I went to holdays in June 2026, had an idea for
a pi-WAM based on a Hack, the later is described here:

Emulating π-WAM in Dogelog Player
https://medium.com/2989/de9cd29c7d37

The Elements of Computing Systems
https://mitpress.mit.edu/9780262539807

In July 2026 I did the CPU and GPU experiments,
moving from emulator to native executor based in
realizing Hack as a concrete virtual machine,

and not as an abstract machine emulated in Prolog.
The GPU experiments were done in WebGPU / WGSL.
So no, I never used OpenGL Version 4.2 and later.

Also the name imageAtomicAdd indicates that
imageAtomicAdd is rather from a render shader,
while my GPU experiment uses a compute shader.

Especially I need GPU compute shaders, which
are not executed in lock step, but rather have
indepdendent thread state, also known as MIMD.

"In computing, multiple instruction, multiple
data (MIMD) is a technique employed to
achieve parallelism. "
https://en.wikipedia.org/wiki/Multiple_instruction,_multiple_data

MIMID showed up 2017 with NVIDIA Volta cards.
But is now realized by Intel Arc, Snapdragon Adreno,
AMD RDNA and Apple Silicon as well.

Bye

Chris M. Thomasson schrieb:
> On 7/20/2026 4:32 PM, Mild Shock wrote:
>> Hi,
>>
>> imageAtomicAdd is trivial, but it does
>> not help with bounded buffers. 
> [...]
> 
> Are you sure about that! ;^o

[toc] | [prev] | [next] | [standalone]


#671525 — Because of MIMD you have to reassess algorithms (Was: I never used OpenGL Version 4.2 and later)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 08:59 +0200
SubjectBecause of MIMD you have to reassess algorithms (Was: I never used OpenGL Version 4.2 and later)
Message-ID<113n5c6$5ouq$1@solani.org>
In reply to#671524
Hi,

Because of MIMD you have to reassess algorithms.
A spin loop which could really hurt non-MIMD
GPUs, might less hurt a MIMD GPU.

Basically you have to reassess algorithms. Be
very exact whether your claims relates to
non-MIMD or to MIMD. You can toy around

with WebGL, mainly made for non-MIMD, here:

https://www.shadertoy.com/

and with WegGPU, mainly made for MIMD, here:

https://compute.toys/

The compute toys page, supports two shader
languages, WGSL and Slang. I made my GPU
experiments only with WGSL.

So I don't know Slang either. Things I
don't know in the GPU world are:

- OpenGL 4.2 and later
- Slang https://shader-slang.org/

Things I have meanwhile hands on, and which
I plan to integrate into library(edge/brainfog):

- WGSL https://webgpufundamentals.org/

Bye

Mild Shock schrieb:
> Hi,
> 
> I went to holdays in June 2026, had an idea for
> a pi-WAM based on a Hack, the later is described here:
> 
> Emulating π-WAM in Dogelog Player
> https://medium.com/2989/de9cd29c7d37
> 
> The Elements of Computing Systems
> https://mitpress.mit.edu/9780262539807
> 
> In July 2026 I did the CPU and GPU experiments,
> moving from emulator to native executor based in
> realizing Hack as a concrete virtual machine,
> 
> and not as an abstract machine emulated in Prolog.
> The GPU experiments were done in WebGPU / WGSL.
> So no, I never used OpenGL Version 4.2 and later.
> 
> Also the name imageAtomicAdd indicates that
> imageAtomicAdd is rather from a render shader,
> while my GPU experiment uses a compute shader.
> 
> Especially I need GPU compute shaders, which
> are not executed in lock step, but rather have
> indepdendent thread state, also known as MIMD.
> 
> "In computing, multiple instruction, multiple
> data (MIMD) is a technique employed to
> achieve parallelism. "
> https://en.wikipedia.org/wiki/Multiple_instruction,_multiple_data
> 
> MIMID showed up 2017 with NVIDIA Volta cards.
> But is now realized by Intel Arc, Snapdragon Adreno,
> AMD RDNA and Apple Silicon as well.
> 
> Bye
> 
> Chris M. Thomasson schrieb:
>> On 7/20/2026 4:32 PM, Mild Shock wrote:
>>> Hi,
>>>
>>> imageAtomicAdd is trivial, but it does
>>> not help with bounded buffers. 
>> [...]
>>
>> Are you sure about that! ;^o
> 

[toc] | [prev] | [next] | [standalone]


#671526 — Why MIMD is interesting for pi-WAM?

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 09:16 +0200
SubjectWhy MIMD is interesting for pi-WAM?
Message-ID<113n6c5$5ple$4@solani.org>
In reply to#671525
Hi,

Since pi-WAM has two ancestors, namely pi for
pi-calculus and WAM for Warren Abstract Machine,
MIMD is especially interesting for pi-WAM .

To realize some pi-calculus fragment for example
Hoare Communicating Sequential Processes (CSP),
I will not use ADA rendez vous, but are planning

"In computer science, communicating sequential
processes (CSP) is a formal language for
describing patterns of interaction in concurrent systems

CSP was first described by Tony Hoare in a 1978 article
CSP has been practically applied in industry as a
tool for specifying and verifying the concurrent

aspects of a variety of different systems,
such as the T9000 Transputer"
https://en.wikipedia.org/wiki/Communicating_sequential_processes

to use queue. Especially bounded MPMC queues, queues
with a finite capacity that allow multiple producers
and multiple consumers. And here MIMD seems to be

brother in spirit. Just think of pi-WAM being a transputer:

"An important purpose of the feature is
to enable reliable use of programming models
such as producer-consumer within a warp"
https://stackoverflow.com/q/70987051

Will see! I do not expect Micro Penis, Ross Finlayson,
Kim Horsel, or Chris M. Thomasson be helpful in
any way. They rather represent the wall of ignorance

or misunderstanding that such a project as pi-WAM can
face, very naturally. So take my posts as Turing Tests,
to see how much brain USENETS morons have, it also

helps me doing my laboratory hygien, by doing
brainwriting. Although recently it gets a little
annoying, since I am meanwhile repeating for the

5-th time what I already wrote weeks ago.

Bye

[toc] | [prev] | [next] | [standalone]


#671527 — Re: Why MIMD is interesting for pi-WAM?

FromRoss Finlayson <ross.a.finlayson@gmail.com>
Date2026-07-21 00:32 -0700
SubjectRe: Why MIMD is interesting for pi-WAM?
Message-ID<V4ScnSpD7esYvcL3nZ2dnZfqn_WdnZ2d@giganews.com>
In reply to#671526
On 07/21/2026 12:16 AM, Mild Shock wrote:
> Hi,
>
> Since pi-WAM has two ancestors, namely pi for
> pi-calculus and WAM for Warren Abstract Machine,
> MIMD is especially interesting for pi-WAM .
>
> To realize some pi-calculus fragment for example
> Hoare Communicating Sequential Processes (CSP),
> I will not use ADA rendez vous, but are planning
>
> "In computer science, communicating sequential
> processes (CSP) is a formal language for
> describing patterns of interaction in concurrent systems
>
> CSP was first described by Tony Hoare in a 1978 article
> CSP has been practically applied in industry as a
> tool for specifying and verifying the concurrent
>
> aspects of a variety of different systems,
> such as the T9000 Transputer"
> https://en.wikipedia.org/wiki/Communicating_sequential_processes
>
> to use queue. Especially bounded MPMC queues, queues
> with a finite capacity that allow multiple producers
> and multiple consumers. And here MIMD seems to be
>
> brother in spirit. Just think of pi-WAM being a transputer:
>
> "An important purpose of the feature is
> to enable reliable use of programming models
> such as producer-consumer within a warp"
> https://stackoverflow.com/q/70987051
>
> Will see! I do not expect Micro Penis, Ross Finlayson,
> Kim Horsel, or Chris M. Thomasson be helpful in
> any way. They rather represent the wall of ignorance
>
> or misunderstanding that such a project as pi-WAM can
> face, very naturally. So take my posts as Turing Tests,
> to see how much brain USENETS morons have, it also
>
> helps me doing my laboratory hygien, by doing
> brainwriting. Although recently it gets a little
> annoying, since I am meanwhile repeating for the
>
> 5-th time what I already wrote weeks ago.
>
> Bye

(Megalomania)


What it is is _irrelevant_ to sci.physics.relativity.


Burse's latest bot:  "P.O. on stims".


Everybody here already heard of communicating sequential processes,
the pi-calculus, and since when IBM "solved" it, then "streaming
and batching" is old OLTP wrapped-as-new.


Why not MIMD-on-SIMD and SIMD with SWAR?


Bonkers


[toc] | [prev] | [next] | [standalone]


#671528 — Re: Because of MIMD you have to reassess algorithms (Was: I never used OpenGL Version 4.2 and later)

FromRoss Finlayson <ross.a.finlayson@gmail.com>
Date2026-07-21 00:42 -0700
SubjectRe: Because of MIMD you have to reassess algorithms (Was: I never used OpenGL Version 4.2 and later)
Message-ID<bomcnbKDMq5bv8L3nZ2dnZfqn_GdnZ2d@giganews.com>
In reply to#671525
On 07/20/2026 11:59 PM, Mild Shock wrote:
> Hi,
>
> Because of MIMD you have to reassess algorithms.
> A spin loop which could really hurt non-MIMD
> GPUs, might less hurt a MIMD GPU.
>
> Basically you have to reassess algorithms. Be
> very exact whether your claims relates to
> non-MIMD or to MIMD. You can toy around
>
> with WebGL, mainly made for non-MIMD, here:
>
> https://www.shadertoy.com/
>
> and with WegGPU, mainly made for MIMD, here:
>
> https://compute.toys/
>
> The compute toys page, supports two shader
> languages, WGSL and Slang. I made my GPU
> experiments only with WGSL.
>
> So I don't know Slang either. Things I
> don't know in the GPU world are:
>
> - OpenGL 4.2 and later
> - Slang https://shader-slang.org/
>
> Things I have meanwhile hands on, and which
> I plan to integrate into library(edge/brainfog):
>
> - WGSL https://webgpufundamentals.org/
>
> Bye
>
> Mild Shock schrieb:
>> Hi,
>>
>> I went to holdays in June 2026, had an idea for
>> a pi-WAM based on a Hack, the later is described here:
>>
>> Emulating π-WAM in Dogelog Player
>> https://medium.com/2989/de9cd29c7d37
>>
>> The Elements of Computing Systems
>> https://mitpress.mit.edu/9780262539807
>>
>> In July 2026 I did the CPU and GPU experiments,
>> moving from emulator to native executor based in
>> realizing Hack as a concrete virtual machine,
>>
>> and not as an abstract machine emulated in Prolog.
>> The GPU experiments were done in WebGPU / WGSL.
>> So no, I never used OpenGL Version 4.2 and later.
>>
>> Also the name imageAtomicAdd indicates that
>> imageAtomicAdd is rather from a render shader,
>> while my GPU experiment uses a compute shader.
>>
>> Especially I need GPU compute shaders, which
>> are not executed in lock step, but rather have
>> indepdendent thread state, also known as MIMD.
>>
>> "In computing, multiple instruction, multiple
>> data (MIMD) is a technique employed to
>> achieve parallelism. "
>> https://en.wikipedia.org/wiki/Multiple_instruction,_multiple_data
>>
>> MIMID showed up 2017 with NVIDIA Volta cards.
>> But is now realized by Intel Arc, Snapdragon Adreno,
>> AMD RDNA and Apple Silicon as well.
>>
>> Bye
>>
>> Chris M. Thomasson schrieb:
>>> On 7/20/2026 4:32 PM, Mild Shock wrote:
>>>> Hi,
>>>>
>>>> imageAtomicAdd is trivial, but it does
>>>> not help with bounded buffers.
>>> [...]
>>>
>>> Are you sure about that! ;^o
>>
>

How about Silicon Grid Engine and MPI, OpenMP and old cluster.


Or old "batch jobs".

Batch jobs:  it's how work gets done.



You crazy frothing lunatic


[toc] | [prev] | [next] | [standalone]


#671529 — You still don't understand "budget" [Rossy Boy slower than Micro Penis] (Was: Because of MIMD you have to reassess algorithms)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 10:13 +0200
SubjectYou still don't understand "budget" [Rossy Boy slower than Micro Penis] (Was: Because of MIMD you have to reassess algorithms)
Message-ID<113n9mp$58nm$1@solani.org>
In reply to#671528
Hi,

Rossy Boy is slower than Micro Penis.
Both being heavy alcoholic. Both don't
understand the "budget" here:

11.4 Giga Lips with a Budget Laptop
https://github.com/Jean-Luc-Picard-2021/gigabudget

Budget means , I don't use a Mainframe
with a Job Control language. Budget means
ca. 1000 USD for the AI Laptops (Yoga, Ryzen

and Think) I bought end of 2025, and ca. 500
USD for the AI Laptop (Mac Neo) I bought
middle of 2026. I explained that already to

the Micro Penis moron. Now I explain it
again to the Rossy Boy herpes blister
corona victim.

Bye

Ross Finlayson schrieb:
> How about Silicon Grid Engine and MPI, OpenMP and old cluster.
> 
> 
> Or old "batch jobs".
> 
> Batch jobs:  it's how work gets done.
> 
> 
> 
> You crazy frothing lunatic
> 
> 
> 

[toc] | [prev] | [next] | [standalone]


#671530 — Go on Rossy Boy, ask more stupid questions (Was: You still don't understand "budget" [Rossy Boy slower than Micro Penis])

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 10:17 +0200
SubjectGo on Rossy Boy, ask more stupid questions (Was: You still don't understand "budget" [Rossy Boy slower than Micro Penis])
Message-ID<113n9vn$58qu$1@solani.org>
In reply to#671529
Hi,

But please go on Rossy Boy, ask more stupid
questions, that I have already answered in
relation to Micro Penis.

I am happy to repeat, what I already have
posted, again and again. If necesssary I
will repeat the well known material,

that everybody can find on the internet,
again like 1000x times. I have no problem with
that providing this information again and

again, as long as stupid questions are asked.

Bye

Mild Shock schrieb:
> Hi,
> 
> Rossy Boy is slower than Micro Penis.
> Both being heavy alcoholic. Both don't
> understand the "budget" here:
> 
> 11.4 Giga Lips with a Budget Laptop
> https://github.com/Jean-Luc-Picard-2021/gigabudget
> 
> Budget means , I don't use a Mainframe
> with a Job Control language. Budget means
> ca. 1000 USD for the AI Laptops (Yoga, Ryzen
> 
> and Think) I bought end of 2025, and ca. 500
> USD for the AI Laptop (Mac Neo) I bought
> middle of 2026. I explained that already to
> 
> the Micro Penis moron. Now I explain it
> again to the Rossy Boy herpes blister
> corona victim.
> 
> Bye
> 
> Ross Finlayson schrieb:
>> How about Silicon Grid Engine and MPI, OpenMP and old cluster.
>>
>>
>> Or old "batch jobs".
>>
>> Batch jobs:  it's how work gets done.
>>
>>
>>
>> You crazy frothing lunatic
>>
>>
>>
> 

[toc] | [prev] | [next] | [standalone]


#671531 — Need to be Einstein to understand Giga Lips (Was: Go on Rossy Boy, ask more stupid questions)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 10:22 +0200
SubjectNeed to be Einstein to understand Giga Lips (Was: Go on Rossy Boy, ask more stupid questions)
Message-ID<113na91$5944$1@solani.org>
In reply to#671530
Hi,

I don't have the feeling its rocket science
what I did. But maybe, since idiocracy has
definitively reached computer science,

you can now call yourself software engineer,
with a Hackathon certificate, and a GitHub
account. I might be mistaken, and you need

to be Einstain to understand the Giga Lips result?

Idiocracy (2006) - Movie Trailer
https://www.youtube.com/watch?v=te5vtOEz7sY

"Two things are infinite: the universe and human
stupidity; and I'm not sure about the universe."
-- Einstein

Bye

Mild Shock schrieb:
> Hi,
> 
> But please go on Rossy Boy, ask more stupid
> questions, that I have already answered in
> relation to Micro Penis.
> 
> I am happy to repeat, what I already have
> posted, again and again. If necesssary I
> will repeat the well known material,
> 
> that everybody can find on the internet,
> again like 1000x times. I have no problem with
> that providing this information again and
> 
> again, as long as stupid questions are asked.
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Rossy Boy is slower than Micro Penis.
>> Both being heavy alcoholic. Both don't
>> understand the "budget" here:
>>
>> 11.4 Giga Lips with a Budget Laptop
>> https://github.com/Jean-Luc-Picard-2021/gigabudget
>>
>> Budget means , I don't use a Mainframe
>> with a Job Control language. Budget means
>> ca. 1000 USD for the AI Laptops (Yoga, Ryzen
>>
>> and Think) I bought end of 2025, and ca. 500
>> USD for the AI Laptop (Mac Neo) I bought
>> middle of 2026. I explained that already to
>>
>> the Micro Penis moron. Now I explain it
>> again to the Rossy Boy herpes blister
>> corona victim.
>>
>> Bye
>>
>> Ross Finlayson schrieb:
>>> How about Silicon Grid Engine and MPI, OpenMP and old cluster.
>>>
>>>
>>> Or old "batch jobs".
>>>
>>> Batch jobs:  it's how work gets done.
>>>
>>>
>>>
>>> You crazy frothing lunatic
>>>
>>>
>>>
>>
> 

[toc] | [prev] | [next] | [standalone]


#671532 — Marketing invents Gucci Bag AI Laptops (Was: Need to be Einstein to understand Giga Lips)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-21 10:43 +0200
SubjectMarketing invents Gucci Bag AI Laptops (Was: Need to be Einstein to understand Giga Lips)
Message-ID<113nbfo$5a0e$1@solani.org>
In reply to#671531
Hi,

But you don't need to be Einstein either, to
understand how marketing adresses different
audience segments. "Budget" might imply

less prestige. 50% of Micro Penis argumentation
was driven by the prestige of NVIDIA RTX 5090. Now
the Marketing offers "Gucci Bag" AI Laptops:

Price Tag: 4'200 CHF

Mobile Workstation P1 Gen 8
NVIDIA RTX PRO™ 2000 Blackwell GPU
https://www.lenovo.com/ch/de/p/laptops/thinkpad/thinkpadp/lenovo-thinkpad-p1-gen-8-16-inch-intel-mobile-workstation/21q80008mz

Price Tag: 4'900 CHF

HP Limited Edition Scuderia Ferrari Notebook
Intel® Arc™ B390 GPU
https://www.hp.com/ch-en/shop/products/laptops/hp-limited-edition-scuderia-ferrari-notebook-next-gen-ki-pc-dv4g9et-uuz

It never ends, it goes up and up, there are
even more expensive laptops now.

I think its ok, if you can spare multiple fake
software engineers, or data scientists, or what
ever that asks for 100'000 CHF salary per

year, in the average. Like if you use the AI
Laptop for AI Copilot accelerated coding. Just
do the math.

Bye

Mild Shock schrieb:
> Hi,
> 
> I don't have the feeling its rocket science
> what I did. But maybe, since idiocracy has
> definitively reached computer science,
> 
> you can now call yourself software engineer,
> with a Hackathon certificate, and a GitHub
> account. I might be mistaken, and you need
> 
> to be Einstain to understand the Giga Lips result?
> 
> Idiocracy (2006) - Movie Trailer
> https://www.youtube.com/watch?v=te5vtOEz7sY
> 
> "Two things are infinite: the universe and human
> stupidity; and I'm not sure about the universe."
> -- Einstein
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> But please go on Rossy Boy, ask more stupid
>> questions, that I have already answered in
>> relation to Micro Penis.
>>
>> I am happy to repeat, what I already have
>> posted, again and again. If necesssary I
>> will repeat the well known material,
>>
>> that everybody can find on the internet,
>> again like 1000x times. I have no problem with
>> that providing this information again and
>>
>> again, as long as stupid questions are asked.
>>
>> Bye
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> Rossy Boy is slower than Micro Penis.
>>> Both being heavy alcoholic. Both don't
>>> understand the "budget" here:
>>>
>>> 11.4 Giga Lips with a Budget Laptop
>>> https://github.com/Jean-Luc-Picard-2021/gigabudget
>>>
>>> Budget means , I don't use a Mainframe
>>> with a Job Control language. Budget means
>>> ca. 1000 USD for the AI Laptops (Yoga, Ryzen
>>>
>>> and Think) I bought end of 2025, and ca. 500
>>> USD for the AI Laptop (Mac Neo) I bought
>>> middle of 2026. I explained that already to
>>>
>>> the Micro Penis moron. Now I explain it
>>> again to the Rossy Boy herpes blister
>>> corona victim.
>>>
>>> Bye
>>>
>>> Ross Finlayson schrieb:
>>>> How about Silicon Grid Engine and MPI, OpenMP and old cluster.
>>>>
>>>>
>>>> Or old "batch jobs".
>>>>
>>>> Batch jobs:  it's how work gets done.
>>>>
>>>>
>>>>
>>>> You crazy frothing lunatic
>>>>
>>>>
>>>>
>>>
>>
> 

[toc] | [prev] | [next] | [standalone]


Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →

Back to top | Article view | sci.physics.relativity


csiph-web