#intel #acceleration #storage #intelligent #api-bindings

isa-l

libisal库的惯用绑定,Intel(R)智能存储加速库

4个版本

0.2.0 2020年6月25日
0.1.2 2020年3月5日
0.1.1 2020年3月3日
0.1.0 2020年3月2日

硬件支持中排名1438


用于isa-l-erasure-coder

BSD-3-Clause

3MB
72K SLoC

C 32K SLoC // 0.1% comments Assembly 30K SLoC // 0.2% comments GNU Style Assembly 8K SLoC // 0.1% comments Rust 830 SLoC // 0.0% comments Shell 804 SLoC // 0.1% comments Automake 532 SLoC // 0.4% comments Bitbake 256 SLoC // 0.2% comments

isa-l-rs

Rust对libisal库的绑定,Intel(R)智能存储加速库

目前只实现了纠删码的绑定。循环冗余校验RAID压缩解压缩可能以后会实现(欢迎提交PR)。

用法

# Cargo.toml
[dependencies]
isa-l = "0.1"

构建

如果找不到libisal >= 2.14.1,则尝试动态链接,否则从源代码构建。从源代码构建需要nasmyasm(参见https://github.com/intel/isa-l#prerequisites)。

更新libisal-sys绑定

要更新绑定,我们使用bindgen并手动更新生成的绑定

  • 安装bindgen
    $ cargo install bindgen
    
  • 在系统上安装libisal的新版本。
  • 进入tools目录
    $ cd tools
    
  • 审查wrapper.hbindgen.sh
  • 生成新的绑定
    $ ./bindgen.sh > ../libisal-sys/lib.bindgen.rs
    
  • 与旧绑定合并,检查文档,更新/添加测试
    $ vimdiff ../libisal-sys/lib.bindgen.rs ../libisal-sys/lib.rs
    

依赖关系