#huawei #monitoring #gpu #managment #hardware

sys hw_dcmi_wrapper_sys

A raw FFI binding to the Huawei DCMI API

3 releases

new 0.1.2 Feb 7, 2025
0.1.1 Feb 6, 2025
0.1.0 Feb 6, 2025

#1448 in Hardware support

Download history 385/week @ 2025-02-05

385 downloads per month
Used in hw_dcmi_wrapper

MIT/Apache

305KB
7K SLoC

hw_dcmi_wrapper_sys

Crates.io version Crates.io downloads Docs.rs docs

中文文档

Rust bindings for the DaVinci Card Management Interface (DCMI), a C-based programmatic interface for monitoring and managing various states within Huawei NPUs.

It is intended to be a platform for building 3rd-party applications, and is also the underlying library for Huawei's npu-smi tool.

See hw_dcmi_wrapper for a safe wrapper over top of these bindings.

About Bindings

These binding is generated by bindgen, and you can obtain the binding of dynamic links by enabling the 'load_dynamic' feature (via libloading). Otherwise, the binding of static links will be generated.

By default, the library searches for DCMI components in the /usr/local/dcmi directory. You can override this path by setting the HW_DCMI_PATH environment variable.

If you want to regenerate bindings, you can set HW_DCMI_BINDING_BUILD to true to regenerate bindings, the generated bindings will be saved in:

  • Static link: hw_dcmi_wrapper_sys/src/bindings.rs
  • Dynamic link: hw_dcmi_wrapper_sys/src/bindings_dyn.rs

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0–6.5MB
~38K SLoC