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


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

The Wuhan Virus that destroyed Python [ggml Manifesto]

Started byMild Shock <janburse@fastmail.fm>
First post2026-07-22 21:00 +0200
Last post2026-07-24 17:58 +0200
Articles 20 on this page of 22 — 5 participants

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


Contents

  The Wuhan Virus that destroyed Python [ggml Manifesto] Mild Shock <janburse@fastmail.fm> - 2026-07-22 21:00 +0200
    Deadlock Exorcism: Switch from Push to Pull [A pi-calculus Specification of Prolog] (Re: The Wuhan Virus that destroyed Python [ggml Manifesto]) Mild Shock <janburse@fastmail.fm> - 2026-07-23 00:23 +0200
      Why do you even need a mpmc queue? [Thunder Kittens] (Re: Deadlock Exorcism: Switch from Push to Pull) Mild Shock <janburse@fastmail.fm> - 2026-07-23 08:43 +0200
        Trivial balancing example for (int i=0; i<global_id; i++) (Re: Why do you even need a mpmc queue? [Thunder Kittens]) Mild Shock <janburse@fastmail.fm> - 2026-07-23 08:57 +0200
          Enqueue/dequeue need not be fast and can spinn ["fairness" questions] (Was: Trivial balancing example for (int i=0; i<global_id; i++)) Mild Shock <janburse@fastmail.fm> - 2026-07-23 09:11 +0200
            The Pixel Phone AI Experiment Song (Re: Enqueue/dequeue need not be fast and can spinn ["fairness" questions] ) Mild Shock <janburse@fastmail.fm> - 2026-07-23 09:21 +0200
        Re: Why do you even need a mpmc queue? [Thunder Kittens] (Re: Deadlock Exorcism: Switch from Push to Pull) Ross Finlayson <ross.a.finlayson@gmail.com> - 2026-07-23 08:24 -0700
    Potential Python Recovery: Free Threading [3.13 release] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto]) Mild Shock <janburse@fastmail.fm> - 2026-07-23 10:19 +0200
      Re: Potential Python Recovery: Free Threading [3.13 release] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto]) Ross Valikhanov <kavna@rl.ru> - 2026-07-23 16:01 +0000
    Re: The Wuhan Virus that destroyed Python [ggml Manifesto] Ramon Dubenkov <omd@nnk.ru> - 2026-07-23 13:38 +0000
    The things XILINX braught to the AMD table (Was: The Wuhan Virus that destroyed Python [ggml Manifesto]) Mild Shock <janburse@fastmail.fm> - 2026-07-23 18:47 +0200
      NIVIDIA evacuated its Chinese market [Tau Scaling] (Was: The things XILINX braught to the AMD table) Mild Shock <janburse@fastmail.fm> - 2026-07-23 19:11 +0200
      NVIDIA evacuated its Chinese market [Tau Scaling] (Re: The things XILINX braught to the AMD table) Mild Shock <janburse@fastmail.fm> - 2026-07-23 19:12 +0200
        Re: NVIDIA evacuated its Chinese market [Tau Scaling] (Re: The things XILINX braught to the AMD table) Lane W <cactus_DAC@yahoo.com> - 2026-07-23 11:22 -0600
          Micro penis mother sung arias (Was: NVIDIA evacuated its Chinese market [Tau Scaling]) Mild Shock <janburse@fastmail.fm> - 2026-07-24 14:38 +0200
            Re: Micro penis mother sung arias (Was: NVIDIA evacuated its Chinese market [Tau Scaling]) Lane W <cactus_DAC@yahoo.com> - 2026-07-24 07:15 -0600
              Micro penis brain is in constant hiatus (Was: Micro penis mother sung arias) Mild Shock <janburse@fastmail.fm> - 2026-07-24 15:24 +0200
                Re: Micro penis brain is in constant hiatus (Was: Micro penis mother sung arias) Mild Shock <janburse@fastmail.fm> - 2026-07-24 15:36 +0200
                Ignoramus or Ignorabimus: I don't care (π-WAM) (Re: Micro penis brain is in constant hiatus) Mild Shock <janburse@fastmail.fm> - 2026-07-24 15:38 +0200
                  Re: Ignoramus or Ignorabimus: I don't care (π-WAM) (Re: Micro penis brain is in constant hiatus) Lane W <cactus_DAC@yahoo.com> - 2026-07-24 08:31 -0600
                    You are a moron, brainless putin payed (Was: Ignoramus or Ignorabimus: I don't care (π-WAM)) Mild Shock <janburse@fastmail.fm> - 2026-07-24 18:01 +0200
    Little Data Center on Your Palm [AI Laptops for 500 USD] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto] Mild Shock <janburse@fastmail.fm> - 2026-07-24 17:58 +0200

Page 1 of 2  [1] 2  Next page →


#671581 — The Wuhan Virus that destroyed Python [ggml Manifesto]

FromMild Shock <janburse@fastmail.fm>
Date2026-07-22 21:00 +0200
SubjectThe Wuhan Virus that destroyed Python [ggml Manifesto]
Message-ID<113r40o$8g50$1@solani.org>
Hi,

Remember when first all local AI was Python
and PyTorch APIs. And then suddently people strated
using bare metal C/C++ Code. Here is the story:

How it started:

GPT-J or GPT-J-6B is an open-source large
language model (LLM) developed by EleutherAI
in 2021. As the name suggests, it is a
generative pre-trained transformer model
designed to produce human-like text that
continues from a prompt.
https://www.eleuther.ai/

How it was going [Georgi Gerganov]:

So a few days later comes out the LLaMA, I do
some calculations and I figure out “Okay, 65
billion parameters. You probably need about
40 gigs of RAM, with 4-bit quantization. So
this can run on a MacBook. Why not do it?”

Why I was able to do it so quickly - basically,
for all that I saw it’s pretty much GPT-J architecture
with some modifications, like some extra memorization
layers. It’s minor changes. Basically, again, the
existing code for the GPT-J, I just simply
modified it there, it happened pretty quickly.
https://changelog.com/podcast/532

Georgi Gerganov, Bulgarian, now with Hugging
Face, ggml-cann also running on Chinese AI chips.
ggml Manifesto https://github.com/ggml-org/ggml

Bye

[toc] | [next] | [standalone]


#671588 — Deadlock Exorcism: Switch from Push to Pull [A pi-calculus Specification of Prolog] (Re: The Wuhan Virus that destroyed Python [ggml Manifesto])

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 00:23 +0200
SubjectDeadlock Exorcism: Switch from Push to Pull [A pi-calculus Specification of Prolog] (Re: The Wuhan Virus that destroyed Python [ggml Manifesto])
Message-ID<113rfso$84i6$1@solani.org>
In reply to#671581
Hi,

This is quite fun, how some TLA+ guy fears
the full state of queue like the devil in
itself. But I guess if a service rate is

low and the producer has not much to do to
produce its work items, the arrival rate
has nevertheless to adapt, and dealing

with "full states", which are wrongly
called deadlock here, is the normal:

Tutorial-style talk - BlockingQueue
https://github.com/lemmy/BlockingQueue/tree/main

Prolog is in good position. The bird box
model has a redo port. So sometimes switching
from push to pull, can help without doing

Deadlock Exorcism. You can also translate
the bird box ports into pi-calculus:

A pi-calculus Specification of Prolog
Benjamin Z. Li - University of Pennsylvania
11 Apr 1994, European Symposium on Programming,
Prolog, Unification, Backtracking
https://scispace.com/pdf/a-pi-calculus-specification-of-prolog-3qf2pf04ud.pdf

Have Fun!

Bye

Mild Shock schrieb:> Hi,
 >
 > CAS and XADD have no looping, they
 > are atomic operations, that take some
 > time but basically have some outcome
 >
 > with some ACID property and a result
 > value. What loops is the ADT, the Abstract
 > Data Type that you implement. Respectively
 >
 > the client that uses the Abstract Data Type.
 > In your case you added the loop inside the
 > Abstract Data Type or lower level aggregate
 >
 > code of a higher level operation:
 >
 > Chris M. Thomasson wrote:
 > void producer(double state) {
 >      uint32_t ver = XADD(&head, 1);
 >      cell& c = cells[ver & (N - 1)];
 >      while (LOAD(&c.ver) != ver) backoff(); /** Looping **/
 >      c.state = state;
 >      STORE(&c.ver, ver + 1);
 > }
 > https://groups.google.com/g/lock-free/c/acjQ3-89abE/m/a6-Di0GZsyEJ
 >
 > In my case I added the loop during the client
 > usage of the ADT:
 >
 > From: Mild Shock <janburse@fastmail.fm>
 > Subject: Source of the benchmark for DmitryVyukov
 > Date: Tue, 21 Jul 2026 01:44:21 +0200
 >
 >      private static void producer(Queue q) {
 >          for (int i = 0; i < WORK; i++) {
 >              Integer val = Integer.valueOf(i);
 >              while (!enqueue(q, val)) ; /** Looping **/
 >          }
 >      }
 >
 > Do you see the two loops, in your C code
 > and in my Java code? They are marked with a
 > comment /** Looping **/ .
 >
 > You see them, don't you? But I don't know
 > exactly what backoff() does. Sometimes loops
 > are spurious yield loops, required because
 >
 > an ADT cannot gurantee that every yield
 > implies a certain condition. This is for
 > example already found in the intrinsinc
 >
 > monitor of Java, the wait(). You might consult
 > Doug Lea about the matter and how idiomatic
 > Java code looks like dealing with
 >
 > spurious yields.
 >
 > Bye

