Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6711 Discussions

Dispatching problem with D 805 processor on 32bit windows

bendeguy
Beginner
248 Views

Hi!

I made custom IPP dlls formost of thepossible architecture(px,a6,w7,t7,v8,m7). I wrote a little program, which determines(ippGetCpuType) which architecture to use for the specific CPU. I run into a problem on a 32-bit Windows XP with an Intel Pentium D 805 processor. The ippGetCpuType returns ippCpuEM64T which means M7. Then I want to load my customippm7 dll which fails because that is a 64bit dll. In this case I make a pointer and get the size of it. If the pointer size is 4 byte then it is a 32bit Windows else (8 byte) it is a 64bit Windows. Is this a good solution to determine the Windows architecture(32bit or 64bit)?
At this pointI know that this Windows is a 32bit Windows and the processor supports em64t. Can I say that this processor supports SSE3 too and use T7?Are theresome processor which supports em64t but not supports SSE3? If there are processors like this how can I determine if itsupports SSE3, SSE2...? Or how can I choose the best architecture for them. Thanks in advance,

Bendeguy

0 Kudos
1 Reply
Vladimir_Dudnik
Employee
248 Views

Hi Bendeguy,

As far as I know, it is not possible to have both 32-bit and 64-bit code runned in one process, so your approach should not work.

Regarding your question, ippCpuEM64T type on IA32 system means that your processor has EM64T capability. IPP dispatcher will choose T7 code to run on EM64T capabale processor when 32-bit operating system (it is easy to veryfy that with performance tests, you can find in IPP oolsperfsys folder of your IPP installation. Run any of those executable and you will see in report file that T7 library was dispatched).

Regards,
Vladimir

0 Kudos
Reply