Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.java.programmer Subject: =?UTF-8?Q?Parallel_=cf=80-WAM:_JavaScript_Workers_as_CPU_Backend_?= =?UTF-8?Q?=28Re:_Parallel_=cf=80-WAM:_1.7_Giga_Lips_on_a_CPU=29?= Date: Mon, 20 Jul 2026 19:29:30 +0200 Message-ID: <113lltp$4r9r$3@solani.org> 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 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/ >> >