Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #15769 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2026-07-28 00:10 +0200 |
| Last post | 2026-08-09 19:35 +0200 |
| Articles | 4 — 1 participant |
Back to article view | Back to comp.lang.prolog
ANN: Dogelog Player 2.2.4 (Parallel π-WAM) Mild Shock <janburse@fastmail.fm> - 2026-07-28 00:10 +0200
GPU Backend: Find 0xCAFFEE with π-WAM (Was: ANN: Dogelog Player 2.2.4 (Parallel π-WAM)) Mild Shock <janburse@fastmail.fm> - 2026-08-03 12:11 +0200
π-WAM Contest: 1 Million Packets with Prolog (Was: Emulating ADA RendezVous in π-WAM) Mild Shock <janburse@fastmail.fm> - 2026-08-07 17:48 +0200
π-WAM Assembly: Comfortable Labels and Goto (Was: π-WAM Contest: 1 Million Packets with Prolog) Mild Shock <janburse@fastmail.fm> - 2026-08-09 19:35 +0200
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-07-28 00:10 +0200 |
| Subject | ANN: Dogelog Player 2.2.4 (Parallel π-WAM) |
| Message-ID | <1148l1k$hfug$1@solani.org> |
Dear All, We are happy to announce a new edition of the Dogelog Player: - Syntax Errors: Using some generic object access API across JavaScript, Python and Java, we could extract an error line and an error caret from an input stream in 100% Prolog, and add it to the display of syntax errors. The feature is open source, might serve human programmers and coder agents brain food alike. - Parallel Emulation: The emulate/1 predicate for π-WAM got a brother emulate/2 that accepts an option list, that we can extend in future releases. The emulator itself has been extended to perform a parallel simulation by using interleaved synchronized emulation in 100% Prolog and recognizes a size/1 option for the number of logical threads. - Parallel Execution: There now exists also a CPU backend that complements the Dogelog Player cooperative multitasking by preemptive multithreading accepting π-WAM code via the newly introduced execute/2 predicate. This predicate additionally recognizes a group/1 option for the number of logical threads that are bundled onto a physical thread. Have Fun! Jan Burse, July 27, 2026, https://www.herbrand.ai/
[toc] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-03 12:11 +0200 |
| Subject | GPU Backend: Find 0xCAFFEE with π-WAM (Was: ANN: Dogelog Player 2.2.4 (Parallel π-WAM)) |
| Message-ID | <114ppfp$svql$1@solani.org> |
| In reply to | #15769 |
Hi, We recently got a little excited seeing the figures of a budget AI laptop experiment running π-WAM on its silicon integrated GPU. Meanwhile we could contain ourselves, and brought the prototype into production via the library(edge/ furryhaze). A first experience report. We try to find 0xCAFFEE in enumerating 4 6-bit digits and the baseline is Dogelog Player VM in a browser. The CPU backend with 64 logical threads is already 20 times faster, partly due to its 32-bit specialization. The GPU backend with 4096 logical threads boosts a further factor of 7 times. Bye See also: GPU Backend: Find 0xCAFFEE with π-WAM https://medium.com/2989/8890efd3503c Mild Shock schrieb: > Dear All, > > We are happy to announce a new edition of > the Dogelog Player: > > - Syntax Errors: > Using some generic object access API across > JavaScript, Python and Java, we could extract > an error line and an error caret from an > input stream in 100% Prolog, and add it to > the display of syntax errors. The feature is > open source, might serve human programmers > and coder agents brain food alike. > > - Parallel Emulation: > The emulate/1 predicate for π-WAM got a > brother emulate/2 that accepts an option list, > that we can extend in future releases. The > emulator itself has been extended to perform > a parallel simulation by using interleaved > synchronized emulation in 100% Prolog and > recognizes a size/1 option for the number > of logical threads. > > - Parallel Execution: > There now exists also a CPU backend that > complements the Dogelog Player cooperative > multitasking by preemptive multithreading > accepting π-WAM code via the newly introduced > execute/2 predicate. This predicate additionally > recognizes a group/1 option for the number of > logical threads that are bundled onto > a physical thread. > > Have Fun! > > Jan Burse, July 27, 2026, https://www.herbrand.ai/
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-07 17:48 +0200 |
| Subject | π-WAM Contest: 1 Million Packets with Prolog (Was: Emulating ADA RendezVous in π-WAM) |
| Message-ID | <1154uov$2m36$1@solani.org> |
| In reply to | #15823 |
Hi, We recently demonstrated a Prolog emulator for ADA RendezVous without ACK and NACK. This is basically a bounded buffer with max_size=1. We now went on and implemented this kind of fire and forget channel object natively for JavaScript, Java and Python. Some results. Our 100 producers and 100 consumers, that communicate 10000 packets through a single channel, is the camel to go through the eye of a needle test case. Both π-WAM and SWI-Prolog can do it below a second using different means, but π-WAM beats SWI-Prolog here by a factor of ca. 1.5x. Bye See also: π-WAM Contest: 1 Million Packets with Prolog https://medium.com/2989/ec3e91551773 Mild Shock schrieb: > Hi, > > While ADA RendezVous is often depicted as > tied to a leading task that initiate the > exchange and responder task that completes > the exchange. The exchange mechanism itself > can be extracted into a channel object. We do > so using busy-wait in 100% Prolog to > extend the π-WAM emulator. > > To obtain channel objects, we could straight > forward realize the offer/poll from Doug Lea’s > SynchronousQueue using the Prolog dynamic > database. The test case with emulated MPMC > queues worked like a charm. We plan further > benchmarking of physically grouped logical threads. > > Bye > > See also: > > Emulating ADA RendezVous in π-WAM > https://medium.com/2989/11ad1908dbcf > > Mild Shock schrieb: >> Hi, >> >> We recently got a little excited seeing the >> figures of a budget AI laptop experiment running >> π-WAM on its silicon integrated GPU. Meanwhile >> we could contain ourselves, and brought the >> prototype into production via the library(edge/ >> furryhaze). A first experience report. >> >> We try to find 0xCAFFEE in enumerating 4 6-bit >> digits and the baseline is Dogelog Player VM in >> a browser. The CPU backend with 64 logical threads >> is already 20 times faster, partly due to its >> 32-bit specialization. The GPU backend with 4096 >> logical threads boosts a further factor of 7 times. >> >> Bye >> >> See also: >> >> GPU Backend: Find 0xCAFFEE with π-WAM >> https://medium.com/2989/8890efd3503c >> >> Mild Shock schrieb: >>> Dear All, >>> >>> We are happy to announce a new edition of >>> the Dogelog Player: >>> >>> - Syntax Errors: >>> Using some generic object access API across >>> JavaScript, Python and Java, we could extract >>> an error line and an error caret from an >>> input stream in 100% Prolog, and add it to >>> the display of syntax errors. The feature is >>> open source, might serve human programmers >>> and coder agents brain food alike. >>> >>> - Parallel Emulation: >>> The emulate/1 predicate for π-WAM got a >>> brother emulate/2 that accepts an option list, >>> that we can extend in future releases. The >>> emulator itself has been extended to perform >>> a parallel simulation by using interleaved >>> synchronized emulation in 100% Prolog and >>> recognizes a size/1 option for the number >>> of logical threads. >>> >>> - Parallel Execution: >>> There now exists also a CPU backend that >>> complements the Dogelog Player cooperative >>> multitasking by preemptive multithreading >>> accepting π-WAM code via the newly introduced >>> execute/2 predicate. This predicate additionally >>> recognizes a group/1 option for the number of >>> logical threads that are bundled onto >>> a physical thread. >>> >>> Have Fun! >>> >>> Jan Burse, July 27, 2026, https://www.herbrand.ai/ >> >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-09 19:35 +0200 |
| Subject | π-WAM Assembly: Comfortable Labels and Goto (Was: π-WAM Contest: 1 Million Packets with Prolog) |
| Message-ID | <115adpp$6ap5$1@solani.org> |
| In reply to | #15839 |
Hi, What Hamelt is to English language, is Hack to Compiler Construction. The playbook of Hack contains every drama that a Compiler Construction will face. In the following we show how we realized Project 6: Assembler from the Nand to Tetris journey via a little Prolog DSL. Our initial quick and dirty prototype deploys double buffering to determine code lengths and is brittle in examples such as between/3. Our assembly DSL does without symbol tables but with Prolog logical variables only. We could fix the between/3 glitch and give a first disjunction (;)/2 prototype. Bye See also: π-WAM Assembly: Comfortable Labels and Goto https://medium.com/2989/1a11dd512813 Mild Shock schrieb: > Hi, > > We recently demonstrated a Prolog emulator for > ADA RendezVous without ACK and NACK. This is basically > a bounded buffer with max_size=1. We now went on and > implemented this kind of fire and forget channel > object natively for JavaScript, Java and Python. > Some results. > > Our 100 producers and 100 consumers, that communicate > 10000 packets through a single channel, is the camel > to go through the eye of a needle test case. Both > π-WAM and SWI-Prolog can do it below a second using > different means, but π-WAM beats SWI-Prolog here > by a factor of ca. 1.5x. > > Bye > > See also: > > π-WAM Contest: 1 Million Packets with Prolog > https://medium.com/2989/ec3e91551773
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.prolog
csiph-web