list_gpu_devices

Function list_gpu_devices 

Source
pub fn list_gpu_devices() -> Result<Vec<GpuDeviceInfo>>
Expand description

List available GPU devices

Examples found in repository?
examples/gpu_acceleration.rs (line 101)
97fn demonstrate_device_listing() -> Result<(), Box<dyn std::error::Error>> {
98    println!("📋 AVAILABLE GPU DEVICES");
99    println!("{}", "-".repeat(40));
100
101    let devices = list_gpu_devices()?;
102
103    if devices.is_empty() {
104        println!("No GPU devices found. Using CPU fallback.");
105    } else {
106        println!("Found {} device(s):", devices.len());
107
108        for (i, device) in devices.iter().enumerate() {
109            println!("\nDevice {i}:");
110            println!("  Name: {}", device.name);
111            println!("  Total Memory: {} MB", device.total_memory_mb);
112            println!("  Available Memory: {} MB", device.available_memory_mb);
113            println!("  Compute Units: {}", device.compute_units);
114            println!("  Max Work Group: {}", device.max_work_group_size);
115            println!("  Compute Capability: {}", device.compute_capability);
116            println!(
117                "  Double Precision: {}",
118                if device.supports_double_precision {
119                    "✅"
120                } else {
121                    "❌"
122                }
123            );
124
125            // Calculate utilization
126            let utilization = (device.total_memory_mb - device.available_memory_mb) as f64
127                / device.total_memory_mb as f64
128                * 100.0;
129            println!("  Memory Utilization: {utilization:.1}%");
130        }
131    }
132
133    println!();
134    Ok(())
135}