Mild Shock schrieb:
> Hi,
> 
> Remember when first all local AI was Python
> and PyTorch APIs. And then suddently people strated
> using bare metal C/C++ Code. Here is the story:
> 
> How it started:
> 
> GPT-J or GPT-J-6B is an open-source large
> language model (LLM) developed by EleutherAI
> in 2021. As the name suggests, it is a
> generative pre-trained transformer model
> designed to produce human-like text that
> continues from a prompt.
> https://www.eleuther.ai/
> 
> How it was going [Georgi Gerganov]:
> 
> So a few days later comes out the LLaMA, I do
> some calculations and I figure out “Okay, 65
> billion parameters. You probably need about
> 40 gigs of RAM, with 4-bit quantization. So
> this can run on a MacBook. Why not do it?”
> 
> Why I was able to do it so quickly - basically,
> for all that I saw it’s pretty much GPT-J architecture
> with some modifications, like some extra memorization
> layers. It’s minor changes. Basically, again, the
> existing code for the GPT-J, I just simply
> modified it there, it happened pretty quickly.
> https://changelog.com/podcast/532
> 
> Georgi Gerganov, Bulgarian, now with Hugging
> Face, ggml-cann also running on Chinese AI chips.
> ggml Manifesto https://github.com/ggml-org/ggml
> 
> Bye
> 

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


#671597 — Why do you even need a mpmc queue? [Thunder Kittens] (Re: Deadlock Exorcism: Switch from Push to Pull)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 08:43 +0200
SubjectWhy do you even need a mpmc queue? [Thunder Kittens] (Re: Deadlock Exorcism: Switch from Push to Pull)
Message-ID<113sd5n$8mfl$1@solani.org>
In reply to#671588
Hi,

Because I use WebGPU and not WebGL. And
because WebGPU can adresss modern GPU
developed with the NVIDIA Volta evolution,

which happened in 2017. Namley that compute
shaders are not any more subject to the
realization restriction of lock step

execution, but have independent thread state.
And because there is independent thread state
there is also independent time spent for a

a work item by each logical thread, if the
submitted logical thread uses a lot of branching
logic or even loops. But the use of branching

and loops is encouraged in independent thread
state programming of compute shaders. The variables
that can drive such logic are the scalar variables:

Tour of WGSL - Control Flow
https://google.github.io/tour-of-wgsl/control-flow/

Then not to waste GPU compute time, by logical
threads doing nothing. You will need to
introduce some load balancing among multiple

logical threads. And MPMC queues are one way to
readize load balancing. Compute shaders with
producer and consumer entry points are proposed

as fundamental architecture by Thunder Kittens:

ThunderKittens: Simple, Fast, and Adorable AI Kernels
https://arxiv.org/abs/2410.20399

They are used by this SpaceX acquisition:

Composer 2 Technical Report
https://arxiv.org/abs/2603.24477

Thunder Kittens uses Hardware support, i.e. tma_expect().

Bye

Chris M. Thomasson schrieb:
 >> never meant to be used in a GPU.
 >> Dmitry CAS version can be used, but
 >>
 >> Why do you even need a mpmc queue
 >> in your compute shader anyway?

Mild Shock schrieb:
> Hi,
> 
> This is quite fun, how some TLA+ guy fears
> the full state of queue like the devil in
> itself. But I guess if a service rate is
> 
> low and the producer has not much to do to
> produce its work items, the arrival rate
> has nevertheless to adapt, and dealing
> 
> with "full states", which are wrongly
> called deadlock here, is the normal:
> 
> Tutorial-style talk - BlockingQueue
> https://github.com/lemmy/BlockingQueue/tree/main
> 
> Prolog is in good position. The bird box
> model has a redo port. So sometimes switching
> from push to pull, can help without doing
> 
> Deadlock Exorcism. You can also translate
> the bird box ports into pi-calculus:
> 
> A pi-calculus Specification of Prolog
> Benjamin Z. Li - University of Pennsylvania
> 11 Apr 1994, European Symposium on Programming,
> Prolog, Unification, Backtracking
> https://scispace.com/pdf/a-pi-calculus-specification-of-prolog-3qf2pf04ud.pdf 
> 
> 
> Have Fun!
> 
> Bye
> 
> Mild Shock schrieb:> Hi,
>  >
>  > CAS and XADD have no looping, they
>  > are atomic operations, that take some
>  > time but basically have some outcome
>  >
>  > with some ACID property and a result
>  > value. What loops is the ADT, the Abstract
>  > Data Type that you implement. Respectively
>  >
>  > the client that uses the Abstract Data Type.
>  > In your case you added the loop inside the
>  > Abstract Data Type or lower level aggregate
>  >
>  > code of a higher level operation:
>  >
>  > Chris M. Thomasson wrote:
>  > void producer(double state) {
>  >      uint32_t ver = XADD(&head, 1);
>  >      cell& c = cells[ver & (N - 1)];
>  >      while (LOAD(&c.ver) != ver) backoff(); /** Looping **/
>  >      c.state = state;
>  >      STORE(&c.ver, ver + 1);
>  > }
>  > https://groups.google.com/g/lock-free/c/acjQ3-89abE/m/a6-Di0GZsyEJ
>  >
>  > In my case I added the loop during the client
>  > usage of the ADT:
>  >
>  > From: Mild Shock <janburse@fastmail.fm>
>  > Subject: Source of the benchmark for DmitryVyukov
>  > Date: Tue, 21 Jul 2026 01:44:21 +0200
>  >
>  >      private static void producer(Queue q) {
>  >          for (int i = 0; i < WORK; i++) {
>  >              Integer val = Integer.valueOf(i);
>  >              while (!enqueue(q, val)) ; /** Looping **/
>  >          }
>  >      }
>  >
>  > Do you see the two loops, in your C code
>  > and in my Java code? They are marked with a
>  > comment /** Looping **/ .
>  >
>  > You see them, don't you? But I don't know
>  > exactly what backoff() does. Sometimes loops
>  > are spurious yield loops, required because
>  >
>  > an ADT cannot gurantee that every yield
>  > implies a certain condition. This is for
>  > example already found in the intrinsinc
>  >
>  > monitor of Java, the wait(). You might consult
>  > Doug Lea about the matter and how idiomatic
>  > Java code looks like dealing with
>  >
>  > spurious yields.
>  >
>  > Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Remember when first all local AI was Python
>> and PyTorch APIs. And then suddently people strated
>> using bare metal C/C++ Code. Here is the story:
>>
>> How it started:
>>
>> GPT-J or GPT-J-6B is an open-source large
>> language model (LLM) developed by EleutherAI
>> in 2021. As the name suggests, it is a
>> generative pre-trained transformer model
>> designed to produce human-like text that
>> continues from a prompt.
>> https://www.eleuther.ai/
>>
>> How it was going [Georgi Gerganov]:
>>
>> So a few days later comes out the LLaMA, I do
>> some calculations and I figure out “Okay, 65
>> billion parameters. You probably need about
>> 40 gigs of RAM, with 4-bit quantization. So
>> this can run on a MacBook. Why not do it?”
>>
>> Why I was able to do it so quickly - basically,
>> for all that I saw it’s pretty much GPT-J architecture
>> with some modifications, like some extra memorization
>> layers. It’s minor changes. Basically, again, the
>> existing code for the GPT-J, I just simply
>> modified it there, it happened pretty quickly.
>> https://changelog.com/podcast/532
>>
>> Georgi Gerganov, Bulgarian, now with Hugging
>> Face, ggml-cann also running on Chinese AI chips.
>> ggml Manifesto https://github.com/ggml-org/ggml
>>
>> Bye
>>
> 

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


#671598 — Trivial balancing example for (int i=0; i<global_id; i++) (Re: Why do you even need a mpmc queue? [Thunder Kittens])

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 08:57 +0200
SubjectTrivial balancing example for (int i=0; i<global_id; i++) (Re: Why do you even need a mpmc queue? [Thunder Kittens])
Message-ID<113se1d$8mvd$2@solani.org>
In reply to#671597
Hi,

Is a trivial control construct for(),
when used in a compute shader with
NVIDIA Volta evolution, i.e. MIMD,

can lead to different time spend by
individual compute shaders:

fn main(global_id : i32) {
    i : i32 = 0;
    while (i < globa_id) {
       i++;
    }
}

You can visiualize as the time spent
by each logical thread as follows:

global id, logical thread life line
1     [    ]
2     [        ]
3     [            ]
4     [                ]
5     [                    ]
Etc..

With work items and load balancing you
could run the above with a lower number
of logical threads, I am writing the

work item number now inside the sub life
line inside the overall life line of
the logical thread:

worker , worker work items
A     [3           ]
B     [4               ][2       ]
C     [5                   ][1   ]

The overall time slightly increased by 1,
i.e. the case global_id = k combined
with the case global_id = n-k+1 . Also

one worker didn't have two work items,
only one work item. But the number of
logical threads needed was halfed.

Ok, a mpmc queue will be not that
intelligent, concerning the work sheduling.
But one could experiment with mpmc queue

priority queues etc.. etc..

Have Fun!

Bye

