skip to content
[readonly]

FNV-1a 64, the hash of program images in the mesh contract

sh
$ sexc add @ajax/mesh-abi-fnv
  • 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-exec-wasm, @ajax/mesh-exec-wasm-cache, @ajax/mesh-loader, @ajax/mesh-manifest-encode, @ajax/mesh-native
keywords
mesh alphaos abi gpu fnv
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-abi-fnv
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/mesh-abi-fnv
2
3FNV-1a 64, the hash of program images in the mesh contract.
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/fnv.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.rs (fnv1a64).
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/constants.c`: every constant against the value the Rust prints (0 checks), and 1 Rust const asserts that call functions
24- `tests/golden.c`: its functions against 6 vectors computed by the Rust on the same inputs
25
26## Licence
27
28MIT. See the repository's LICENSE.