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


Groups > comp.lang.java.programmer > #53765

Parallel π-WAM: JavaScript Workers as CPU Backend (Re: Parallel π-WAM: 1.7 Giga Lips on a CPU)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.java.programmer
Subject Parallel π-WAM: JavaScript Workers as CPU Backend (Re: Parallel π-WAM: 1.7 Giga Lips on a CPU)
Date 2026-07-20 19:29 +0200
Message-ID <113lltp$4r9r$3@solani.org> (permalink)
References <112jcvo$5860$3@solani.org> <112lun0$75rr$4@solani.org> <1138bmu$58mb$6@solani.org>

Show all headers | View raw


Hi,

We recently implemented a parallel π-WAM on
a CPU backend and could demonstrate an
estimated 1.7 Giga Lips. This CPU backend
was written in Java, uses Java platform
threads and is meanwhile part of library(edge/
brainfog). In the following we report first
porting steps to JavaScript.

With the adoption of JavaScript workers we
embrace preemptive multithreading, even
for a Web Prolog, and depart from Dogelog
Players cooperative multitasking. The design
also adopts SharedArrayBuffer to replicate
the Java heap, that is shared among
Java platform threads.

Bye

See also:

Parallel π-WAM: JavaScript Workers as CPU Backend
https://medium.com/2989/5ef903e5e785

Mild Shock schrieb:
> Hi,
> 
> We recently implemented a parallel π-WAM
> on a GPU backend and could demonstrate an
> estimated 11.4 Giga Lips. In this post we
> report a further experiment, this time
> presenting a parallel π-WAM on a CPU backend,
> that can lift specialized Prolog, currently
> to 1.7 Giga Lips performance.
> 
> Having an excess number of threads is a
> bad idea. What if we do context switching
> on our own? With this approach we could
> bring down the execution time of 128 Hack
> VMs by 33%. We estimate for the test which
> had 11.4 GLips on the GPU, that we reach
> 1.7 GLips on the CPU.
> 
> Bye
> 
> See also:
> 
> Parallel π-WAM: 1.7 Giga Lips on a CPU
> https://medium.com/2989/8a984e75af44
> 
> Mild Shock schrieb:
>> Hi,
>>
>> At the end of 2025 we acquired a couple of AI
>> Laptops , that were still cheap, since RAM prices
>> had not yet rocketed. The intend was to tap into
>> the Copilot+ certified hardware, and shave off
>> some of the TOPS to do Prolog inferencing. Amazingly
>> our π-WAM can churn 11.4 GIGA LIPS.
>>
>> GPUs have evolved form lock-step to independent
>> thread scheduling. This made it possible to port
>> the Hack VM variant, that forms the basis for
>> our π-WAM, to WebGPU computer shaders. Using
>> NUM_SHADERS = 4096 we could produce 11.4 Giga Lips
>> on a Ryzen AI 7 350 w/ Radeon 860M.
>>
>> Bye
>>
>> See also:
>>
>> Dogelog Player: 11.4 Giga Lips with a Budget Laptop
>> https://medium.com/2989/899b0d5c027b
>>
>> Mild Shock schrieb:
>>> Dear All,
>>>
>>> We are happy to announce a new edition of
>>> the Dogelog Player:
>>>
>>> - Unicode 17.0:
>>> We lifted the Dogelog Player for Java build
>>> to JDK 26 and regenerated our Unicode database
>>> for category and number value for the JavaScript
>>> and Python build. The supported version is now
>>> 17.0 and we managed somehow to reduce the footprint
>>> from 16848 words to 15000 words.
>>>
>>> - Emulating π-WAM:
>>> The new library(edge/brainfog) permits the
>>> execution of certain Prolog goals in a π-WAM
>>> backend. The concept of a π-WAM embraces a
>>> fusion of a processs (π) calculus and a Warren
>>> Abstract Machine (WAM). Optimized for speed the
>>> WAM is very primitive and currently only supports
>>> the ‘$SEQ’/2 control construct, plus rudimentary
>>> 32-bit integer arithmetic and between/3.
>>>
>>> - Executing π-WAM:
>>> Both emulate/1 and execute/1 compile into an
>>> identical instruction stream. In the virtual
>>> machine the instructions are 32-bit inspired by
>>> combinations of the 16-bit A and C instructions
>>> from the original Hack. The resulting π-WAM
>>> currently doesn’t support a stack, a trail
>>> or choice points but can nevertheless
>>> do backtracking.
>>>
>>> Have Fun!
>>>
>>> Jan Burse, July 07, 2026, https://www.herbrand.ai/
>>
> 

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

ANN: Dogelog Player 2.2.3 (Introducing π-WAM) Mild Shock <janburse@fastmail.fm> - 2026-07-07 19:28 +0200
  Parallel π-WAM: JavaScript Workers as CPU Backend (Re: Parallel π-WAM: 1.7 Giga Lips on a CPU) Mild Shock <janburse@fastmail.fm> - 2026-07-20 19:29 +0200
    Parallel π-WAM: An Interleaved Synchronous Emulator (Re: Parallel π-WAM: JavaScript Workers as CPU Backend) Mild Shock <janburse@fastmail.fm> - 2026-07-25 03:54 +0200

csiph-web