• =?UTF-8?Q?GPU_Backend:_Find_0xCAFFEE_with_=cf=80-WAM_=28Re:_ANN:_Do?= =?UTF-8?Q?gelog_Player_2.2.4_=28Parallel_=cf=80-WAM=29=29?=

    From Mild Shock@janburse@fastmail.fm to comp.lang.java.programmer on Mon Aug 3 12:13:33 2026
    From Newsgroup: comp.lang.java.programmer

    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/

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.java.programmer on Wed Aug 5 14:30:11 2026
    From Newsgroup: comp.lang.java.programmer

    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/


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Johann 'Myrkraverk' Oskarsson@johann@myrkraverk.invalid to comp.lang.java.programmer on Wed Aug 5 23:44:03 2026
    From Newsgroup: comp.lang.java.programmer

    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 -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.

    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 ( ;; ) _:;
    --- Synchronet 3.22a-Linux NewsLink 1.2