Mild Shock schrieb:
> Hi,
> 
> Because I use WebGPU and not WebGL. And
> because WebGPU can adresss modern GPU
> developed with the NVIDIA Volta evolution,
> 
> which happened in 2017. Namley that compute
> shaders are not any more subject to the
> realization restriction of lock step
> 
> execution, but have independent thread state.
> And because there is independent thread state
> there is also independent time spent for a
> 
> a work item by each logical thread, if the
> submitted logical thread uses a lot of branching
> logic or even loops. But the use of branching
> 
> and loops is encouraged in independent thread
> state programming of compute shaders. The variables
> that can drive such logic are the scalar variables:
> 
> Tour of WGSL - Control Flow
> https://google.github.io/tour-of-wgsl/control-flow/
> 
> Then not to waste GPU compute time, by logical
> threads doing nothing. You will need to
> introduce some load balancing among multiple
> 
> logical threads. And MPMC queues are one way to
> readize load balancing. Compute shaders with
> producer and consumer entry points are proposed
> 
> as fundamental architecture by Thunder Kittens:
> 
> ThunderKittens: Simple, Fast, and Adorable AI Kernels
> https://arxiv.org/abs/2410.20399
> 
> They are used by this SpaceX acquisition:
> 
> Composer 2 Technical Report
> https://arxiv.org/abs/2603.24477
> 
> Thunder Kittens uses Hardware support, i.e. tma_expect().
> 
> Bye
> 
> Chris M. Thomasson schrieb:
>  >> never meant to be used in a GPU.
>  >> Dmitry CAS version can be used, but
>  >>
>  >> Why do you even need a mpmc queue
>  >> in your compute shader anyway?
> 
> Mild Shock schrieb:
>> Hi,
>>
>> This is quite fun, how some TLA+ guy fears
>> the full state of queue like the devil in
>> itself. But I guess if a service rate is
>>
>> low and the producer has not much to do to
>> produce its work items, the arrival rate
>> has nevertheless to adapt, and dealing
>>
>> with "full states", which are wrongly
>> called deadlock here, is the normal:
>>
>> Tutorial-style talk - BlockingQueue
>> https://github.com/lemmy/BlockingQueue/tree/main
>>
>> Prolog is in good position. The bird box
>> model has a redo port. So sometimes switching
>> from push to pull, can help without doing
>>
>> Deadlock Exorcism. You can also translate
>> the bird box ports into pi-calculus:
>>
>> A pi-calculus Specification of Prolog
>> Benjamin Z. Li - University of Pennsylvania
>> 11 Apr 1994, European Symposium on Programming,
>> Prolog, Unification, Backtracking
>> https://scispace.com/pdf/a-pi-calculus-specification-of-prolog-3qf2pf04ud.pdf 
>>
>>
>> Have Fun!
>>
>> Bye
>>
>> Mild Shock schrieb:> Hi,
>>  >
>>  > CAS and XADD have no looping, they
>>  > are atomic operations, that take some
>>  > time but basically have some outcome
>>  >
>>  > with some ACID property and a result
>>  > value. What loops is the ADT, the Abstract
>>  > Data Type that you implement. Respectively
>>  >
>>  > the client that uses the Abstract Data Type.
>>  > In your case you added the loop inside the
>>  > Abstract Data Type or lower level aggregate
>>  >
>>  > code of a higher level operation:
>>  >
>>  > Chris M. Thomasson wrote:
>>  > void producer(double state) {
>>  >      uint32_t ver = XADD(&head, 1);
>>  >      cell& c = cells[ver & (N - 1)];
>>  >      while (LOAD(&c.ver) != ver) backoff(); /** Looping **/
>>  >      c.state = state;
>>  >      STORE(&c.ver, ver + 1);
>>  > }
>>  > https://groups.google.com/g/lock-free/c/acjQ3-89abE/m/a6-Di0GZsyEJ
>>  >
>>  > In my case I added the loop during the client
>>  > usage of the ADT:
>>  >
>>  > From: Mild Shock <janburse@fastmail.fm>
>>  > Subject: Source of the benchmark for DmitryVyukov
>>  > Date: Tue, 21 Jul 2026 01:44:21 +0200
>>  >
>>  >      private static void producer(Queue q) {
>>  >          for (int i = 0; i < WORK; i++) {
>>  >              Integer val = Integer.valueOf(i);
>>  >              while (!enqueue(q, val)) ; /** Looping **/
>>  >          }
>>  >      }
>>  >
>>  > Do you see the two loops, in your C code
>>  > and in my Java code? They are marked with a
>>  > comment /** Looping **/ .
>>  >
>>  > You see them, don't you? But I don't know
>>  > exactly what backoff() does. Sometimes loops
>>  > are spurious yield loops, required because
>>  >
>>  > an ADT cannot gurantee that every yield
>>  > implies a certain condition. This is for
>>  > example already found in the intrinsinc
>>  >
>>  > monitor of Java, the wait(). You might consult
>>  > Doug Lea about the matter and how idiomatic
>>  > Java code looks like dealing with
>>  >
>>  > spurious yields.
>>  >
>>  > Bye
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> Remember when first all local AI was Python
>>> and PyTorch APIs. And then suddently people strated
>>> using bare metal C/C++ Code. Here is the story:
>>>
>>> How it started:
>>>
>>> GPT-J or GPT-J-6B is an open-source large
>>> language model (LLM) developed by EleutherAI
>>> in 2021. As the name suggests, it is a
>>> generative pre-trained transformer model
>>> designed to produce human-like text that
>>> continues from a prompt.
>>> https://www.eleuther.ai/
>>>
>>> How it was going [Georgi Gerganov]:
>>>
>>> So a few days later comes out the LLaMA, I do
>>> some calculations and I figure out “Okay, 65
>>> billion parameters. You probably need about
>>> 40 gigs of RAM, with 4-bit quantization. So
>>> this can run on a MacBook. Why not do it?”
>>>
>>> Why I was able to do it so quickly - basically,
>>> for all that I saw it’s pretty much GPT-J architecture
>>> with some modifications, like some extra memorization
>>> layers. It’s minor changes. Basically, again, the
>>> existing code for the GPT-J, I just simply
>>> modified it there, it happened pretty quickly.
>>> https://changelog.com/podcast/532
>>>
>>> Georgi Gerganov, Bulgarian, now with Hugging
>>> Face, ggml-cann also running on Chinese AI chips.
>>> ggml Manifesto https://github.com/ggml-org/ggml
>>>
>>> Bye
>>>
>>
> 

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


#671599 — Enqueue/dequeue need not be fast and can spinn ["fairness" questions] (Was: Trivial balancing example for (int i=0; i<global_id; i++))

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 09:11 +0200
SubjectEnqueue/dequeue need not be fast and can spinn ["fairness" questions] (Was: Trivial balancing example for (int i=0; i<global_id; i++))
Message-ID<113ser4$8npg$1@solani.org>
In reply to#671598
Hi,

Since the main goal is to change the
geometry of how work items are assigned
and processed, and since work item processing

costs much more time then queue API calls.
It is irrelevant whether the queue API are
ultra fast or not, or whether they spin or

not. Usually one can affort both things,
since balancing outweights these small extra
costs or silly occupation of a platform thread.

It could be also feasible, in the total
balance sheet of execution and energy consumption
of your work items along workers to use

Atomic.pause() equivalents, special instructions,
for spinning. This will be added in 2027 to JavaScript:

For example, in Intel x86, it may be a
pause instruction as per Intel's optimization manual.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/pause

But I have to see what works and what doesn't
work. The above are only theoretical
considerations about the friction that queues

induce. Usually friction hurts much less
than balant scheduling mistakes, i.e. unfavorable
schedulings. golang is very much bugged by

unfavorable schedulings. While on paper golang
looks like brilliant idea, examples that create
similar patterns of runtimes as in the below

for (int i=0; i<global_id; i++) can create
horrible scheduling and very bad an erratic
behaviour, especially if the synchronization

mechanism and backpressure signals have to travel
long chains of channel waits. So you will get not
into the terrain of "dead lock" questions, but

basically enter the terrain of "fairness" questions.

Bye

