Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Using in Linux Kernel Module and Windows Driver?

DF
Beginner
584 Views

Hi,

Using 7.0.x I'm able to use the px/mx generic versions no problems in Kernel mode for both Linux/Windows.   I'm thinking of moving up to 7.1.x (don't want to break too much stuff) and there is no px/mx available.   I recall reading somewhere you can't use SSE2 or anything that does task switching  in Linux kernel and for Windows x64 kernel the MMX registers.   So the question is, is that true and if so does that mean kernel modes stuck at staying with px/mx versions from 7.0.x ?   Would be using for encryption and/or compression.  No floating point.

Right now it works nice in apps too, users can use ipp generic mode old hardware or use the newer support (all built using static libraries, simply running some macros and a couple passes to the IPPAPI macro to prepend px## or mx## along with macros which choose what to call).

TIA!!

0 Kudos
5 Replies
Ying_H_Intel
Employee
584 Views

Hi DF, 

As I recalled, the PX and MX required seperate download in IPP 7.0. but restore in IPP 7.1 and later version. for example, I'm looking at the IPP 8.2 version.

[yhu5@prc-mic01 intel64]$ ls *mx*

libippccmx.so.8.2  libippcvmx.so.8.2  libippimx.so.8.2  libippvmmx.so.8.2
libippchmx.so.8.2  libippdcmx.so.8.2  libippsmx.so.8.2

could you please check if px/mx in IPP 7.x folder?

I may check about  "you can't use SSE2 or anything that does task switching  in Linux kernel and for Windows x64 kernel the MMX registers" and get back to you if any news. 

But you mentioned , using 7.0.x I'm able to use the px/mx generic versions no problems in Kernel mode for both Linux/Windows, where ox /mx has been compiled for the processors that conformas to SSE2 processor architectures.  So i guess it should be ok for you to use even latest version 9.0.1 for the encryption and/or compression

Best Regards,

Ying 

 

 

 

0 Kudos
DF
Beginner
584 Views

I see the 7.1 version doesn't have any *px* items or *mx* items.  the 7.0 version has them after a separate download.  the 9.x linux version has the same type you show with 8.2, only the shared libraries, no static libraries and the nonpic doesn't have any *px* or *mx* items.

 

I tried to update the windows version to 9 just to have it, but your order system wouldn't work, keep kicking me out of the log in, or if it was in, showed two different records, I tried to select one or the other and it wouldn't move forward to place the order.

0 Kudos
DF
Beginner
584 Views

well for linux i used the nonpic and tested x64 it worked without a crash so far, but the code size went up from 150K to 455K  I didn't call ippInit() so it uses the lowest processor compatiblity.

for windows I can still use the old for now.  The info may be at https://msdn.microsoft.com/en-us/library/windows/hardware/ff545910%28v=vs.85%29.aspx

 

0 Kudos
Ying_H_Intel
Employee
584 Views

Hi DF,

Thanks for letting me know.  I have news about IPP 7.0 and IPP 7.1, and later.

1) right,  PX and MX required seperate download in IPP 7.0. the px /mx has been compiled for the processors that conformas to SSE2 processor architectures

2) The px/mx (generic) implementations, released for Intel® IPP 7.0, are not available for Intel® IPP 7.1. They were a one-time release with the 7.0 API.

3) Px/mx optimizations are returned back into the main package in IPP 8.0

So if you have to used IPP px/mx, it seem better to upgrade to IPP 8.0 and later.

Regarding the current question, could you please clarify:  

1) well for linux i used the nonpic and tested x64 it worked without a crash so far, but the code size went up from 150K to 455K  I didn't call ippInit() so it uses the lowest processor compatibility.

is it IPP 7.1, em64t, nonpic, libippdc.a libippcy.a?  or from IPP 9.0.1?

2) I tried to update the windows version to 9 just to have it, but your order system wouldn't work, keep kicking me out of the log in, or if it was in, showed two different records, I tried to select one or the other and it wouldn't move forward to place the order.

Do you apply for IPP 9.0.1 main package, the free license or purchase  from  https://software.intel.com/en-us/intel-ipp/ => up-right box.  

or community license  from https://software.intel.com/sites/campaigns/nest/.

IPP 9.0.1 Crypto package is separated application and download as IPP 7.0.   please notes the IPP 9.0.1 Crypto package need to exact match with IPP 9.0.1 main package.

Best Regards,

Ying

0 Kudos
DF
Beginner
584 Views

Hello,

 

I don't see the mx/px for the static libraries in version 9 ?  I see the for the shared libraries, but to save space for the kernel modules I need the static version nopic.  Or one that has a single type like w7.   I'll look at those headers to see if it is there to force one type???

0 Kudos
Reply