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

Best Intel processor for imaging apps?

petemoss
Beginner
346 Views
This may not be the best place for this question, but I will ask anyway. Is there a 'better' processor for imaging apps? I have recently been working with Core2Duo processors, but someone in my company thinks the Xeon based processors may have some (unstated) advantages.

If no one here knows, is there a better place to ask this question?

Thanks
Pete

0 Kudos
2 Replies
Vladimir_Dudnik
Employee
346 Views

Hi Pete,

it is too general question, so an answer also can't be certain. It is really depend on application itself, isn't it? For some imaging application the performance of microcontroller in cell phone is enough whereas for other applications the performance of graphics workstation withmany processors is not enough.

Basically, you should know that Xeon is general marketing name for processors which targeted for servers. If you remember there were i486 and Pentium Xeon processors at the beginning of 90-th.
Now, Intel Corporation produce the whole line of processors based on single arhitecture, Core2, for different market segments, including server, desktop and mobile segments. So, in general, micro architecture of those processors is the same but there are some specific features to optimize processor for specific market segment. For example, for mobile segment, power consumption is the most important feature while for server it is security and performance.

Please see processor's data sheet for the difference between server, desktop and mobile processors.

Regards,
Vladimir

0 Kudos
jmparrot
Beginner
346 Views
This may not be the best place for this question, but I will ask anyway. Is there a 'better' processor for imaging apps? I have recently been working with Core2Duo processors, but someone in my company thinks the Xeon based processors may have some (unstated) advantages.

If no one here knows, is there a better place to ask this question?

Thanks
Pete

Hello, Pete,

Despite the one month age of the question, I'd like to contribute because it isa question good enough to continue the discussion.
Let me answer by looking at two scenarios.

SCENARIO 1
All the graphic processing is done by the CPU.
Very easy: if you can parallelize the processing, Six cores are better than Quad core which is better thanDuo which is better than just one core. Doesn't matter if it is Xeon or not, except for the top 6 core Xeon until we don't have non-Xeon with 6 cores.By the other hand, if the code cannot be parallelized, then makes few or nonedifference if your CPU has one or more cores.
The Threading Building Blocks library has a ray tracing example which is impressive in demonstrating parallel processing.

Alsoother features are very important to consider (regardless of being Xeon, Core or common Pentium):
- Memory access speed. The higher the FSB the fast the rendering
- Cache. Big ones can accomodate an entire loop code and counters. That enhances speed.
- Clock. Of course, the higher, the faster.

If you use to program with OpenMP or other parallel library,for sure haddifficulties with"contention", the atempting of using the same resource by more than one thread. In graphics,accessingvideo mapped memory is a typical contention event, because there is just one video memory, soeach thread must wait for its turn toaccess the memory.

SCENARIO 2
All the math is done by the CPU and graphical rendering by a GPU in a dedicated card. Thatsthe almost perfectcombination.
Again, Hexa > Quad > Duo > single.
Again, Xeon or not, makes no difference.
Again, contention on accesing the video memory is an issue, in this case slighter lower because the pileline can be queued.
Anyway, it dependes on the code, for example, if it calls a number of GetPixel functions, then it will be strongly impacted by this explicit video buffer access.

A SCENARIO 3 attempting
A DP 45nm Hi-K Intel Xeon processor X5482 (3.20GHz, 1600MHz FSB, 12MB L2 cache) + 4 16x PCI-e graphics cards with dedicated GPUs for textureand for math,and 1GB 128bit memory each, is a GREAT combination!!! Unbeatable until Intel launchs a new tech...

A SCENARIO 4 attempting, thinking a bit more...
For very high quality rendering, with very high resolution, when graphics cards aren't capable of supporting, then the most important is to proccess in parallel, at highest clock possible. Multi core processing, rendering to main memory (not the video frame buffer) then copying to video only when the rendering is complete, is a great approach.

Concluding, Xeon is better due its strenghts and extended features, but makes not so much difference due contentions and bottlenecks at the graphical output.

People with stronger knowledge of in depth hardware probably can disagree partially, but I talk from a practical perspective.

Jose

0 Kudos
Reply