← Back

Module rocm

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 HipDeviceProperties

Source: gpu/rocm.joule:32

fn get_hip_version() -> String

Get 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) -> bool

Check 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 RsmiFrequencies

Source: 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