- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I am extremely impressed with the performance and value for money of the IPP libs and am just about to purchase, my one nagging doubt is that of performance on non Intel pcs. Does anyone have any experience?
Cheers
Chris
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
we can use IPP performance measurement tool to estimate if the performance is enough for your purposes. You can find this tool in folder IPP oolsperfsys after IPP installation.
We are interested in your feedback, how you find this tool, is these data do present IPP performance in clear manner. If you need some clarification about measurement units we are using in this tool - please ask, we will be glad to help.
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have triedrunning an AMD Opteron/AMD64 machine and generating our
own static dispatch, dynamic loading dlls. These dll's call the SSE2 intel
optimized code, and give good performance. The code is all in one cpp, like:
#define STRICT
#define WIN32_LEAN_AND_MEAN
#include
#define WIN32_LEAN_AND_MEAN
#include
#undef IPPAPI
#define IPPAPI(type,name,args)
type __stdcall w7_##name args;
__declspec(naked dllexport) type name args { __asm { jmp w7_##name } }
#define IPPAPI(type,name,args)
type __stdcall w7_##name args;
__declspec(naked dllexport) type name args { __asm { jmp w7_##name } }
#include
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
return TRUE;
}
You link with ippcorel.lib,ippsmerged.lib,ippimerged.lib to get your
customized ipp20.dll.
We still don't know how to do this for 64 bit XP though, the problems are:
1. No inline assmebly, new calling convention
2. There are only two types of libraries mx and m7. I think the m7 are SSE3
libraries and not suitable for AMD64. I'm not sure what level of
optimization the mx libraries are.
Jonas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
you are right Intel Pentium 4 with EM64T supports SSE3 instruction set, so IPP M7 libraries can contain SSE3 instructions which are not supported on non-Intel platforms.
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Letssuppose that there was a non-Intel machine that supported SSE3,
or perhaps you wanted static dispatch for Intel machine.
Do you know how we would be able to do the static dispatch call without
using inline assembly?
Jonas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is very easy to use static dispatcher. The only thing you need is to link your application with merged/emerged libraries and call ippStaticInit() before call of any IPP function.
Vladimir
![](/skins/images/D2683F18326913BBA0436CB7114DD569/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page