9 releases
0.4.5 | Nov 23, 2019 |
---|---|
0.4.4 | Nov 23, 2019 |
0.4.3 | Jul 11, 2019 |
0.4.2 | Mar 18, 2019 |
0.1.0 | Oct 3, 2017 |
#161 in Profiling
316 downloads per month
5MB
190K
SLoC
ipp-sys
What is this crate?
This crate provides wrappers of the Intel Integrated Performance Primitives (Intel IPP) library made with rust-bindgen.
Version support
Use the 2017
, 2018
, or 2019
cargo feature to use IPP 2017, 2018, or
2019 respectively.
Download IPP
Get IPP from https://software.intel.com/en-us/intel-ipp
Usage
Compile IPP statically into your app by setting environment variable
IPP_STATIC=1
.
You must set the IPPROOT
environment variable at compilation time. This is
used by the build.rs
files to find your IPP installation. Typically, this is
set using a tool provided by Intel with IPP and run as follows.
On Linux:
source /opt/intel/compilers_and_libraries_2019/linux/ipp/bin/ippvars.sh -arch intel64 -platform linux
On Mac:
source /opt/intel/compilers_and_libraries_2019/mac/bin/compilervars.sh -arch intel64 -platform mac
On Windows:
"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\ipp\bin\ippvars.bat" intel64
In Cargo.toml
, include ipp-sys
as a dependency with a feature to select
the IPP version used:
[dependencies]
ipp-sys = { version = "0.4", features=["2019"] }
Now, you can use ipp_sys
in your crate. You might like to check that you
compiled the correct version by doing something like:
// 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 documentation
See the ipp-headers-sys page on docs.rs.
A note about this file (README.md
in the ipp-sys
crate)
This file is automatically generated from the ipp-sys
docstring by running the
following command:
cargo readme > README.md