skip to content
[readonly]

The mesh contract in one include (every @ajax/mesh-abi-* package) and the layout checks that span them

sh
$ sexc add @ajax/mesh-abi
  • 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-control-protocol ^0.1.0, @ajax/mesh-abi-backend ^0.1.0, @ajax/mesh-abi-header ^0.1.0, @ajax/mesh-abi-program-table ^0.1.0, @ajax/mesh-abi-control-block ^0.1.0, @ajax/mesh-abi-ring ^0.1.0, @ajax/mesh-abi-ops ^0.1.0, @ajax/mesh-abi-fault ^0.1.0, @ajax/mesh-abi-node ^0.1.0, @ajax/mesh-abi-node-load ^0.1.0, @ajax/mesh-abi-trace ^0.1.0, @ajax/mesh-abi-exchange ^0.1.0, @ajax/mesh-abi-ext ^0.1.0, @ajax/mesh-abi-load-page ^0.1.0, @ajax/mesh-abi-pipe-table ^0.1.0, @ajax/mesh-abi-view-heap ^0.1.0, @ajax/mesh-abi-input-queue ^0.1.0, @ajax/mesh-abi-snapshot ^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-host-fields ^0.1.0, @ajax/mesh-abi-native ^0.1.0, @ajax/mesh-abi-placement ^0.1.0, @ajax/mesh-abi-peer-frames ^0.1.0, @ajax/mesh-abi-peer-sizes ^0.1.0, @ajax/mesh-abi-reconcile ^0.1.0, @ajax/mesh-abi-group-state ^0.1.0, @ajax/mesh-abi-place-ops ^0.1.0, @ajax/mesh-abi-pipe-ring ^0.1.0, @ajax/mesh-abi-pipe ^0.1.0, @ajax/mesh-abi-view-train ^0.1.0, @ajax/mesh-abi-view-infer ^0.1.0, @ajax/mesh-abi-view-doom ^0.1.0, @ajax/mesh-abi-view-http ^0.1.0, @ajax/mesh-abi-view-pipedemo ^0.1.0, @ajax/mesh-abi-view-gpt2x ^0.1.0, @ajax/mesh-abi-wasm ^0.1.0, @ajax/mesh-abi-fnv ^0.1.0, @ajax/mesh-abi-name ^0.1.0, @ajax/mesh-abi-fields ^0.1.0, @ajax/mesh-abi-words ^0.1.0, @ajax/mesh-abi-pipe-hash ^0.1.0, @ajax/mesh-check ^0.1.0
dependents
@ajax/mesh-args, @ajax/mesh-control, @ajax/mesh-driver, @ajax/mesh-http-relay, @ajax/mesh-load-prog, @ajax/mesh-load-text, @ajax/mesh-prog-table, @ajax/mesh-publish, @ajax/mesh-rt, @ajax/mesh-rt-sim-mailbox, @ajax/mesh-samplers, @ajax/mesh-shared, @ajax/mesh-snapshot, @ajax/mesh-top-mock, @ajax/mesh-top-snap, @ajax/meshd
keywords
mesh alphaos abi gpu contract
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-abi
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/mesh-abi
2
3The whole mesh contract in one include, for code ported from Rust's `use mesh_abi::v2::*`:
4
5```c
6#include "mesh/abi.h"
7```
8
9It includes every `@ajax/mesh-abi-*` package and holds the Rust const asserts that span more than one of
10them (`_Static_assert`s in the header; the ones that call functions run in `tests/layout.c`). New code should
11depend on the atomic packages it actually uses instead.
12
13## Ported from
14
15[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): `crates/mesh-abi`
16(`lib.rs`, `v2.rs`, `v2/pipe.rs`, `v2/views.rs`, `v2/wasm.rs`). docs/port/abi.md maps every Rust item to its
17C package.
18
19## Tests
20
21- `tests/layout.c`: the cross-package Rust const asserts that call functions (55), the FRAMES guard (ids
22  dense 1..=32), and the Rust's `layout_tests::regions_have_no_aliased_fields` over all 13 field tables.
23- @ajax/mesh-abi-ptx-check and @ajax/mesh-abi-wasm-check build the whole contract for nvptx64 and wasm32.
24
25## Device code
26
27Freestanding: compiles for the host, `nvptx64-nvidia-cuda` and `wasm32`.
28
29## Licence
30
31MIT. See the repository's LICENSE.