GPU Access
Enable NVIDIA GPU access for CUDA, ML inference, and accelerated vision workloads
GPU Access
The gpu entitlement exposes the host GPU to your app for CUDA, ML inference, image processing, DeepStream, PyTorch, TensorRT, and MLX workloads. WendyOS does not expose GPU devices to apps unless the app declares the entitlement.
Today this covers NVIDIA GPUs (CUDA) — both NVIDIA Jetson devices and x86 Intel/AMD machines with an NVIDIA card. AMD GPU acceleration via ROCm is in progress.
Add the entitlement from your project directory:
wendy project entitlements add gpuInspect GPU Capabilities
Check the target device version and hardware summary:
wendy device versionFor a focused hardware capability view:
wendy device hardware list --category gpuThe output reports GPU-related device paths and properties when the target exposes them.
Common Pairings
GPU apps often also need:
camerafor computer vision and live inferencenetworkfor inference APIs or dashboardsaudiofor voice AI pipelinespersistfor model caches and local output
For camera inference:
wendy project entitlements add camera
wendy project entitlements add gpuFor a networked inference server:
wendy project entitlements add gpu
wendy project entitlements add network --mode hostApp Configuration
A minimal GPU app uses:
{
"appId": "com.example.gpu",
"platform": "linux",
"version": "1.0.0",
"entitlements": [
{ "type": "gpu" }
]
}Then deploy:
wendy run
Raspberry Pi Board Telemetry
On Raspberry Pi hosts, the gpu entitlement also exposes the VideoCore mailbox device (/dev/vcio). This lets your app read board telemetry — power, voltage and current, temperature, throttling state, and (on Raspberry Pi 5) the PMIC ADC channels — through the firmware property interface, the same channel the vcgencmd tool uses.
This is added only on Raspberry Pi hardware, and only when the /dev/vcio node is present. On NVIDIA Jetson devices the entitlement grants the CUDA/CDI access described above instead — the VideoCore mailbox is not exposed there — and on hardware that is neither, it has no effect.
{
"appId": "com.example.power-monitor",
"platform": "linux",
"version": "1.0.0",
"entitlements": [
{ "type": "gpu" }
]
}Access is read/write to the existing device node only — the container cannot create new device nodes (mknod). The grant applies solely when the agent detects Raspberry Pi hardware.