Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #53767 > unrolled thread

GPU Backend: Find 0xCAFFEE with π-WAM (Re: ANN: Dogelog Player 2.2.4 (Parallel π-WAM))

Started byMild Shock <janburse@fastmail.fm>
First post2026-08-03 12:13 +0200
Last post2026-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.


Contents

  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

#53767 — GPU Backend: Find 0xCAFFEE with π-WAM (Re: ANN: Dogelog Player 2.2.4 (Parallel π-WAM))

FromMild Shock <janburse@fastmail.fm>
Date2026-08-03 12:13 +0200
SubjectGPU 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]


#53768 — Emulating ADA RendezVous in π-WAM (Re: GPU Backend: Find 0xCAFFEE with π-WAM)

FromMild Shock <janburse@fastmail.fm>
Date2026-08-05 14:30 +0200
SubjectEmulating 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]


#53769 — Re: Emulating ADA RendezVous in π-WAM (Re: GPU Backend: Find 0xCAFFEE with π-WAM)

FromJohann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid>
Date2026-08-05 23:44 +0800
SubjectRe: 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]


#53770 — π-WAM Assembly: Comfortable Labels and Goto (Re: π-WAM Contest: 1 Million Packets with Prolog)

FromMild Shock <janburse@fastmail.fm>
Date2026-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