Hi,
We recently got a little excited seeing the
figures of a budget AI laptop experiment running
-C-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 -C-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 -C-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 -C-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/
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 -C-WAM emulator.
To obtain channel objects, we could straight
forward realize the offer/poll from Doug LearCOs
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 -C-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
-C-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 -C-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 -C-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 -C-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/
Hi,--- Synchronet 3.22a-Linux NewsLink 1.2
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
-C-WAM and SWI-Prolog can do it below a second using
different means, but -C-WAM beats SWI-Prolog here
by a factor of ca. 1.5x.
Bye
See also:
-C-WAM Contest: 1 Million Packets with Prolog https://medium.com/2989/ec3e91551773
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 53:34:15 |
| Calls: | 1,101 |
| Calls today: | 1 |
| Files: | 1,339 |
| Messages: | 276,196 |