Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Jordan_S_1
Beginner
228 Views

CPU extension non-portable

Hi,

I have a Windows 10 laptop that I build an application that runs OpenVino inference engine. However, when I move this application to a Windows 10 tablet the application crashes straight away. I have narrowed this down to cpu_extension.dll. If I use the DLL of openVino built on the tablet itself, it is fine. 

Is there a way to create the cpu_extension.dll on my laptop such that it is portable to the tablet? 

0 Kudos
4 Replies
Shubha_R_Intel
Employee
228 Views

Dear Jordan,

Does your Windows 10 tablet run ARM or Intel X86 ? OpenVino is not supported on all Intel processors. There is also a GPU dependency.

Please read this:

https://github.com/intel/compute-runtime/blob/master/README.md

https://software.intel.com/en-us/openvino-toolkit/hardware

Thanks,

Shubha

Jordan_S_1
Beginner
228 Views

Hi Shubha,

It is an Intel tablet. We can run OpenVino on it. But we need to use the cpu extension built on the tablet itself in the OpenVino samples.

Thanks,

Jordan

Shubha_R_Intel
Employee
228 Views

Dear Jordan,

I understand. If you study the source code that goes into building cpu_extensions.dll,  the answer to your question can be found in C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\inference_engine\src\extension\cmake\CPUID.cmake . Reading the CPUID plays a role in building cpu_extensions.dll . So if you build that DLL on your laptop, there is no way it can work on your tablet, unless you modify that file somehow (which I don't suggest).

To experiment with such things, I'd rather you go for the dldt  github:

https://github.com/opencv/dldt/tree/2019

I'm sure it's possible to build on the laptop and transfer the cpu_extensions.dll onto your tablet, but you'd have to hardcode stuff which the CPUID command automatically returns.

Hope it helps

Thanks for using OpenVino

Shubha

Wong__Jeremy
Beginner
228 Views

Dear Jordan,

 

I guess that your tablet is using Intel ATOM processor which supports SSE instruction set only, while your desktop computer is using modern CPU which supports AVX2 instruction set / AVX512 instruction set. In my computer, the file name of the CPU extension is "cpu_extension_avx2.dll" which suggests that the DLL file is for processors supporting AVX2 instruction set. How's yours?

Reply