- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 |
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you provide a table to show the ipp function list which is optimize by AVX or AVX2?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page