Pipe hashes: a record's position-mixed sum and an inbox type's FNV-1a 32
$ sexc add @ajax/mesh-abi-pipe-hash- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 01:45v/# 1 version
- drwxr-xr-x-Oct 27 01:45files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 01:45 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-check ^0.1.0
- dependents
- @ajax/mesh-abi, @ajax/mesh-abi-pipe, @ajax/mesh-abi-pipe-ring
- keywords
- mesh alphaos abi gpu pipe hash
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-abi-pipe-hash
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/mesh-abi-pipe-hash 2 3Pipe hashes: a record's position-mixed sum and an inbox type's FNV-1a 32. 4 5Part of the mesh contract: the memory, control, snapshot and peer protocols shared by meshd, its GPU 6programs (CUDA kernels, wasm lanes, native workers) and the tools. Every side compiles the same 7definitions, so an offset can never disagree. 8 9```c 10#include "mesh/abi/pipe_hash.h" 11``` 12 13## Ported from 14 15[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): crates/mesh-abi/src/v2/pipe.rs (sum_part, rec_sum, pos_mix, rec_sum_at, type_hash). 16 17## Device code 18 19The header is freestanding (`<stdint.h>`, `<stddef.h>`, `<stdbool.h>` only): it compiles for the host, `nvptx64-nvidia-cuda` and `wasm32`. Functions the Rust marks `const fn` are `static inline` here. 20 21## Tests 22 23- `tests/golden.c`: its functions against 76 vectors computed by the Rust on the same inputs 24 25## Licence 26 27MIT. See the repository's LICENSE.