main.rs 871 Bytes
Newer Older
liming6's avatar
liming6 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::ffi::*;
use rust_hysmi::smi::rocm_smi;

fn main() {
    unsafe {
        let stat = rocm_smi::rsmi_init(0);
        assert_eq!(stat, 0);

        let mut build = vec![0u8; 256];

        let mut version:rocm_smi::rsmi_version_t = rocm_smi::rsmi_version_t{
            major: 0,
            minor: 0,
            patch: 0,
            build: build.as_mut_ptr() as *const c_char,
        };

        let stat = rocm_smi::rsmi_version_get(&mut version);
        assert_eq!(stat, 0);

        println!("ROCM SMI Version: {}.{}.{}-{}", version.major, version.minor, version.patch, CStr::from_ptr(version.build).to_string_lossy());

        let mut num_devices = 0;
        rocm_smi::rsmi_num_monitor_devices(&mut num_devices);
        println!("Number of devices: {}", num_devices);
        let stat = rocm_smi::rsmi_shut_down();
        assert_eq!(stat, 0);
    }
}