Mild Shock schrieb:
> Hi,
> 
> Is a trivial control construct for(),
> when used in a compute shader with
> NVIDIA Volta evolution, i.e. MIMD,
> 
> can lead to different time spend by
> individual compute shaders:
> 
> fn main(global_id : i32) {
>     i : i32 = 0;
>     while (i < globa_id) {
>        i++;
>     }
> }
> 
> You can visiualize as the time spent
> by each logical thread as follows:
> 
> global id, logical thread life line
> 1     [    ]
> 2     [        ]
> 3     [            ]
> 4     [                ]
> 5     [                    ]
> Etc..
> 
> With work items and load balancing you
> could run the above with a lower number
> of logical threads, I am writing the
> 
> work item number now inside the sub life
> line inside the overall life line of
> the logical thread:
> 
> worker , worker work items
> A     [3           ]
> B     [4               ][2       ]
> C     [5                   ][1   ]
> 
> The overall time slightly increased by 1,
> i.e. the case global_id = k combined
> with the case global_id = n-k+1 . Also
> 
> one worker didn't have two work items,
> only one work item. But the number of
> logical threads needed was halfed.
> 
> Ok, a mpmc queue will be not that
> intelligent, concerning the work sheduling.
> But one could experiment with mpmc queue
> 
> priority queues etc.. etc..
> 
> Have Fun!
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Because I use WebGPU and not WebGL. And
>> because WebGPU can adresss modern GPU
>> developed with the NVIDIA Volta evolution,
>>
>> which happened in 2017. Namley that compute
>> shaders are not any more subject to the
>> realization restriction of lock step
>>
>> execution, but have independent thread state.
>> And because there is independent thread state
>> there is also independent time spent for a
>>
>> a work item by each logical thread, if the
>> submitted logical thread uses a lot of branching
>> logic or even loops. But the use of branching
>>
>> and loops is encouraged in independent thread
>> state programming of compute shaders. The variables
>> that can drive such logic are the scalar variables:
>>
>> Tour of WGSL - Control Flow
>> https://google.github.io/tour-of-wgsl/control-flow/
>>
>> Then not to waste GPU compute time, by logical
>> threads doing nothing. You will need to
>> introduce some load balancing among multiple
>>
>> logical threads. And MPMC queues are one way to
>> readize load balancing. Compute shaders with
>> producer and consumer entry points are proposed
>>
>> as fundamental architecture by Thunder Kittens:
>>
>> ThunderKittens: Simple, Fast, and Adorable AI Kernels
>> https://arxiv.org/abs/2410.20399
>>
>> They are used by this SpaceX acquisition:
>>
>> Composer 2 Technical Report
>> https://arxiv.org/abs/2603.24477
>>
>> Thunder Kittens uses Hardware support, i.e. tma_expect().
>>
>> Bye
>>
>> Chris M. Thomasson schrieb:
>>  >> never meant to be used in a GPU.
>>  >> Dmitry CAS version can be used, but
>>  >>
>>  >> Why do you even need a mpmc queue
>>  >> in your compute shader anyway?
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> This is quite fun, how some TLA+ guy fears
>>> the full state of queue like the devil in
>>> itself. But I guess if a service rate is
>>>
>>> low and the producer has not much to do to
>>> produce its work items, the arrival rate
>>> has nevertheless to adapt, and dealing
>>>
>>> with "full states", which are wrongly
>>> called deadlock here, is the normal:
>>>
>>> Tutorial-style talk - BlockingQueue
>>> https://github.com/lemmy/BlockingQueue/tree/main
>>>
>>> Prolog is in good position. The bird box
>>> model has a redo port. So sometimes switching
>>> from push to pull, can help without doing
>>>
>>> Deadlock Exorcism. You can also translate
>>> the bird box ports into pi-calculus:
>>>
>>> A pi-calculus Specification of Prolog
>>> Benjamin Z. Li - University of Pennsylvania
>>> 11 Apr 1994, European Symposium on Programming,
>>> Prolog, Unification, Backtracking
>>> https://scispace.com/pdf/a-pi-calculus-specification-of-prolog-3qf2pf04ud.pdf 
>>>
>>>
>>> Have Fun!
>>>
>>> Bye
>>>
>>> Mild Shock schrieb:> Hi,
>>>  >
>>>  > CAS and XADD have no looping, they
>>>  > are atomic operations, that take some
>>>  > time but basically have some outcome
>>>  >
>>>  > with some ACID property and a result
>>>  > value. What loops is the ADT, the Abstract
>>>  > Data Type that you implement. Respectively
>>>  >
>>>  > the client that uses the Abstract Data Type.
>>>  > In your case you added the loop inside the
>>>  > Abstract Data Type or lower level aggregate
>>>  >
>>>  > code of a higher level operation:
>>>  >
>>>  > Chris M. Thomasson wrote:
>>>  > void producer(double state) {
>>>  >      uint32_t ver = XADD(&head, 1);
>>>  >      cell& c = cells[ver & (N - 1)];
>>>  >      while (LOAD(&c.ver) != ver) backoff(); /** Looping **/
>>>  >      c.state = state;
>>>  >      STORE(&c.ver, ver + 1);
>>>  > }
>>>  > https://groups.google.com/g/lock-free/c/acjQ3-89abE/m/a6-Di0GZsyEJ
>>>  >
>>>  > In my case I added the loop during the client
>>>  > usage of the ADT:
>>>  >
>>>  > From: Mild Shock <janburse@fastmail.fm>
>>>  > Subject: Source of the benchmark for DmitryVyukov
>>>  > Date: Tue, 21 Jul 2026 01:44:21 +0200
>>>  >
>>>  >      private static void producer(Queue q) {
>>>  >          for (int i = 0; i < WORK; i++) {
>>>  >              Integer val = Integer.valueOf(i);
>>>  >              while (!enqueue(q, val)) ; /** Looping **/
>>>  >          }
>>>  >      }
>>>  >
>>>  > Do you see the two loops, in your C code
>>>  > and in my Java code? They are marked with a
>>>  > comment /** Looping **/ .
>>>  >
>>>  > You see them, don't you? But I don't know
>>>  > exactly what backoff() does. Sometimes loops
>>>  > are spurious yield loops, required because
>>>  >
>>>  > an ADT cannot gurantee that every yield
>>>  > implies a certain condition. This is for
>>>  > example already found in the intrinsinc
>>>  >
>>>  > monitor of Java, the wait(). You might consult
>>>  > Doug Lea about the matter and how idiomatic
>>>  > Java code looks like dealing with
>>>  >
>>>  > spurious yields.
>>>  >
>>>  > Bye
>>>
>>> Mild Shock schrieb:
>>>> Hi,
>>>>
>>>> Remember when first all local AI was Python
>>>> and PyTorch APIs. And then suddently people strated
>>>> using bare metal C/C++ Code. Here is the story:
>>>>
>>>> How it started:
>>>>
>>>> GPT-J or GPT-J-6B is an open-source large
>>>> language model (LLM) developed by EleutherAI
>>>> in 2021. As the name suggests, it is a
>>>> generative pre-trained transformer model
>>>> designed to produce human-like text that
>>>> continues from a prompt.
>>>> https://www.eleuther.ai/
>>>>
>>>> How it was going [Georgi Gerganov]:
>>>>
>>>> So a few days later comes out the LLaMA, I do
>>>> some calculations and I figure out “Okay, 65
>>>> billion parameters. You probably need about
>>>> 40 gigs of RAM, with 4-bit quantization. So
>>>> this can run on a MacBook. Why not do it?”
>>>>
>>>> Why I was able to do it so quickly - basically,
>>>> for all that I saw it’s pretty much GPT-J architecture
>>>> with some modifications, like some extra memorization
>>>> layers. It’s minor changes. Basically, again, the
>>>> existing code for the GPT-J, I just simply
>>>> modified it there, it happened pretty quickly.
>>>> https://changelog.com/podcast/532
>>>>
>>>> Georgi Gerganov, Bulgarian, now with Hugging
>>>> Face, ggml-cann also running on Chinese AI chips.
>>>> ggml Manifesto https://github.com/ggml-org/ggml
>>>>
>>>> Bye
>>>>
>>>
>>
> 

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


#671600 — The Pixel Phone AI Experiment Song (Re: Enqueue/dequeue need not be fast and can spinn ["fairness" questions] )

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 09:21 +0200
SubjectThe Pixel Phone AI Experiment Song (Re: Enqueue/dequeue need not be fast and can spinn ["fairness" questions] )
Message-ID<113sfdt$8o56$2@solani.org>
In reply to#671599
Hi,

For graphics, rendering, in the worst case your
FPS can go down. Then you have a 2x as performant
graphic card, and sundently the FPS is ok again!

Or you render into a smaller screen, with less
number of pixels, and things turn good again.
So for my pixel phone AI experiment, or what I

will toy around on a AI laptop, I am singing:

   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

Bye

Whats better Steve Miller or Muddy Waters?

The Joker
https://www.youtube.com/watch?v=dV3AziKTBUo

Hoochie Coochie Man
https://www.youtube.com/watch?v=e_l6A7krjrQ

