Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
6670 Discussions

show the ipp function list which is optimize by AVX or AVX2?

Fu__Yu
Beginner
430 Views

Currently I am doing some benchmark comparing the time usage between enable / disable the AVX / AVX2 / SSE. And I found there is no remarkable difference for some math function such as add & multiply. I switch the flag by manually change the cpu variable and call function: ippSetCpuFeatures. Is it reasonable or not?

 status = ippGetCpuFeatures(&mask, 0);
  // chage instruction flag
  //ippCPUID_MMX
  printf("\nBefore set ippCPUID_MMX:      %c\t%c\t", (mask & ippCPUID_MMX) ? 'Y' : 'N', (emask & ippCPUID_MMX) ? 'Y' : 'N');
  if (a = (mask & ippCPUID_MMX))
  {
   emask = (emask - ippCPUID_MMX);
  }
  printf("\nAfter set ippCPUID_MMX:     %c\t%c\t", (mask & ippCPUID_MMX) ? 'Y' : 'N', (emask & ippCPUID_MMX) ? 'Y' : 'N');
  ...
  IppSts = ippSetCpuFeatures(emask);
  if (IppSts == ippStsFeatureNotSupported || IppSts == ippStsUnknownFeature) //ippStsNoErr
  {
   wStatus = IppSts;
   goto EXIT;
  }

More detailed pls. refer to below.

 

Intel Xeon CPU E5-2650 V4 @ 2.2GHz

 

Image sz: 2048 * 2048

 

Unit of time: ms

 

Ipp version

Instruction & Compiler setting

Add

 

Multiply

 

SobelX&Y

     

Integer
 (unsigned char)

Float

Integer

Float

Integer

 

Ipp New (2018)

AVX2 off + AVX off + SSSE3 off

0.55

5.96

0.67

5.69

14.84

31

Ipp New (2018)

AVX2 off + AVX off + SSSE3 on

0.56

5.99

0.62

5.68

4.29

 

Ipp New (2018)

AVX2 off + AVX on

0.56

5.99

0.62

5.68

4.49

61439

Ipp New (2018)

AVX2 on

0.56

5.84

0.57

5.61

2.99

 

Ipp New (2018)

AVX2 on + VS AVX Compiler on

0.54

5.91

0.55

5.72

3.06

 

Ipp New (2018)

AVX2 on + VS AVX2 Compiler on

0.55

5.85

0.55

5.67

2.98

Thanks & regards,

FY

0 Kudos
2 Replies
Fu__Yu
Beginner
430 Views

Could you provide a table to show the ipp function list which is optimize by AVX or AVX2?

Reply