# DeviceFeature

`import { DeviceFeature } from "destack:compute";`

Optional compute feature exposed by a device.

```ds title="DeviceFeature"
export enum DeviceFeature {
    Float16 = 1,
    Float64 = 2,
    Int64 = 3,
    BFloat16 = 4,
    TensorFloat32 = 5,
    AtomicFloat32 = 6,
    AtomicFloat64 = 7,
    WorkgroupMemory = 8,
    UnifiedMemory = 9,
    Subgroups = 10,
    MatrixMultiply = 11,
    CommandGraph = 12,
    HostMapping = 13,
}
```

[language/library/src/compute/capability.ds:5:32](https://github.com/destack-sh/destack/blob/main/language/library/src/compute/capability.ds#L5-L32)

## Variants

### `Float16 = 1`

Native float16 arithmetic.

### `Float64 = 2`

Native float64 arithmetic.

### `Int64 = 3`

Native int64 arithmetic.

### `BFloat16 = 4`

Native bfloat16 arithmetic.

### `TensorFloat32 = 5`

TensorFloat-32 matrix arithmetic.

### `AtomicFloat32 = 6`

Float32 atomic operations.

### `AtomicFloat64 = 7`

Float64 atomic operations.

### `WorkgroupMemory = 8`

Workgroup shared memory.

### `UnifiedMemory = 9`

Memory physically shared with the host.

### `Subgroups = 10`

Subgroup or warp-level operations.

### `MatrixMultiply = 11`

Native matrix multiply instructions.

### `CommandGraph = 12`

Captured command graphs.

### `HostMapping = 13`

Host-visible buffer mapping.
