11 releases

new 0.3.1 Apr 10, 2025
0.2.5 Nov 27, 2024
0.2.2 Apr 12, 2024
0.2.2-rc2 Mar 30, 2024
0.1.3 Oct 8, 2023

#1345 in Hardware support

Download history 29/week @ 2024-12-19 35/week @ 2024-12-26 62/week @ 2025-01-02 20/week @ 2025-01-09 71/week @ 2025-02-13 3/week @ 2025-02-20 3/week @ 2025-02-27 1/week @ 2025-03-06 7/week @ 2025-03-13 44/week @ 2025-04-03

56 downloads per month
Used in rocm_smi_lib

MIT/Apache

365KB
7K SLoC

rocm_smi_lib_rs

Crate bringing support for rocm-smi liblary from C

Compatibility

Crate version Rocm version
<2.0 <6.0
2.1 - 2.2 PROVEN BROKEN
2.3 6.0-6.3

Requirements

To use this crate you have to install rocm-smi liblaries

Check out How to install ROCM

Usage / Examples

Example of printing the name of your GPU:

fn print_gpu_name() -> Result<(), RocmErr> {
    let rocm = RocmSmi::init()?;
    let name = rocm.get_device_identifiers(0)?.name;
    println!("{}", name);
    Ok(())
}    

Same thing as above but with creation of device object

fn print_gpu_name() -> Result<(), RocmErr> {
    let rocm = RocmSmi::init()?.into_first_device()?; // into first devic requires enabling `device` feature
    let name = rocm.get_identifiers()?.name;
    println!("{}", name);
    Ok(())
}    

RC versions

Please consider testing rc versions and report bugs in them, api is large and it takes a lot of time to test everything alone on many GPU's.

Tested hardware:

  • RX 7600
  • RX 7600XT
  • RX 6950XT
  • RX 5700XT
  • RX Vega 7 (mobile)
  • RX 470

Developed on hardware:

  • RX 7600
  • RX 5700XT
  • RX 470

TODO

  • setters (it will not be done until i have som testing crew and/or figure out automatic tests across different gpu's)

Dependencies

~0–2MB
~39K SLoC