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


Groups > comp.lang.prolog > #15740

Parallel π-WAM: An Interleaved Synchronous Emulator (Re: Parallel π-WAM: JavaScript Workers as CPU Backend)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Parallel π-WAM: An Interleaved Synchronous Emulator (Re: Parallel π-WAM: JavaScript Workers as CPU Backend)
Date 2026-07-25 03:51 +0200
Message-ID <11414rn$ccl1$1@solani.org> (permalink)
References <112jcsp$5860$1@solani.org> <112lug9$75rr$1@solani.org> <1138bah$58mb$1@solani.org> <113ljl9$4pqt$1@solani.org>

Show all headers | View raw


Hi,

The π-WAM an alternative Prolog VM, for the
Dogelog Player, got one after the other, a GPU
backend prototype, and then productive CPU backends.
So in retrospect we felt the need to not only
emulate in 100% Prolog the initial single threaded
π-WAM, but also its multi threaded successors.

One central idea is to partition the state into
slices, that belong to each logical thread. Since
we adress slices by an offset, we can also use
these offsets for a parallel simulation. Because
of varying warp and tilt parameters the output
usually differs from the CPU backends.

Bye

See also:

Parallel π-WAM: An Interleaved Synchronous Emulator
https://medium.com/2989/0196089e143a

Mild Shock schrieb:
> 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

Back to comp.lang.prolog | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

ANN: Dogelog Player 2.2.3 (Introducing π-WAM) Mild Shock <janburse@fastmail.fm> - 2026-07-07 19:26 +0200
  Dogelog Player: 11.4 Giga Lips with a Budget Laptop (Re: ANN: Dogelog Player 2.2.3 (Introducing π-WAM)) Mild Shock <janburse@fastmail.fm> - 2026-07-08 18:39 +0200
    Parallel π-WAM: 1.7 Giga Lips on a CPU (Was: Dogelog Player: 11.4 Giga Lips with a Budget Laptop) Mild Shock <janburse@fastmail.fm> - 2026-07-15 18:08 +0200
      Parallel π-WAM: JavaScript Workers as CPU Backend (Was: Parallel π-WAM: 1.7 Giga Lips on a CPU) Mild Shock <janburse@fastmail.fm> - 2026-07-20 18:50 +0200
        Parallel π-WAM: An Interleaved Synchronous Emulator (Re: Parallel π-WAM: JavaScript Workers as CPU Backend) Mild Shock <janburse@fastmail.fm> - 2026-07-25 03:51 +0200

csiph-web