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}