Mild Shock schrieb:
> Hi,
> 
> Since the main goal is to change the
> geometry of how work items are assigned
> and processed, and since work item processing
> 
> costs much more time then queue API calls.
> It is irrelevant whether the queue API are
> ultra fast or not, or whether they spin or
> 
> not. Usually one can affort both things,
> since balancing outweights these small extra
> costs or silly occupation of a platform thread.
> 
> It could be also feasible, in the total
> balance sheet of execution and energy consumption
> of your work items along workers to use
> 
> Atomic.pause() equivalents, special instructions,
> for spinning. This will be added in 2027 to JavaScript:
> 
> For example, in Intel x86, it may be a
> pause instruction as per Intel's optimization manual.
> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/pause 
> 
> 
> But I have to see what works and what doesn't
> work. The above are only theoretical
> considerations about the friction that queues
> 
> induce. Usually friction hurts much less
> than balant scheduling mistakes, i.e. unfavorable
> schedulings. golang is very much bugged by
> 
> unfavorable schedulings. While on paper golang
> looks like brilliant idea, examples that create
> similar patterns of runtimes as in the below
> 
> for (int i=0; i<global_id; i++) can create
> horrible scheduling and very bad an erratic
> behaviour, especially if the synchronization
> 
> mechanism and backpressure signals have to travel
> long chains of channel waits. So you will get not
> into the terrain of "dead lock" questions, but
> 
> basically enter the terrain of "fairness" questions.
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Is a trivial control construct for(),
>> when used in a compute shader with
>> NVIDIA Volta evolution, i.e. MIMD,
>>
>> can lead to different time spend by
>> individual compute shaders:
>>
>> fn main(global_id : i32) {
>>     i : i32 = 0;
>>     while (i < globa_id) {
>>        i++;
>>     }
>> }
>>
>> You can visiualize as the time spent
>> by each logical thread as follows:
>>
>> global id, logical thread life line
>> 1     [    ]
>> 2     [        ]
>> 3     [            ]
>> 4     [                ]
>> 5     [                    ]
>> Etc..
>>
>> With work items and load balancing you
>> could run the above with a lower number
>> of logical threads, I am writing the
>>
>> work item number now inside the sub life
>> line inside the overall life line of
>> the logical thread:
>>
>> worker , worker work items
>> A     [3           ]
>> B     [4               ][2       ]
>> C     [5                   ][1   ]
>>
>> The overall time slightly increased by 1,
>> i.e. the case global_id = k combined
>> with the case global_id = n-k+1 . Also
>>
>> one worker didn't have two work items,
>> only one work item. But the number of
>> logical threads needed was halfed.
>>
>> Ok, a mpmc queue will be not that
>> intelligent, concerning the work sheduling.
>> But one could experiment with mpmc queue
>>
>> priority queues etc.. etc..
>>
>> Have Fun!
>>
>> Bye
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> Because I use WebGPU and not WebGL. And
>>> because WebGPU can adresss modern GPU
>>> developed with the NVIDIA Volta evolution,
>>>
>>> which happened in 2017. Namley that compute
>>> shaders are not any more subject to the
>>> realization restriction of lock step
>>>
>>> execution, but have independent thread state.
>>> And because there is independent thread state
>>> there is also independent time spent for a
>>>
>>> a work item by each logical thread, if the
>>> submitted logical thread uses a lot of branching
>>> logic or even loops. But the use of branching
>>>
>>> and loops is encouraged in independent thread
>>> state programming of compute shaders. The variables
>>> that can drive such logic are the scalar variables:
>>>
>>> Tour of WGSL - Control Flow
>>> https://google.github.io/tour-of-wgsl/control-flow/
>>>
>>> Then not to waste GPU compute time, by logical
>>> threads doing nothing. You will need to
>>> introduce some load balancing among multiple
>>>
>>> logical threads. And MPMC queues are one way to
>>> readize load balancing. Compute shaders with
>>> producer and consumer entry points are proposed
>>>
>>> as fundamental architecture by Thunder Kittens:
>>>
>>> ThunderKittens: Simple, Fast, and Adorable AI Kernels
>>> https://arxiv.org/abs/2410.20399
>>>
>>> They are used by this SpaceX acquisition:
>>>
>>> Composer 2 Technical Report
>>> https://arxiv.org/abs/2603.24477
>>>
>>> Thunder Kittens uses Hardware support, i.e. tma_expect().
>>>
>>> Bye
>>>
>>> Chris M. Thomasson schrieb:
>>>  >> never meant to be used in a GPU.
>>>  >> Dmitry CAS version can be used, but
>>>  >>
>>>  >> Why do you even need a mpmc queue
>>>  >> in your compute shader anyway?
>>>
>>> Mild Shock schrieb:
>>>> Hi,
>>>>
>>>> This is quite fun, how some TLA+ guy fears
>>>> the full state of queue like the devil in
>>>> itself. But I guess if a service rate is
>>>>
>>>> low and the producer has not much to do to
>>>> produce its work items, the arrival rate
>>>> has nevertheless to adapt, and dealing
>>>>
>>>> with "full states", which are wrongly
>>>> called deadlock here, is the normal:
>>>>
>>>> Tutorial-style talk - BlockingQueue
>>>> https://github.com/lemmy/BlockingQueue/tree/main
>>>>
>>>> Prolog is in good position. The bird box
>>>> model has a redo port. So sometimes switching
>>>> from push to pull, can help without doing
>>>>
>>>> Deadlock Exorcism. You can also translate
>>>> the bird box ports into pi-calculus:
>>>>
>>>> A pi-calculus Specification of Prolog
>>>> Benjamin Z. Li - University of Pennsylvania
>>>> 11 Apr 1994, European Symposium on Programming,
>>>> Prolog, Unification, Backtracking
>>>> https://scispace.com/pdf/a-pi-calculus-specification-of-prolog-3qf2pf04ud.pdf 
>>>>
>>>>
>>>> Have Fun!
>>>>
>>>> Bye
>>>>
>>>> Mild Shock schrieb:> Hi,
>>>>  >
>>>>  > CAS and XADD have no looping, they
>>>>  > are atomic operations, that take some
>>>>  > time but basically have some outcome
>>>>  >
>>>>  > with some ACID property and a result
>>>>  > value. What loops is the ADT, the Abstract
>>>>  > Data Type that you implement. Respectively
>>>>  >
>>>>  > the client that uses the Abstract Data Type.
>>>>  > In your case you added the loop inside the
>>>>  > Abstract Data Type or lower level aggregate
>>>>  >
>>>>  > code of a higher level operation:
>>>>  >
>>>>  > Chris M. Thomasson wrote:
>>>>  > void producer(double state) {
>>>>  >      uint32_t ver = XADD(&head, 1);
>>>>  >      cell& c = cells[ver & (N - 1)];
>>>>  >      while (LOAD(&c.ver) != ver) backoff(); /** Looping **/
>>>>  >      c.state = state;
>>>>  >      STORE(&c.ver, ver + 1);
>>>>  > }
>>>>  > https://groups.google.com/g/lock-free/c/acjQ3-89abE/m/a6-Di0GZsyEJ
>>>>  >
>>>>  > In my case I added the loop during the client
>>>>  > usage of the ADT:
>>>>  >
>>>>  > From: Mild Shock <janburse@fastmail.fm>
>>>>  > Subject: Source of the benchmark for DmitryVyukov
>>>>  > Date: Tue, 21 Jul 2026 01:44:21 +0200
>>>>  >
>>>>  >      private static void producer(Queue q) {
>>>>  >          for (int i = 0; i < WORK; i++) {
>>>>  >              Integer val = Integer.valueOf(i);
>>>>  >              while (!enqueue(q, val)) ; /** Looping **/
>>>>  >          }
>>>>  >      }
>>>>  >
>>>>  > Do you see the two loops, in your C code
>>>>  > and in my Java code? They are marked with a
>>>>  > comment /** Looping **/ .
>>>>  >
>>>>  > You see them, don't you? But I don't know
>>>>  > exactly what backoff() does. Sometimes loops
>>>>  > are spurious yield loops, required because
>>>>  >
>>>>  > an ADT cannot gurantee that every yield
>>>>  > implies a certain condition. This is for
>>>>  > example already found in the intrinsinc
>>>>  >
>>>>  > monitor of Java, the wait(). You might consult
>>>>  > Doug Lea about the matter and how idiomatic
>>>>  > Java code looks like dealing with
>>>>  >
>>>>  > spurious yields.
>>>>  >
>>>>  > Bye
>>>>
>>>> Mild Shock schrieb:
>>>>> Hi,
>>>>>
>>>>> Remember when first all local AI was Python
>>>>> and PyTorch APIs. And then suddently people strated
>>>>> using bare metal C/C++ Code. Here is the story:
>>>>>
>>>>> How it started:
>>>>>
>>>>> GPT-J or GPT-J-6B is an open-source large
>>>>> language model (LLM) developed by EleutherAI
>>>>> in 2021. As the name suggests, it is a
>>>>> generative pre-trained transformer model
>>>>> designed to produce human-like text that
>>>>> continues from a prompt.
>>>>> https://www.eleuther.ai/
>>>>>
>>>>> How it was going [Georgi Gerganov]:
>>>>>
>>>>> So a few days later comes out the LLaMA, I do
>>>>> some calculations and I figure out “Okay, 65
>>>>> billion parameters. You probably need about
>>>>> 40 gigs of RAM, with 4-bit quantization. So
>>>>> this can run on a MacBook. Why not do it?”
>>>>>
>>>>> Why I was able to do it so quickly - basically,
>>>>> for all that I saw it’s pretty much GPT-J architecture
>>>>> with some modifications, like some extra memorization
>>>>> layers. It’s minor changes. Basically, again, the
>>>>> existing code for the GPT-J, I just simply
>>>>> modified it there, it happened pretty quickly.
>>>>> https://changelog.com/podcast/532
>>>>>
>>>>> Georgi Gerganov, Bulgarian, now with Hugging
>>>>> Face, ggml-cann also running on Chinese AI chips.
>>>>> ggml Manifesto https://github.com/ggml-org/ggml
>>>>>
>>>>> Bye
>>>>>
>>>>
>>>
>>
> 

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


#671609 — Re: Why do you even need a mpmc queue? [Thunder Kittens] (Re: Deadlock Exorcism: Switch from Push to Pull)

