1) When using these APIs I'm offered the choice of data stored with the RGB values stored adjacent to one another: RGBRGBRGB etc. and one which uses image planes. Is there any reason a priori to prefer one over the other?
2) Do I need to store my data in old fashioned C type arrays, or can I use valarray or vector collection classes?
3) If I wish to perform arithmetic operation on two image arrays, it seems I have the choice of (e.g.) subtracting two valarrays or using IPP to do it. Is there any reason to prefer one over the other?
It seems there's lots of ways to skin these cats in Parallel Studio XE, so guidance appreciated
Given that I had already read that document (if I hadn't I wouldn't have known to ask the questions I did), I fear that your suggestion falls on stony ground. You didn't address a single one of my questions.
So sorry didn't back to your questions for a long time since miss checking this thread.
Our IPP Image processing expert will answer your questions soon.
1. The preferred format for the most of SIMD algorithms is "Structure of arrays" i.e. planar/P3: RRR, GGG, BBB.
2. STL methods (for ex. data()) can be used to pass to IPP functions.
3. In many cases IPP has better or comparable performance. Also IPP detects CPU instruction set to select appropriate branch, e.g. avx512
As we haven't heard back from you, we are considering that your issue has been resolved.
We will no longer monitor this thread. If you require any additional assistance from Intel, please start a new thread.
Any further interaction in this thread will be considered community only.