Device Allocation (DRA)
The DRA Driver exposes Tenstorrent devices to workloads using Kubernetes
Dynamic Resource Allocation.
A per-node kubelet plugin discovers devices and publishes them as ResourceSlice
objects under the tenstorrent.com device class. A pod then requests a device
with a ResourceClaim. It is one of the components installed by
tt-operator.
Requirements
Kubernetes 1.33 or later with Dynamic Resource Allocation available on the API server and kubelet.
The Fabric Manager reachable, since the plugin resolves devices from topology before publishing them.
Claim a device
apiVersion: resource.k8s.io/v1
kind: ResourceClaim
metadata:
name: tt-claim
spec:
devices:
requests:
- name: chip
exactly:
deviceClassName: tenstorrent.com
---
apiVersion: v1
kind: Pod
metadata:
name: tt-workload
spec:
containers:
- name: app
image: <your-image>
resources:
claims:
- name: chip
resourceClaims:
- name: chip
resourceClaimName: tt-claim
When the claim is allocated, the device is mounted into the container.
Verify
kubectl get resourceslices # one device entry per discovered device
kubectl get resourceclaim tt-claim -o yaml # .status.allocation once bound
Note
The driver only publishes devices once topology resolves. On a host with no
staged fabric topology the ResourceSlice set can be empty and claims will not
bind. This is an environment limitation rather than a failure. Allocation
behavior is maturing.