yule_gpu/backend.rs
1use crate::BackendKind;
2
3pub fn select_best_backend(available: &[BackendKind]) -> BackendKind {
4 // priority: CUDA > Metal > Vulkan > CPU
5 for &preferred in &[BackendKind::Cuda, BackendKind::Metal, BackendKind::Vulkan, BackendKind::Cpu] {
6 if available.contains(&preferred) {
7 return preferred;
8 }
9 }
10 BackendKind::Cpu
11}