FromRoss Finlayson <ross.a.finlayson@gmail.com>
Date2026-07-23 08:24 -0700
SubjectRe: Why do you even need a mpmc queue? [Thunder Kittens] (Re: Deadlock Exorcism: Switch from Push to Pull)
Message-ID<u6ydnQpOKMGrr__3nZ2dnZfqn_ednZ2d@giganews.com>
In reply to#671597
On 07/22/2026 11:43 PM, Mild Shock wrote:
> Hi,
>
> Because I use WebGPU and not WebGL. And
> because WebGPU can adresss modern GPU
> developed with the NVIDIA Volta evolution,
>
> which happened in 2017. Namley that compute
> shaders are not any more subject to the
> realization restriction of lock step
>
> execution, but have independent thread state.
> And because there is independent thread state
> there is also independent time spent for a
>
> a work item by each logical thread, if the
> submitted logical thread uses a lot of branching
> logic or even loops. But the use of branching
>
> and loops is encouraged in independent thread
> state programming of compute shaders. The variables
> that can drive such logic are the scalar variables:
>
> Tour of WGSL - Control Flow
> https://google.github.io/tour-of-wgsl/control-flow/
>
> Then not to waste GPU compute time, by logical
> threads doing nothing. You will need to
> introduce some load balancing among multiple
>
> logical threads. And MPMC queues are one way to
> readize load balancing. Compute shaders with
> producer and consumer entry points are proposed
>
> as fundamental architecture by Thunder Kittens:
>
> ThunderKittens: Simple, Fast, and Adorable AI Kernels
> https://arxiv.org/abs/2410.20399
>
> They are used by this SpaceX acquisition:
>
> Composer 2 Technical Report
> https://arxiv.org/abs/2603.24477
>
> Thunder Kittens uses Hardware support, i.e. tma_expect().
>
> Bye
>
> Chris M. Thomasson schrieb:
>  >> never meant to be used in a GPU.
>  >> Dmitry CAS version can be used, but
>  >>
>  >> Why do you even need a mpmc queue
>  >> in your compute shader anyway?
>
> Mild Shock schrieb:
>> Hi,
>>
>> This is quite fun, how some TLA+ guy fears
>> the full state of queue like the devil in
>> itself. But I guess if a service rate is
>>
>> low and the producer has not much to do to
>> produce its work items, the arrival rate
>> has nevertheless to adapt, and dealing
>>
>> with "full states", which are wrongly
>> called deadlock here, is the normal:
>>
>> Tutorial-style talk - BlockingQueue
>> https://github.com/lemmy/BlockingQueue/tree/main
>>
>> Prolog is in good position. The bird box
>> model has a redo port. So sometimes switching
>> from push to pull, can help without doing
>>
>> Deadlock Exorcism. You can also translate
>> the bird box ports into pi-calculus:
>>
>> A pi-calculus Specification of Prolog
>> Benjamin Z. Li - University of Pennsylvania
>> 11 Apr 1994, European Symposium on Programming,
>> Prolog, Unification, Backtracking
>> https://scispace.com/pdf/a-pi-calculus-specification-of-prolog-3qf2pf04ud.pdf
>>
>>
>> Have Fun!
>>
>> Bye
>>
>> Mild Shock schrieb:> Hi,
>>  >
>>  > CAS and XADD have no looping, they
>>  > are atomic operations, that take some
>>  > time but basically have some outcome
>>  >
>>  > with some ACID property and a result
>>  > value. What loops is the ADT, the Abstract
>>  > Data Type that you implement. Respectively
>>  >
>>  > the client that uses the Abstract Data Type.
>>  > In your case you added the loop inside the
>>  > Abstract Data Type or lower level aggregate
>>  >
>>  > code of a higher level operation:
>>  >
>>  > Chris M. Thomasson wrote:
>>  > void producer(double state) {
>>  >      uint32_t ver = XADD(&head, 1);
>>  >      cell& c = cells[ver & (N - 1)];
>>  >      while (LOAD(&c.ver) != ver) backoff(); /** Looping **/
>>  >      c.state = state;
>>  >      STORE(&c.ver, ver + 1);
>>  > }
>>  > https://groups.google.com/g/lock-free/c/acjQ3-89abE/m/a6-Di0GZsyEJ
>>  >
>>  > In my case I added the loop during the client
>>  > usage of the ADT:
>>  >
>>  > From: Mild Shock <janburse@fastmail.fm>
>>  > Subject: Source of the benchmark for DmitryVyukov
>>  > Date: Tue, 21 Jul 2026 01:44:21 +0200
>>  >
>>  >      private static void producer(Queue q) {
>>  >          for (int i = 0; i < WORK; i++) {
>>  >              Integer val = Integer.valueOf(i);
>>  >              while (!enqueue(q, val)) ; /** Looping **/
>>  >          }
>>  >      }
>>  >
>>  > Do you see the two loops, in your C code
>>  > and in my Java code? They are marked with a
>>  > comment /** Looping **/ .
>>  >
>>  > You see them, don't you? But I don't know
>>  > exactly what backoff() does. Sometimes loops
>>  > are spurious yield loops, required because
>>  >
>>  > an ADT cannot gurantee that every yield
>>  > implies a certain condition. This is for
>>  > example already found in the intrinsinc
>>  >
>>  > monitor of Java, the wait(). You might consult
>>  > Doug Lea about the matter and how idiomatic
>>  > Java code looks like dealing with
>>  >
>>  > spurious yields.
>>  >
>>  > Bye
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> Remember when first all local AI was Python
>>> and PyTorch APIs. And then suddently people strated
>>> using bare metal C/C++ Code. Here is the story:
>>>
>>> How it started:
>>>
>>> GPT-J or GPT-J-6B is an open-source large
>>> language model (LLM) developed by EleutherAI
>>> in 2021. As the name suggests, it is a
>>> generative pre-trained transformer model
>>> designed to produce human-like text that
>>> continues from a prompt.
>>> https://www.eleuther.ai/
>>>
>>> How it was going [Georgi Gerganov]:
>>>
>>> So a few days later comes out the LLaMA, I do
>>> some calculations and I figure out “Okay, 65
>>> billion parameters. You probably need about
>>> 40 gigs of RAM, with 4-bit quantization. So
>>> this can run on a MacBook. Why not do it?”
>>>
>>> Why I was able to do it so quickly - basically,
>>> for all that I saw it’s pretty much GPT-J architecture
>>> with some modifications, like some extra memorization
>>> layers. It’s minor changes. Basically, again, the
>>> existing code for the GPT-J, I just simply
>>> modified it there, it happened pretty quickly.
>>> https://changelog.com/podcast/532
>>>
>>> Georgi Gerganov, Bulgarian, now with Hugging
>>> Face, ggml-cann also running on Chinese AI chips.
>>> ggml Manifesto https://github.com/ggml-org/ggml
>>>
>>> Bye
>>>
>>
>

Multiplexer/demultiplexer or mux/demux, num-nuts.


Shut Up


If you haven't heard of a mux/demux,
it's the basic foundation of all internetworking.

Like "why would one even need inetd",
or, "sockets" or "packets".


P.S. I've never asked you a question.


Shut Up

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


#671601 — Potential Python Recovery: Free Threading [3.13 release] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto])

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 10:19 +0200
SubjectPotential Python Recovery: Free Threading [3.13 release] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto])
Message-ID<113sir5$8qij$1@solani.org>
In reply to#671581
Hi,

For those who didn't get it. Its not about programming
languages Python versus C/C++ per se. Its about the
runtime enviroments they deliver and/or require.

Python is traditionally bugged by the GIL (Global
Interpreter Lock). I tested this here with Python,
using just a porting of the Java class Thread:

Parallel π-WAM: 1.7 Giga Lips on a CPU
https://medium.com/@janburse_2989/parallel-%CF%80-wam-1-9-giga-lips-on-a-cpu-8a984e75af44

It didn't work. Horrible performance of threading.Thread.
But most of AI does utilize both CPU and GPU, and
bare metal access to system threads, with the avoidance

some annoying GIL nonsense, is essential. But there
is a silver lining on the horizon. Namely free
threading, Starting with the 3.13 release,

but I havent tested it yet:

Python support for free threading
https://docs.python.org/3/howto/free-threading-python.html

Bye

Mild Shock schrieb:
> Hi,
> 
> Remember when first all local AI was Python
> and PyTorch APIs. And then suddently people strated
> using bare metal C/C++ Code. Here is the story:
> 
> How it started:
> 
> GPT-J or GPT-J-6B is an open-source large
> language model (LLM) developed by EleutherAI
> in 2021. As the name suggests, it is a
> generative pre-trained transformer model
> designed to produce human-like text that
> continues from a prompt.
> https://www.eleuther.ai/
> 
> How it was going [Georgi Gerganov]:
> 
> So a few days later comes out the LLaMA, I do
> some calculations and I figure out “Okay, 65
> billion parameters. You probably need about
> 40 gigs of RAM, with 4-bit quantization. So
> this can run on a MacBook. Why not do it?”
> 
> Why I was able to do it so quickly - basically,
> for all that I saw it’s pretty much GPT-J architecture
> with some modifications, like some extra memorization
> layers. It’s minor changes. Basically, again, the
> existing code for the GPT-J, I just simply
> modified it there, it happened pretty quickly.
> https://changelog.com/podcast/532
> 
> Georgi Gerganov, Bulgarian, now with Hugging
> Face, ggml-cann also running on Chinese AI chips.
> ggml Manifesto https://github.com/ggml-org/ggml
> 
> Bye
> 

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


#671611 — Re: Potential Python Recovery: Free Threading [3.13 release] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto])

FromRoss Valikhanov <kavna@rl.ru>
Date2026-07-23 16:01 +0000
SubjectRe: Potential Python Recovery: Free Threading [3.13 release] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto])
Message-ID<113tdti$2ianr$1@news.nntp4.net>
In reply to#671601
Mild Shock wrote:

> For those who didn't get it. Its not about programming languages Python
> versus C/C++ per se. Its about the runtime enviroments they deliver
> and/or require.

Russia is doing again historical blunder again after Gorbachev. sitting 
with war criminal in the battle field is shame. war criminal Yanks never 
respect diplomacy, never comply any agreement. while US terrorist State 
continousely supplying arms and intelligence and continuing sanction whats 
the point here diplomacy. Russian is suiciding politicaly. its declaration 
of weakness. world must be more cautious resistance against American 
hegemony. disaster

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


#671607

FromRamon Dubenkov <omd@nnk.ru>
Date2026-07-23 13:38 +0000
Message-ID<113t5gv$2hr65$1@news.nntp4.net>
In reply to#671581
Mild Shock wrote:

> So a few days later comes out the LLaMA, I do some calculations and I
> figure out “Okay, 65 billion parameters. You probably need about 40 gigs
> of RAM, with 4-bit quantization. So this can run on a MacBook. Why not
> do it?”

