skip to content
[readonly]

Every field of the host status block, as (offset, bytes): the table the layout checks run over

sh
$ sexc add @ajax/mesh-abi-host-fields
  • 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-abi-base ^0.1.0, @ajax/mesh-abi-host-status ^0.1.0, @ajax/mesh-abi-host-members ^0.1.0, @ajax/mesh-abi-host-net ^0.1.0, @ajax/mesh-abi-host-links ^0.1.0, @ajax/mesh-abi-host-nics ^0.1.0, @ajax/mesh-abi-host-load ^0.1.0, @ajax/mesh-abi-host-mload ^0.1.0, @ajax/mesh-abi-host-fleet ^0.1.0, @ajax/mesh-abi-host-sched ^0.1.0, @ajax/mesh-abi-host-jobs ^0.1.0, @ajax/mesh-abi-host-pload ^0.1.0, @ajax/mesh-abi-fields ^0.1.0, @ajax/mesh-check ^0.1.0
dependents
@ajax/mesh-abi
keywords
mesh alphaos abi gpu host fields
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-abi-host-fields
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/mesh-abi-host-fields
2
3Every field of the host status block, as (offset, bytes): the table the layout checks run over.
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/host_fields.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: HOST_FIELDS.
16
17Names: Rust's `NAME` is `MESH_NAME`; a constant of a Rust module `m` is `MESH_M_NAME` (unless it already starts with `M_`); a function `f` is `mesh_f` (`mesh_m_f`). Offsets that are `usize` in the Rust are plain integer constants or `size_t` results, `u32` constants carry a `u` suffix, `u64` use `UINT64_C`.
18
19## Device code
20
21The 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. Its tables (string names, field lists) live in `src/`, so device code that uses them links the package for that target.
22
23## Tests
24
25- `tests/constants.c`: every constant against the value the Rust prints (277 checks)
26
27## Licence
28
29MIT. See the repository's LICENSE.