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 在 性能分析
350 每月下载量
5MB
190K SLoC
ipp-sys
这是什么crate?
此crate提供了使用rust-bindgen制作的Intel集成性能原语(Intel IPP)库的封装。
版本支持
使用2017
、2018
或2019
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.md
在ipp-sys
crate中)的说明
此文件是通过运行以下命令从ipp-sys
docstring自动生成的
cargo readme > README.md