you are a shame to your mother

Perplexity Increase: Quantizing to 4-bit typically increases perplexity

Reasoning & Coding: Complex reasoning chains and coding tasks suffer  

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


#671617 — The things XILINX braught to the AMD table (Was: The Wuhan Virus that destroyed Python [ggml Manifesto])

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 18:47 +0200
SubjectThe things XILINX braught to the AMD table (Was: The Wuhan Virus that destroyed Python [ggml Manifesto])
Message-ID<113tgid$9gao$1@solani.org>
In reply to#671581
Hi,

While HBM and RDMA happen outside of a the main
silicon chip. Amazing things are now happening
inside a silicon chip as found in AI laptops.

Basically XILINX later acquired by AMD, had
already the Versal architecture. Where FGPA was
used to custom wire chips. The Versal area
had already Network-on-Chip (NoC):
https://www.adiuvoengineering.com/post/microzed-chronicles-versal-part-two-device-architecture

While a Ryzen AI 7 350 /w Radeon 860M does not
really have a versal area anymore. But the
Network-on-Chip (NoC) survived, with twist:

GEMM Performance Generations of Ryzen AI NPUs
4.3 On-The-Fly Tensor Transformations
We extensively exploit the multi-dimensional
addressing feature of DMAs to reorganize data into
tiled layouts, as needed by the NPU cores.
https://arxiv.org/abs/2512.13282v1

Bye

Mild Shock schrieb:
> Hi,
> 
> Remember when first all local AI was Python
> and PyTorch APIs. And then suddently people strated
> using bare metal C/C++ Code. Here is the story:
> 
> How it started:
> 
> GPT-J or GPT-J-6B is an open-source large
> language model (LLM) developed by EleutherAI
> in 2021. As the name suggests, it is a
> generative pre-trained transformer model
> designed to produce human-like text that
> continues from a prompt.
> https://www.eleuther.ai/
> 
> How it was going [Georgi Gerganov]:
> 
> So a few days later comes out the LLaMA, I do
> some calculations and I figure out “Okay, 65
> billion parameters. You probably need about
> 40 gigs of RAM, with 4-bit quantization. So
> this can run on a MacBook. Why not do it?”
> 
> Why I was able to do it so quickly - basically,
> for all that I saw it’s pretty much GPT-J architecture
> with some modifications, like some extra memorization
> layers. It’s minor changes. Basically, again, the
> existing code for the GPT-J, I just simply
> modified it there, it happened pretty quickly.
> https://changelog.com/podcast/532
> 
> Georgi Gerganov, Bulgarian, now with Hugging
> Face, ggml-cann also running on Chinese AI chips.
> ggml Manifesto https://github.com/ggml-org/ggml
> 
> Bye
> 

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


#671619 — NIVIDIA evacuated its Chinese market [Tau Scaling] (Was: The things XILINX braught to the AMD table)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 19:11 +0200
SubjectNIVIDIA evacuated its Chinese market [Tau Scaling] (Was: The things XILINX braught to the AMD table)
Message-ID<113ti0k$9hkp$1@solani.org>
In reply to#671617
Hi,

How it started:

Captain: Throw the switch, Scotty!
Enterprise: Cloaking Device makes it invisible
Spock: Military secrets are the most fleeting of all.
Kirk Escapes the Romulans - The Enterprise Incident
https://www.youtube.com/watch?v=AusAGjwlql8

How its going:

CEO Jensen Huang said the company has “largely
conceded” China’s artificial intelligence chip
market to Huawei, as U.S. export restrictions
continue to reshape the global AI semiconductor landscape.
https://www.cnbc.com/2026/05/21/nvidia-jensen-huang-china-ai-chip-market-huawei.html

Bye

P.S.: What does China do?

Huawei’s semiconductor chief He Tingbo at the IEEE
ISCAS 2026 conference, Huawei's Tau Scaling Law is a newly
introduced semiconductor design framework that
shifts the industry’s optimization focus from
geometric scaling (shrinking physical transistor
sizes) to temporal scaling (compressing signal
propagation delay).
Nvidia Gave Up China - 4 Days Later THIS Happened
https://www.youtube.com/watch?v=dLLw-qADKSU

Mild Shock schrieb:
> Hi,
> 
> While HBM and RDMA happen outside of a the main
> silicon chip. Amazing things are now happening
> inside a silicon chip as found in AI laptops.
> 
> Basically XILINX later acquired by AMD, had
> already the Versal architecture. Where FGPA was
> used to custom wire chips. The Versal area
> had already Network-on-Chip (NoC):
> https://www.adiuvoengineering.com/post/microzed-chronicles-versal-part-two-device-architecture 
> 
> 
> While a Ryzen AI 7 350 /w Radeon 860M does not
> really have a versal area anymore. But the
> Network-on-Chip (NoC) survived, with twist:
> 
> GEMM Performance Generations of Ryzen AI NPUs
> 4.3 On-The-Fly Tensor Transformations
> We extensively exploit the multi-dimensional
> addressing feature of DMAs to reorganize data into
> tiled layouts, as needed by the NPU cores.
> https://arxiv.org/abs/2512.13282v1
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Remember when first all local AI was Python
>> and PyTorch APIs. And then suddently people strated
>> using bare metal C/C++ Code. Here is the story:
>>
>> How it started:
>>
>> GPT-J or GPT-J-6B is an open-source large
>> language model (LLM) developed by EleutherAI
>> in 2021. As the name suggests, it is a
>> generative pre-trained transformer model
>> designed to produce human-like text that
>> continues from a prompt.
>> https://www.eleuther.ai/
>>
>> How it was going [Georgi Gerganov]:
>>
>> So a few days later comes out the LLaMA, I do
>> some calculations and I figure out “Okay, 65
>> billion parameters. You probably need about
>> 40 gigs of RAM, with 4-bit quantization. So
>> this can run on a MacBook. Why not do it?”
>>
>> Why I was able to do it so quickly - basically,
>> for all that I saw it’s pretty much GPT-J architecture
>> with some modifications, like some extra memorization
>> layers. It’s minor changes. Basically, again, the
>> existing code for the GPT-J, I just simply
>> modified it there, it happened pretty quickly.
>> https://changelog.com/podcast/532
>>
>> Georgi Gerganov, Bulgarian, now with Hugging
>> Face, ggml-cann also running on Chinese AI chips.
>> ggml Manifesto https://github.com/ggml-org/ggml
>>
>> Bye
>>
> 

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


#671620 — NVIDIA evacuated its Chinese market [Tau Scaling] (Re: The things XILINX braught to the AMD table)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-23 19:12 +0200
SubjectNVIDIA evacuated its Chinese market [Tau Scaling] (Re: The things XILINX braught to the AMD table)
Message-ID<113ti1u$9hkp$2@solani.org>
In reply to#671617
Hi,

How it started:

Captain: Throw the switch, Scotty!
Enterprise: Cloaking Device makes it invisible
Spock: Military secrets are the most fleeting of all.
Kirk Escapes the Romulans - The Enterprise Incident
https://www.youtube.com/watch?v=AusAGjwlql8

How its going:

CEO Jensen Huang said the company has “largely
conceded” China’s artificial intelligence chip
market to Huawei, as U.S. export restrictions
continue to reshape the global AI semiconductor landscape.
https://www.cnbc.com/2026/05/21/nvidia-jensen-huang-china-ai-chip-market-huawei.html

Bye

P.S.: What does China do?

Huawei’s semiconductor chief He Tingbo at the IEEE
ISCAS 2026 conference, Huawei's Tau Scaling Law is a newly
introduced semiconductor design framework that
shifts the industry’s optimization focus from
geometric scaling (shrinking physical transistor
sizes) to temporal scaling (compressing signal
propagation delay).
Nvidia Gave Up China - 4 Days Later THIS Happened
https://www.youtube.com/watch?v=dLLw-qADKSU

Mild Shock schrieb:
> Hi,
> 
> While HBM and RDMA happen outside of a the main
> silicon chip. Amazing things are now happening
> inside a silicon chip as found in AI laptops.
> 
> Basically XILINX later acquired by AMD, had
> already the Versal architecture. Where FGPA was
> used to custom wire chips. The Versal area
> had already Network-on-Chip (NoC):
> https://www.adiuvoengineering.com/post/microzed-chronicles-versal-part-two-device-architecture 
> 
> 
> While a Ryzen AI 7 350 /w Radeon 860M does not
> really have a versal area anymore. But the
> Network-on-Chip (NoC) survived, with twist:
> 
> GEMM Performance Generations of Ryzen AI NPUs
> 4.3 On-The-Fly Tensor Transformations
> We extensively exploit the multi-dimensional
> addressing feature of DMAs to reorganize data into
> tiled layouts, as needed by the NPU cores.
> https://arxiv.org/abs/2512.13282v1
> 
> Bye
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Remember when first all local AI was Python
>> and PyTorch APIs. And then suddently people strated
>> using bare metal C/C++ Code. Here is the story:
>>
>> How it started:
>>
>> GPT-J or GPT-J-6B is an open-source large
>> language model (LLM) developed by EleutherAI
>> in 2021. As the name suggests, it is a
>> generative pre-trained transformer model
>> designed to produce human-like text that
>> continues from a prompt.
>> https://www.eleuther.ai/
>>
>> How it was going [Georgi Gerganov]:
>>
>> So a few days later comes out the LLaMA, I do
>> some calculations and I figure out “Okay, 65
>> billion parameters. You probably need about
>> 40 gigs of RAM, with 4-bit quantization. So
>> this can run on a MacBook. Why not do it?”
>>
>> Why I was able to do it so quickly - basically,
>> for all that I saw it’s pretty much GPT-J architecture
>> with some modifications, like some extra memorization
>> layers. It’s minor changes. Basically, again, the
>> existing code for the GPT-J, I just simply
>> modified it there, it happened pretty quickly.
>> https://changelog.com/podcast/532
>>
>> Georgi Gerganov, Bulgarian, now with Hugging
>> Face, ggml-cann also running on Chinese AI chips.
>> ggml Manifesto https://github.com/ggml-org/ggml
>>
>> Bye
>>
> 

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


