- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
we have upated our product to IPP 2020.0.0 Gold and we got some feedback in our Helpdesk system from customers who have problems on some older processors
i.e.
xeon e3 1225 v3
and
i5-34??
it seems, that the initialization of IPP fails on these systems, unfortunal we don't have access to these sytstems and we can't debug.
Are there any known issues on older processors with IPP 2020?
IPP2019 works on the old processors fine.
Ralf
- Tags:
- Development Tools
- General Support
- Intel® Integrated Performance Primitives
- Parallel Computing
- Vectorization
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ralf, the v.2020 has to work on these systems as well. We know nothing about such kind of problems. Could we have more details? Do you know which IPP routine causes the problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for your answer.
As i said, i have no access to these production systems for debug. We solved the issue by downgrading to IPP 2019
I have no access to a system where the problem occurs atm.
All accessible systems, where we can debug, are working fine with IPP 2020.0.0 Gold, too
The issue seems to be in an initialization routine for IPP, that is what i can see from our internal Log-Files.
Ralf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If possible, can you please share the log file? This is important for us to narrow down this issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the log is from our program, - the entry says only, that it failed to initialize IPP, there are no info about the called functions etc.
If there appears another system with this issue, i'll try to narrow down.
I will let you know as soon as i have more info ...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
which is the first IPP function from this application pipeline? did this application call some Init function?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
here is the init function:
void App::initIPP() const
{
LogIntend li(LogManager_->SysLog_, "Init IPP");
ippInit();
auto lib = ippGetLibVersion();
IPPLog_->log("Version " + string(lib->Name) + " " + string(lib->Version));
Ipp64u mask, emask;
/* Get CPU features and features enabled with selected library level */
auto status = ippGetCpuFeatures(&mask, 0);
if (ippStsNoErr == status) {
emask = ippGetEnabledCpuFeatures();
IPPLog_->log(string("Features supported by CPU\tby IPP\n"));
IPPLog_->log(string("-----------------------------------------\n"));
IPPLog_->log(string(" ippCPUID_MMX = " + strFromInt((mask & ippCPUID_MMX) > 0)));
IPPLog_->log(string(" ippCPUID_SSE = " + strFromInt((mask & ippCPUID_SSE) > 0)));
IPPLog_->log(string(" ippCPUID_SSE2 = " + strFromInt((mask & ippCPUID_SSE2) > 0)));
IPPLog_->log(string(" ippCPUID_SSE3 = " + strFromInt((mask & ippCPUID_SSE3) > 0)));
IPPLog_->log(string(" ippCPUID_SSSE3 = " + strFromInt((mask & ippCPUID_SSSE3) > 0)));
IPPLog_->log(string(" ippCPUID_MOVBE = " + strFromInt((mask & ippCPUID_MOVBE) > 0)));
IPPLog_->log(string(" ippCPUID_SSE41 = " + strFromInt((mask & ippCPUID_SSE41) > 0)));
IPPLog_->log(string(" ippCPUID_SSE42 = " + strFromInt((mask & ippCPUID_SSE42) > 0)));
IPPLog_->log(string(" ippCPUID_AVX = " + strFromInt((mask & ippCPUID_AVX) > 0)));
IPPLog_->log(string(" ippAVX_ENABLEDBYOS = " + strFromInt((mask & ippAVX_ENABLEDBYOS) > 0)));
IPPLog_->log(string(" ippCPUID_AES = " + strFromInt((mask & ippCPUID_AES) > 0)));
IPPLog_->log(string(" ippCPUID_SHA = " + strFromInt((mask & ippCPUID_SHA) > 0)));
IPPLog_->log(string(" ippCPUID_CLMUL = " + strFromInt((mask & ippCPUID_CLMUL) > 0)));
IPPLog_->log(string(" ippCPUID_RDRAND = " + strFromInt((mask & ippCPUID_RDRAND) > 0)));
IPPLog_->log(string(" ippCPUID_F16C = " + strFromInt((mask & ippCPUID_F16C) > 0)));
IPPLog_->log(string(" ippCPUID_AVX2 = " + strFromInt((mask & ippCPUID_AVX2) > 0)));
IPPLog_->log(string(" ippCPUID_AVX512F = " + strFromInt((mask & ippCPUID_AVX512F) > 0)));
IPPLog_->log(string(" ippCPUID_AVX512CD = " + strFromInt((mask & ippCPUID_AVX512CD) > 0)));
IPPLog_->log(string(" ippCPUID_AVX512ER = " + strFromInt((mask & ippCPUID_AVX512ER) > 0)));
IPPLog_->log(string(" ippCPUID_ADCOX = " + strFromInt((mask & ippCPUID_ADCOX) > 0)));
IPPLog_->log(string(" ippCPUID_RDSEED = " + strFromInt((mask & ippCPUID_RDSEED) > 0)));
IPPLog_->log(string(" ippCPUID_PREFETCHW = " + strFromInt((mask & ippCPUID_PREFETCHW) > 0)));
IPPLog_->log(string(" ippCPUID_KNC = " + strFromInt((mask & ippCPUID_KNC) > 0)));
}
}
Ralf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i have solved the issue on a system with an i3-3220 CPU
It was not a problem attributable to Intel IPP 2020.0.0 Gold
it was an issue with Intel Media SDK 2019
the code sequence is
mfxVersion ver = { { 1, 1 } }; mfxSession auxSession; const auto result = MFXInit(MFX_IMPL_HARDWARE_ANY, &ver, &auxSession);
which works fine with SDK 2018 but generates an access violation in MFXInit with SDK 2019 on some old processors ( i3-3220 has Hardware API-Level 11)
i changed the code to
mfxVersion ver = { { 13, 1 } }; mfxSession auxSession; const auto result = MFXInit(MFX_IMPL_HARDWARE_ANY, &ver, &auxSession);
and now the code works with Intel Media SDK 2019 on an i3-3220 (no access violation in MFXInit)
Ralf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for letting us know, Ralf
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page