# ComputeMeshBinding

`import { ComputeMeshBinding } from "destack:compute/binding";`

Compute mesh binding family.

```ds title="ComputeMeshBinding"
export interface ComputeMeshBinding {
    create(devices: &'a readonly [Device], axes: &'b readonly [MeshAxis]): Mesh;
    axes(mesh: &'a readonly Mesh): &readonly [MeshAxis];
    devices(mesh: &'a readonly Mesh): &readonly [Device];
    rank(mesh: &'a readonly Mesh): usize;
    size(mesh: &'a readonly Mesh): usize;
}
```

[language/library/src/compute/binding/mesh.ds:5:45](https://github.com/destack-sh/destack/blob/main/language/library/src/compute/binding/mesh.ds#L5-L45)

## Members

### `create(devices: &'a readonly [Device], axes: &'b readonly [MeshAxis]): Mesh`

Create a mesh from devices and named axes.

### `axes(mesh: &'a readonly Mesh): &readonly [MeshAxis]`

Return the mesh axes.

### `devices(mesh: &'a readonly Mesh): &readonly [Device]`

Return the devices in row-major mesh order.

### `rank(mesh: &'a readonly Mesh): usize`

Return the number of mesh axes.

### `size(mesh: &'a readonly Mesh): usize`

Return the total number of devices.
