fn init() -> Result<(), GpuError>
Source: gpu/rocm.joule:10
fn init() -> Result<(), GpuError>Source: gpu/rocm.joule:10
fn hipInit(flags: u32) -> i32;Source: gpu/rocm.joule:12
fn list_devices() -> Vec<GpuDevice>Source: gpu/rocm.joule:25
fn hipGetDeviceCount(count: *mut i32) -> i32;Source: gpu/rocm.joule:27
fn hipGetDeviceProperties(prop: *mut HipDeviceProperties, device: i32) -> i32;Source: gpu/rocm.joule:28
struct HipDevicePropertiesSource: gpu/rocm.joule:32
fn get_hip_version() -> StringGet HIP runtime version string
Source: gpu/rocm.joule:148
fn hipRuntimeGetVersion(version: *mut i32) -> i32;Source: gpu/rocm.joule:150
fn current_device() -> Option<i32>Get current HIP device
Source: gpu/rocm.joule:169
fn hipGetDevice(device: *mut i32) -> i32;Source: gpu/rocm.joule:171
fn set_device(device: i32) -> Result<(), GpuError>Set current HIP device
Source: gpu/rocm.joule:182
fn hipSetDevice(device: i32) -> i32;Source: gpu/rocm.joule:184
fn enable_peer_access(device: i32, peer_device: i32) -> Result<(), GpuError>Source: gpu/rocm.joule:195
fn hipDeviceEnablePeerAccess(peer_device: i32, flags: u32) -> i32;Source: gpu/rocm.joule:197
fn can_access_peer(device: i32, peer_device: i32) -> boolCheck if peer-to-peer access is possible
Source: gpu/rocm.joule:207
fn hipDeviceCanAccessPeer(Source: gpu/rocm.joule:209
fn memory_info() -> Result<(usize, usize), GpuError>Source: gpu/rocm.joule:222
fn hipMemGetInfo(free: *mut usize, total: *mut usize) -> i32;Source: gpu/rocm.joule:224
fn reset_device() -> Result<(), GpuError>Reset device (clear all allocations)
Source: gpu/rocm.joule:236
fn hipDeviceReset() -> i32;Source: gpu/rocm.joule:238
fn init() -> Result<(), GpuError>Initialize ROCm SMI
Source: gpu/rocm.joule:256
fn rsmi_init(flags: u64) -> i32;Source: gpu/rocm.joule:258
fn shutdown()Shutdown ROCm SMI
Source: gpu/rocm.joule:275
fn rsmi_shut_down() -> i32;Source: gpu/rocm.joule:277
fn get_power_usage(device_index: u32) -> Option<u64>Get GPU power usage in microwatts
Source: gpu/rocm.joule:287
fn rsmi_dev_power_ave_get(Source: gpu/rocm.joule:289
fn get_temperature(device_index: u32) -> Option<i64>Get GPU temperature in millidegrees Celsius
Source: gpu/rocm.joule:305
fn rsmi_dev_temp_metric_get(Source: gpu/rocm.joule:307
fn get_utilization(device_index: u32) -> Option<u32>Get GPU utilization (0-100)
Source: gpu/rocm.joule:325
fn rsmi_dev_busy_percent_get(Source: gpu/rocm.joule:327
fn get_gpu_clock(device_index: u32) -> Option<u64>Get current GPU clock speed in MHz
Source: gpu/rocm.joule:342
fn rsmi_dev_gpu_clk_freq_get(Source: gpu/rocm.joule:344
struct RsmiFrequenciesSource: gpu/rocm.joule:352
fn get_memory_utilization(device_index: u32) -> Option<u32>Get memory utilization (0-100)
Source: gpu/rocm.joule:372
fn rsmi_dev_memory_busy_percent_get(Source: gpu/rocm.joule:374
fn get_fan_speed(device_index: u32) -> Option<i64>Get fan speed (0-255)
Source: gpu/rocm.joule:389
fn rsmi_dev_fan_speed_get(Source: gpu/rocm.joule:391
fn create_handle() -> Result<*mut std::ffi::c_void, GpuError>Create hipBLAS handle
Source: gpu/rocm.joule:412
fn hipblasCreate(handle: *mut *mut std::ffi::c_void) -> i32;Source: gpu/rocm.joule:414
fn destroy_handle(handle: *mut std::ffi::c_void)Destroy hipBLAS handle
Source: gpu/rocm.joule:426
fn hipblasDestroy(handle: *mut std::ffi::c_void) -> i32;Source: gpu/rocm.joule:428
fn sgemm(Source: gpu/rocm.joule:435
fn hipblasSgemm(Source: gpu/rocm.joule:447
fn dgemm(Source: gpu/rocm.joule:482
fn hipblasDgemm(Source: gpu/rocm.joule:494
fn create_handle() -> Result<*mut std::ffi::c_void, GpuError>Create MIOpen handle
Source: gpu/rocm.joule:533
fn miopenCreate(handle: *mut *mut std::ffi::c_void) -> i32;Source: gpu/rocm.joule:535
fn destroy_handle(handle: *mut std::ffi::c_void)Destroy MIOpen handle
Source: gpu/rocm.joule:547
fn miopenDestroy(handle: *mut std::ffi::c_void) -> i32;Source: gpu/rocm.joule:549
fn set_stream(handle: *mut std::ffi::c_void, stream: *mut std::ffi::c_void) -> Result<(), GpuError>Set stream for MIOpen operations
Source: gpu/rocm.joule:555
fn miopenSetStream(Source: gpu/rocm.joule:557