Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Employee
116 Views

AMD support

Hi,

I'm a developer from OEM tools in IDC. We are using Intel® Integrated Performance Primitives (Intel® IPP) library in one of our tools. I'd like to know if IPP supports AMD A9-9430 processor? and if so, from which IPP version? currently we are using 8.1 version and a failure occurs on IPP init function (on HP platform).

 

Thanks,

Hanit

0 Kudos
8 Replies
Highlighted
Employee
116 Views

Hi Hanit,

could you be more specific and describe the "failure"? IPP doesn't differentiate cpus by vendor - Intel or non-Intel. It differentiates them by supported instruction sets. A9 supports AVX2 - therefore AVX2 code should be dispatched on it. The only thing is  different - ippInit should return status "NonIntelCpu" - but this means nothing - everything should work correctly.

regards, Igor

0 Kudos
Highlighted
Not applicable
116 Views

Hi Igor,

I'm a developer from Hanit's team.

IPPInit() is exactly the function we were facing issue with. We thought that the only return value that indicates a success status is ippStsNoErr.

Can you please describe the optional return values for this function and what are the return values that indicate a failure?

Thank you,

Gal

0 Kudos
Highlighted
Employee
116 Views

Jan met de Pet wrote:

Can you please describe the optional return values for this function and what are the return values that indicate a failure?

Thank you,

Gal

Fix:

Can you please describe the optional return values for this function and what are the return values that indicate a success?

0 Kudos
Highlighted
Employee
116 Views

Hi Gal,

all values below zero are errors, zero means ok status, all values above zero are just warnings (so the function performs the action for which it's intended but reports some minor issues). For ippInit() there are only 2 possible statuses - ippStsNoErr and ippStsNonIntelCpu (that warns you that IPP is optimized for Intel architecture and may not show the best performance for non-Intel cpus).

Regards, Igor

0 Kudos
Highlighted
Employee
116 Views

Hi Igor,

Thanks a lot for your answers!

So this function can't have any errors. Correct?

What about ippStsNotSupportedCpu? Can't it be returned? If so, is it a failure?

 

Thank you,

Gal

0 Kudos
Highlighted
Employee
116 Views

It can't be returned by ippInit, it can be returned only by ippInitCpu() or its new analogue - ippSetCpuFeatures().

Regards, Igor

0 Kudos
Highlighted
Beginner
116 Views

I have received by ippInit() also ippStsWaterfall = 43,      (* Cannot load required library, waterfall is used. *)

0 Kudos
Highlighted
Employee
116 Views

Hi Ladislav,

you are talking about dynamic linking with IPP, when ippInit() doesn't make sense (as it is performed automatically at dllMain() level). Initial discussion was (I think) about static linking. Dispatching mechanisms are different for static and dynamic libraries. With "normal" installation you will not face with ippStsWaterfall - this status is returned in case of some cpu-specific dll missing in the search path,- for example detected arch is AVX2, but AVX2 (h9 or l9) dll has not been found, and IPP dynamic dispatcher is trying to load "lower" dll using waterfall mechanism - first AVX, then SSE42, etc. - in this case ippStsWaterfall warning is returned.

regards, Igor

0 Kudos