Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #15606 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2026-07-07 19:26 +0200 |
| Last post | 2026-07-25 03:51 +0200 |
| Articles | 5 — 1 participant |
Back to article view | Back to comp.lang.prolog
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
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-07 19:26 +0200 |
| Subject | ANN: Dogelog Player 2.2.3 (Introducing π-WAM) |
| Message-ID | <112jcsp$5860$1@solani.org> |
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/
[toc] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-08 18:39 +0200 |
| Subject | Dogelog Player: 11.4 Giga Lips with a Budget Laptop (Re: ANN: Dogelog Player 2.2.3 (Introducing π-WAM)) |
| Message-ID | <112lug9$75rr$1@solani.org> |
| In reply to | #15606 |
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/
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-15 18:08 +0200 |
| Subject | Parallel π-WAM: 1.7 Giga Lips on a CPU (Was: Dogelog Player: 11.4 Giga Lips with a Budget Laptop) |
| Message-ID | <1138bah$58mb$1@solani.org> |
| In reply to | #15607 |
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/ >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-20 18:50 +0200 |
| Subject | Parallel π-WAM: JavaScript Workers as CPU Backend (Was: Parallel π-WAM: 1.7 Giga Lips on a CPU) |
| Message-ID | <113ljl9$4pqt$1@solani.org> |
| In reply to | #15636 |
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
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-25 03:51 +0200 |
| Subject | Parallel π-WAM: An Interleaved Synchronous Emulator (Re: Parallel π-WAM: JavaScript Workers as CPU Backend) |
| Message-ID | <11414rn$ccl1$1@solani.org> |
| In reply to | #15661 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.prolog
csiph-web