Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > sci.physics.relativity > #671581 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2026-07-22 21:00 +0200 |
| Last post | 2026-07-24 20:57 +0200 |
| Articles | 20 on this page of 33 — 6 participants |
Back to article view | Back to sci.physics.relativity
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
Re: You are a moron, brainless putin payed (Was: Ignoramus or Ignorabimus: I don't care (π-WAM)) Lane W <cactus_DAC@yahoo.com> - 2026-07-24 10:27 -0600
Yeah keep reading my posts, uninspired fool (Was: You are a moron, brainless putin payed) Mild Shock <janburse@fastmail.fm> - 2026-07-24 19:45 +0200
Re: Yeah keep reading my posts, uninspired fool (Was: You are a moron, brainless putin payed) Lane W <cactus_DAC@yahoo.com> - 2026-07-24 12:11 -0600
LoL (Was: Yeah keep reading my posts, uninspired fool ) Mild Shock <janburse@fastmail.fm> - 2026-07-24 20:12 +0200
Re: LoL (Was: Yeah keep reading my posts, uninspired fool ) Lane W <cactus_DAC@yahoo.com> - 2026-07-24 12:53 -0600
Out of the blue accusation span 15 days [Empirical USENET study] (Was: Ignoramus or Ignorabimus: I don't care (π-WAM)) Mild Shock <janburse@fastmail.fm> - 2026-07-24 20:26 +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
2008: 4 Blades + Tesla S1070 versus 2026: 1 AI Laptop (Re: Little Data Center on Your Palm [AI Laptops for 500 USD]) Mild Shock <janburse@fastmail.fm> - 2026-07-24 18:16 +0200
Re: Little Data Center on Your Palm [AI Laptops for 500 USD] (Was: The Wuhan Virus that destroyed Python [ggml Manifesto] Bradford Babkoff <ffb@odbb.ru> - 2026-07-24 18:05 +0000
LoL (Was: Little Data Center on Your Palm [AI Laptops for 500 USD]) Mild Shock <janburse@fastmail.fm> - 2026-07-24 20:11 +0200
Hurry the blue bus doesnt stop indefinitely (Was: The Wuhan Virus that destroyed Python [ggml Manifesto]) Mild Shock <janburse@fastmail.fm> - 2026-07-24 20:36 +0200
Not SIMD, a MIMD design for NVIDIA Volta (Re: Hurry the blue bus doesnt stop indefinitely) Mild Shock <janburse@fastmail.fm> - 2026-07-24 20:57 +0200
Page 1 of 2 [1] 2 Next page →
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-22 21:00 +0200 |
| Subject | The 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 00:23 +0200 |
| Subject | Deadlock 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 08:43 +0200 |
| Subject | Why 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 08:57 +0200 |
| Subject | Trivial 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 09:11 +0200 |
| Subject | Enqueue/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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 09:21 +0200 |
| Subject | The 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]
| From | Ross Finlayson <ross.a.finlayson@gmail.com> |
|---|---|
| Date | 2026-07-23 08:24 -0700 |
| Subject | Re: 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 10:19 +0200 |
| Subject | Potential 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]
| From | Ross Valikhanov <kavna@rl.ru> |
|---|---|
| Date | 2026-07-23 16:01 +0000 |
| Subject | Re: 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]
| From | Ramon Dubenkov <omd@nnk.ru> |
|---|---|
| Date | 2026-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 18:47 +0200 |
| Subject | The 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 19:11 +0200 |
| Subject | NIVIDIA 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-23 19:12 +0200 |
| Subject | NVIDIA 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]
| From | Lane W <cactus_DAC@yahoo.com> |
|---|---|
| Date | 2026-07-23 11:22 -0600 |
| Subject | Re: 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-24 14:38 +0200 |
| Subject | Micro 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]
| From | Lane W <cactus_DAC@yahoo.com> |
|---|---|
| Date | 2026-07-24 07:15 -0600 |
| Subject | Re: 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-24 15:24 +0200 |
| Subject | Micro 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-24 15:36 +0200 |
| Subject | Re: 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-24 15:38 +0200 |
| Subject | Ignoramus 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]
| From | Lane W <cactus_DAC@yahoo.com> |
|---|---|
| Date | 2026-07-24 08:31 -0600 |
| Subject | Re: 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