← Back

Module device

enum Backend

Source: gpu/device.joule:8

enum DeviceType

Source: gpu/device.joule:25

struct DeviceInfo

Source: gpu/device.joule:38

struct GpuDevice

Source: gpu/device.joule:79

enum GpuDeviceHandle

Source: gpu/device.joule:89

fn backend(&self) -> Backend

Get the backend type

Source: gpu/device.joule:105

fn device_type(&self) -> DeviceType

Get the device type

Source: gpu/device.joule:110

fn device_id(&self) -> u32

Get device ID

Source: gpu/device.joule:115

fn info(&self) -> &DeviceInfo

Get device information

Source: gpu/device.joule:120

fn name(&self) -> &str

Get device name

Source: gpu/device.joule:125

fn total_memory(&self) -> u64

Get total memory in bytes

Source: gpu/device.joule:130

fn free_memory(&self) -> Result<u64, GpuError>

Source: gpu/device.joule:136

fn cuMemGetInfo_v2(free: *mut usize, total: *mut usize) -> i32;

Source: gpu/device.joule:141

fn hipMemGetInfo(free: *mut usize, total: *mut usize) -> i32;

Source: gpu/device.joule:162

fn create_buffer<T: Copy>(

Source: gpu/device.joule:179

fn create_buffer_with_data<T: Copy>(

Source: gpu/device.joule:190

fn create_kernel(&self, source: &str, name: &str) -> Result<GpuKernel, GpuError>

Source: gpu/device.joule:202

fn create_kernel_from_binary(&self, binary: &[u8], name: &str) -> Result<GpuKernel, GpuError>

Source: gpu/device.joule:208

fn create_queue(&self) -> Result<GpuQueue, GpuError>

Source: gpu/device.joule:214

fn synchronize(&self) -> Result<(), GpuError>

Source: gpu/device.joule:220

fn cudaDeviceSynchronize() -> i32;

Source: gpu/device.joule:225

fn hipDeviceSynchronize() -> i32;

Source: gpu/device.joule:243

fn set_current(&self) -> Result<(), GpuError>

Source: gpu/device.joule:258

fn cudaSetDevice(device: i32) -> i32;

Source: gpu/device.joule:263

fn hipSetDevice(device: i32) -> i32;

Source: gpu/device.joule:275

fn supports_feature(&self, feature: &str) -> bool

Check if device supports a specific feature

Source: gpu/device.joule:289

fn power_usage(&self) -> Option<f32>

Source: gpu/device.joule:295

fn nvmlDeviceGetPowerUsage(device: *mut std::ffi::c_void, power: *mut u32) -> i32;

Source: gpu/device.joule:300

fn temperature(&self) -> Option<f32>

Source: gpu/device.joule:312

fn nvmlDeviceGetTemperature(

Source: gpu/device.joule:317

fn utilization(&self) -> Option<f32>

Source: gpu/device.joule:333

fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result

Source: gpu/device.joule:393