Thanks to visit codestin.com
Credit goes to lib.rs

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

#482 in Profiling

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

499 downloads per month

MIT/Apache

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

Dependencies