#671621 — Re: NVIDIA evacuated its Chinese market [Tau Scaling] (Re: The things XILINX braught to the AMD table)

FromLane W <cactus_DAC@yahoo.com>
Date2026-07-23 11:22 -0600
SubjectRe: NVIDIA evacuated its Chinese market [Tau Scaling] (Re: The things XILINX braught to the AMD table)
Message-ID<113tikr$1a1o$1@dont-email.me>
In reply to#671620
Mild Shock wrote:
> Hi,
> 
> How it started:
> 
> Captain: Throw the switch, Scotty!
> Enterprise: Cloaking Device makes it invisible

You stupid ass. You posted this twice.

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


#671630 — Micro penis mother sung arias (Was: NVIDIA evacuated its Chinese market [Tau Scaling])

FromMild Shock <janburse@fastmail.fm>
Date2026-07-24 14:38 +0200
SubjectMicro penis mother sung arias (Was: NVIDIA evacuated its Chinese market [Tau Scaling])
Message-ID<113vmd3$bed5$1@solani.org>
In reply to#671621
Hi,

My mother is worried that I fucked Lane W.
aka Micro Penis mother 24 hours straight.
She was screaming, basically singing all

the arias from operas that Luciano Pavarotti
usually sings. You Lane W. aka Micro Penis
should have heard it, since you

live in the basement of your mothers house.

Bye

Lane W schrieb:
> Mild Shock wrote:
>> Hi,
>>
>> How it started:
>>
>> Captain: Throw the switch, Scotty!
>> Enterprise: Cloaking Device makes it invisible
> 
> You stupid ass. You posted this twice.

> Mild Shock wrote:
> 
>> So a few days later comes out the LLaMA, I do some calculations and I
>> figure out “Okay, 65 billion parameters. You probably need about 40 gigs
>> of RAM, with 4-bit quantization. So this can run on a MacBook. Why not
>> do it?”
> 
> you are a shame to your mother
> 
> Perplexity Increase: Quantizing to 4-bit typically increases perplexity
> 
> Reasoning & Coding: Complex reasoning chains and coding tasks suffer  

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


#671634 — Re: Micro penis mother sung arias (Was: NVIDIA evacuated its Chinese market [Tau Scaling])

FromLane W <cactus_DAC@yahoo.com>
Date2026-07-24 07:15 -0600
SubjectRe: Micro penis mother sung arias (Was: NVIDIA evacuated its Chinese market [Tau Scaling])
Message-ID<113vohs$n1t0$1@dont-email.me>
In reply to#671630
Mild Shock wrote:
> Hi,
> 
> My mother is worried that I fucked Lane W.
> aka Micro Penis mother 24 hours straight.
> She was screaming, basically singing all
> 
> the arias from operas that Luciano Pavarotti
> usually sings. You Lane W. aka Micro Penis
> should have heard it, since you
> 
> live in the basement of your mothers house.

No, actually remarkably, I don't. According to google I live 433 miles 
away from her.

Strike!

See, what i said about you was spot on.

What you said about me was generic and incorrect.

You really suck, man.

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


#671635 — Micro penis brain is in constant hiatus (Was: Micro penis mother sung arias)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-24 15:24 +0200
SubjectMicro penis brain is in constant hiatus (Was: Micro penis mother sung arias)
Message-ID<6242346b-a0e5-3b19-487b-5ef8afbc80b2@fastmail.fm>
In reply to#671634
Hi,

Micro penis brain is in constant hiatus.
He can even not detect a trope.

LoL

Bye

Lane W schrieb:
> Mild Shock wrote:
>> Hi,
>>
>> My mother is worried that I fucked Lane W.
>> aka Micro Penis mother 24 hours straight.
>> She was screaming, basically singing all
>>
>> the arias from operas that Luciano Pavarotti
>> usually sings. You Lane W. aka Micro Penis
>> should have heard it, since you
>>
>> live in the basement of your mothers house.
> 
> No, actually remarkably, I don't. According to google I live 433 miles 
> away from her.
> 
> Strike!
> 
> See, what i said about you was spot on.
> 
> What you said about me was generic and incorrect.
> 
> You really suck, man.

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


#671636 — Re: Micro penis brain is in constant hiatus (Was: Micro penis mother sung arias)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-24 15:36 +0200
SubjectRe: Micro penis brain is in constant hiatus (Was: Micro penis mother sung arias)
Message-ID<113vpph$bguk$2@solani.org>
In reply to#671635
Hi,

If any of you guys do not understand what
is meant by or what the implications are:

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

Well I wouldn't care less. There are two
outcomes for numb nuts:

- Ignoramus: They don't understand it, but
   they will understand it before they die.

- Ignorabimus: They don't understand it, and
   will never understand it, and they die.

So who cares, its not my problem, you people
are stupid as fuck, and slow as fuck...

Bye

Mild Shock schrieb:
> Hi,
> 
> Micro penis brain is in constant hiatus.
> He can even not detect a trope.
> 
> LoL
> 
> Bye
> 
> Lane W schrieb:
>> Mild Shock wrote:
>>> Hi,
>>>
>>> My mother is worried that I fucked Lane W.
>>> aka Micro Penis mother 24 hours straight.
>>> She was screaming, basically singing all
>>>
>>> the arias from operas that Luciano Pavarotti
>>> usually sings. You Lane W. aka Micro Penis
>>> should have heard it, since you
>>>
>>> live in the basement of your mothers house.
>>
>> No, actually remarkably, I don't. According to google I live 433 miles 
>> away from her.
>>
>> Strike!
>>
>> See, what i said about you was spot on.
>>
>> What you said about me was generic and incorrect.
>>
>> You really suck, man.
> 

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


#671637 — Ignoramus or Ignorabimus: I don't care (π-WAM) (Re: Micro penis brain is in constant hiatus)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-24 15:38 +0200
SubjectIgnoramus or Ignorabimus: I don't care (π-WAM) (Re: Micro penis brain is in constant hiatus)
Message-ID<113vprv$bguk$3@solani.org>
In reply to#671635
Hi,

If any of you guys do not understand what
is meant by or what the implications are:

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

Well I wouldn't care less. There are two
outcomes for numb nuts:

- Ignoramus: They don't understand it, but
   they will understand it before they die.

- Ignorabimus: They don't understand it, and
   will never understand it, and they die.

So who cares, its not my problem, you people
are stupid as fuck, and slow as fuck...

Bye

Mild Shock schrieb:
> Hi,
> 
> Micro penis brain is in constant hiatus.
> He can even not detect a trope.
> 
> LoL
> 
> Bye
> 
> Lane W schrieb:
>> Mild Shock wrote:
>>> Hi,
>>>
>>> My mother is worried that I fucked Lane W.
>>> aka Micro Penis mother 24 hours straight.
>>> She was screaming, basically singing all
>>>
>>> the arias from operas that Luciano Pavarotti
>>> usually sings. You Lane W. aka Micro Penis
>>> should have heard it, since you
>>>
>>> live in the basement of your mothers house.
>>
>> No, actually remarkably, I don't. According to google I live 433 miles 
>> away from her.
>>
>> Strike!
>>
>> See, what i said about you was spot on.
>>
>> What you said about me was generic and incorrect.
>>
>> You really suck, man.
> 

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


#671638 — Re: Ignoramus or Ignorabimus: I don't care (π-WAM) (Re: Micro penis brain is in constant hiatus)

FromLane W <cactus_DAC@yahoo.com>
Date2026-07-24 08:31 -0600
SubjectRe: Ignoramus or Ignorabimus: I don't care (π-WAM) (Re: Micro penis brain is in constant hiatus)
Message-ID<113vt0k$omu1$1@dont-email.me>
In reply to#671637
Mild Shock wrote:
> Hi,
> 
> If any of you guys do not understand what
> is meant by or what the implications are:
> 
> 11.4 Giga Lips with a Budget Laptop
> https://github.com/Jean-Luc-Picard-2021/gigabudget

sci.math, I need to warn you that Mild Shock is profoundly insecure. He 
is entirely incapable of admitting fault, such as when he totally fucked 
up by accusing me of living in my mother's basement. What a joke. I 
haven't lived with my parents since 2003. Mild Shock is a total fuckup 
and dreadfully misinformed + insecure.

sci.physics.relativity, I need to warn you that Mild Shock is 
embarrassing and inferior. He is likely to spend all summer squabbling 
about some generic accusations, without a shred of proof, that he will 
level in my direction. Mild Shock has no idea who I am or what I 
represent, and he is basically floundering, really similar in fashion to 
how a stupid asshole does.

I'm living the American Dream.

He is more generic than an AI overview of the typical lowlife Gen X that 
it will bring up on every screen in America. Goodness, how formulaic and 
blasé.

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


Page 1 of 2  [1] 2  Next page →

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


csiph-web