Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #53765
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail |
|---|---|
| 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 | Mon, 20 Jul 2026 19:29:30 +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> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Injection-Date | Mon, 20 Jul 2026 17:29:29 -0000 (UTC) |
| Injection-Info | solani.org; logging-data="159035"; mail-complaints-to="abuse@news.solani.org" |
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0 SeaMonkey/2.53.24 |
| Cancel-Lock | sha1:oqtHj3XrQ3fHTXdsDPHSZcuness= |
| X-User-ID | eJwFwQERADEIAzBL5RntkDM48C/hk3AaW4fBExvrQmpWbXbQBr+znvW9YirbN+dVxxiKe6nhjFuWFAKQP0ktFRU= |
| In-Reply-To | <1138bmu$58mb$6@solani.org> |
| Xref | csiph.com comp.lang.java.programmer:53765 |
Show key headers only | 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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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