detect method
Detects the capability, or returns null if not present.
Implementation
@override
Future<Capability?> detect() async {
final result = await runProbe('nvidia-smi', [
'--query-gpu=name,driver_version',
'--format=csv,noheader',
]);
if (result == null || result.exitCode != 0) return null;
final line = (result.stdout as String).trim().split('\n').first.trim();
if (line.isEmpty) return null;
final parts = line.split(',').map((s) => s.trim()).toList();
return Capability(
kind: CapabilityKind.cuda,
name: 'cuda',
version: parts.length > 1 ? parts[1] : null,
details: {if (parts.isNotEmpty) 'gpu': parts.first},
);
}