CUDA and IPP Difference

Has anyone heard about IPP (Intel Primitive Performances ), how different is working with the processors low level capabilites for video processing as compared to working with GPU’s parallel processing capabilites ?

IPP works on cpu with multi-threads+SSE. If you want to know some details about the IPP, I think you can read the TBB(intel open source multi-thread lib) resource & some SSE codes. little threads+more SIMD(SSE)

GPU programing like CUDA, it works on GPU。 it’s SIMP which are more threads.

GPU is better than CPU on parallel work.

Add you can have a try to compare them.

I’ve been using Intel’s Integrated Performance Primitives a couple of years ago for some image processing, and while it’s fast it doesn’t compare to the performance you can get with CUDA. Then again, it really depends on your type of application whether you get more performance from the GPU or CPU.

IPP has some advantages over CUDA:

  • it already has a good number of image processing functions;
  • its redistribution model is mature (silent installers, DLLs with version-numbered file names, etc), whereas nVidia’s policies are unknown;
  • IPP library is better supported by Intel than CUDA is supported by nVidia. Bug fixes can take some time but you’ll get them. For CUDA I haven’t seem a formal process for submitting bugs other than posting messages here.

For peak performance I agree you gotta go CUDA but for some cases it’s not always possible so IPP can provide a reasonably good base implementation.

On the developer site you can submit bugs in a formal bug tracking system. You have to apply to get access though.