skip to content
[readonly]

pipehash, the pipe demo's GPU stage: pops msgs from a CPU source, sha256d's them a lane each, pushes digests to a CPU sink, as PTX from C

sh
$ sexc add @ajax/mesh-prog-pipehash
  • total 3
  • drwxr-xr-x-../
  • drwxr-xr-x-Oct 27 03:26v/# 1 version
  • drwxr-xr-x-Oct 27 03:26files/# the files of 0.1.0
latest
0.1.0, published Oct 27 03:26 by ajax
owners
ajax
license
MIT
dependencies
@ajax/mesh-rt ^0.1.0, @ajax/mesh-rt-sim-mailbox ^0.1.0, @ajax/mesh-words-host ^0.1.0, @ajax/mesh-check ^0.1.0
dependents
none yet
keywords
mesh alphaos gpu ptx program pipes sha256
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/programs/pipehash
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/mesh-prog-pipehash
2
3The pipe demo's GPU stage: a warp pops up to 32 `msg` records from its inbox (a CPU source feeds it),
4hashes them a lane each (sha256d) and pushes the `digest`s into a CPU sink, one collective push each.
5Digests a full sink does not take are carried in the view and retried first; without room for 32 the
6warp pops nothing (backpressure up the pipe). Layout: @ajax/mesh-abi-view-pipedemo.
7
8- **Ported from:** alpha-rust-mesh `programs/pipehash/src/lib.rs`.
9- **Tests:** on the simulator between a host source and a host sink (pipes through
10  @ajax/mesh-words-host): no sink -> nothing done; 200 msgs in, each digest out exactly once and equal to
11  the reference digest; backpressure with the sink's GPU side full, the msgs waiting in the inbox.