Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #53767 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2026-08-03 12:13 +0200 |
| Last post | 2026-08-09 19:40 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to comp.lang.java.programmer
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
GPU Backend: Find 0xCAFFEE with π-WAM (Re: ANN: Dogelog Player 2.2.4 (Parallel π-WAM)) Mild Shock <janburse@fastmail.fm> - 2026-08-03 12:13 +0200
Emulating ADA RendezVous in π-WAM (Re: GPU Backend: Find 0xCAFFEE with π-WAM) Mild Shock <janburse@fastmail.fm> - 2026-08-05 14:30 +0200
Re: Emulating ADA RendezVous in π-WAM (Re: GPU Backend: Find 0xCAFFEE with π-WAM) Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-08-05 23:44 +0800
π-WAM Assembly: Comfortable Labels and Goto (Re: π-WAM Contest: 1 Million Packets with Prolog) Mild Shock <janburse@fastmail.fm> - 2026-08-09 19:40 +0200
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-03 12:13 +0200 |
| Subject | GPU Backend: Find 0xCAFFEE with π-WAM (Re: ANN: Dogelog Player 2.2.4 (Parallel π-WAM)) |
| Message-ID | <114ppkd$svql$3@solani.org> |
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] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-05 14:30 +0200 |
| Subject | Emulating ADA RendezVous in π-WAM (Re: GPU Backend: Find 0xCAFFEE with π-WAM) |
| Message-ID | <114vacj$10nl1$3@solani.org> |
| In reply to | #53767 |
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 | Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> |
|---|---|
| Date | 2026-08-05 23:44 +0800 |
| Subject | Re: Emulating ADA RendezVous in π-WAM (Re: GPU Backend: Find 0xCAFFEE with π-WAM) |
| Message-ID | <9TIcS.71594$DOD1.49576@fx17.ams4> |
| In reply to | #53768 |
On 05/08/2026 8:30 PM, Mild Shock wrote: Dear Mild Shock, > 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. When you post in comp.lang.java.programmer, are you treating the JVM like a microcontroller, and loading your thoughts into the "programmer" so they can be written into the JVM with ultraviolet light, like a proper EEPROM? Because that's what it looks like, from out here. Best wishes from /The Ghost in the Shell/! -- Johann | email: invalid -> com | http://www.myrkraverk.com/blog/ I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-09 19:40 +0200 |
| Subject | π-WAM Assembly: Comfortable Labels and Goto (Re: π-WAM Contest: 1 Million Packets with Prolog) |
| Message-ID | <115ae23$6ap5$4@solani.org> |
| In reply to | #53768 |
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.java.programmer
csiph-web