#intel #ipp #bindings #performance #wrapper #convenience #toplevel

ipp-sys

顶级便捷crate(ipp-sys Intel IPP绑定的一部分)

9个版本

0.4.5 2019年11月23日
0.4.4 2019年11月23日
0.4.3 2019年7月11日
0.4.2 2019年3月18日
0.1.0 2017年10月3日

#145性能分析

Download history 169/week @ 2024-03-11 121/week @ 2024-03-18 134/week @ 2024-03-25 182/week @ 2024-04-01 278/week @ 2024-04-08 271/week @ 2024-04-15 90/week @ 2024-04-22 118/week @ 2024-04-29 55/week @ 2024-05-06 104/week @ 2024-05-13 61/week @ 2024-05-20 171/week @ 2024-05-27 55/week @ 2024-06-03 129/week @ 2024-06-10 83/week @ 2024-06-17 76/week @ 2024-06-24

350 每月下载量

MIT/Apache

5MB
190K SLoC

ipp-sys

这是什么crate?

此crate提供了使用rust-bindgen制作的Intel集成性能原语(Intel IPP)库的封装。

版本支持

使用201720182019 cargo功能来分别使用IPP 2017、2018或2019。

下载IPP

https://software.intel.com/en-us/intel-ipp获取IPP

用法

通过设置环境变量IPP_STATIC=1将IPP静态编译到您的应用程序中。

您必须在编译时设置IPPROOT环境变量。此变量由build.rs文件用于找到您的IPP安装。通常,这是使用与IPP一起提供的Intel工具设置的,并按如下方式运行。

在Linux上

source /opt/intel/compilers_and_libraries_2019/linux/ipp/bin/ippvars.sh -arch intel64 -platform linux

在Mac上

source /opt/intel/compilers_and_libraries_2019/mac/bin/compilervars.sh -arch intel64 -platform mac

在Windows上

"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\ipp\bin\ippvars.bat" intel64

Cargo.toml中,将ipp-sys作为依赖项包含,并具有一个功能来选择使用的IPP版本

[dependencies]
ipp-sys = { version = "0.4", features=["2019"] }

现在,您可以在您的crate中使用ipp_sys。您可能想检查是否已编译了正确的版本,例如执行以下操作

// Get the version from IPP at runtime.
let linked_version_major = unsafe{ (*ipp_sys::ippGetLibVersion()).major };
let linked_version_minor = unsafe{ (*ipp_sys::ippGetLibVersion()).minor };

// Compare the runtime major version with the compile-time major version.
assert_eq!( linked_version_major as i32, ipp_sys::IPP_VERSION_MAJOR as i32);
// And compare the minor version, too.
assert_eq!( linked_version_minor as i32, ipp_sys::IPP_VERSION_MINOR as i32);

API文档

请参阅docs.rs上的ipp-headers-sys页面

关于此文件(README.mdipp-syscrate中)的说明

此文件是通过运行以下命令从ipp-sys docstring自动生成的

cargo readme > README.md

依赖项