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

#1349 in Hardware support

Download history 25/week @ 2024-12-25 65/week @ 2025-01-01 27/week @ 2025-01-08 70/week @ 2025-02-12 3/week @ 2025-02-19 4/week @ 2025-02-26 8/week @ 2025-03-12 280/week @ 2025-04-09

282 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