CPU for scientific image processing: X6 1100T or i5-2500K or i7-2600k

iamharshal

Distinguished
Jun 23, 2011
3
0
18,510
:hello:

I am planning to buy a system for engineering class image processing.

Do you have any suggestions for doing high throughput image processing ?
I would couple the CPU with either GTX 460, 480, or ATI 6950 2GB DDR5.

Budget is around USD 800 . I have separate budget for GPU.

I have following choices -

AMD Phenom II X6 1100T (primary choice)
Intel i5-2500k (primary confusion)
Intel i7-2600k
AMD Bulldozer Fx-8130P (waited gamble?)

Thank you.
 

fulle

Distinguished
May 31, 2008
968
0
19,010
To play the devil's advocate (advocating evil Intel), I can't help but point out that the i5-2500 pretty much out performs the poor AMD X6 1100T in almost every benchmark you can think of, and most real word situations at stock speeds, while offering superior overclocking headroom.

Edit: I just took a peak at Anandtech's bench page, and the i5-2500k dominated every image processing application listed.... including 3dsmax, Blender, and Photoshop.

Second edit: If price is a concern, I'd probably stay at an i5-2500k vs a 2600k, since the performance difference is usually pretty minimal in most applications. Depending on the image processing software you use, you might not notice the difference. The AMD processor, however, just doesn't seem to perform well enough to justify for your desired task, unless you have a strong personal bias against Intel, and would rather use an inferior product than give Intel money.

I'd understand if that's your stance, since some people take serious issue with Intel's history of monopolistic practices... but the unfortunate truth is that AMD cannot compete with Sandy Bridge.
 
Currently the SB line of CPU's are the fastest for any single processor setup. Thus, among your given choices its the SB which gets my vote. However, I'd recommend you to get a Xeon model.

www.newegg.com/Product/Product.aspx?Item=N82E16819115083
 
For now an i2500k offers the best value of the three and there is no telling how Bulldozer will preform. However, if you get an X6 1100T now along with an AM3+ board you can upgrade to a four modual (AMD says eight core but I still say that's not 100% true) Bulldozer CPU latter on when you feel you need it. Yes I do think that the AMD Bulldozer Fx-8130P will be faster than a 2600K when it's released, but who knows about how well it will overclock. So yeah, that's a bit of a gamble.
 
I'm guessing a lot of your stuff will revolve around matlab.

An x6 and the 2500k/2600k will be pretty close. The HT on the 2600k probably won't give yah much over the 2500k that you can't gain from a little OC.

Your GPU could make a big difference - or not. Matlab can be a little schizophrenic on CPUs and GPUs so it would really help yah to get a really good idea of what you will be running before spending too much cash.
 
AMD Phenom IIx6 1075T @ 4.1GHz RAM 1566MHz 9-9-9-24: GFLOPS:77.1
Intel Core i5 2500K @4.5GHz, RAM 1600MHz 9-9-9-24: GFLOPS:63.3

Intel and AMD GFLOPs data thread

In AVX the new Core series will run 120-130 GFLOPS at 4.5GHz or so. Once again, if the OP is running a Matlab program, most likely not optimized for AVX, it could go either way with AMD or Intel.

Remains to be seen how the Bulldozer will run AVX instructions -- the 'FlexFP' could make things very, very interesting.

 
In a Bulldozer Module, a single FP unit is shared between two threads, while each thread gets it's own integer unit (hate that AMD says they are cores). For most FP instructions, the FP unit can execute two threads, but when it comes to AVX instructions the FP unit can only execute one AVX instruction at a time so if the other thread has an FP or AVX instruction it has to wait. How much of an issue that is depends on the software using AVX of course and how common AVX will be, but it will probably be a while before it's wide spread.
 


Here is the John Fruehe blog on FlexFP. His 'splaining is a lot better than mine.

from John:
The beauty of the Flex FP is that it is a single 256-bit FPU that is shared by two integer cores. With each cycle, either core can operate on 256 bits of parallel data via two 128-bit instructions or one 256-bit instruction, OR each of the integer cores can execute 128-bit commands simultaneously. This is not something hard coded in the BIOS or in the application; it can change with each processor cycle to meet the needs at that moment.

Here is the schematic of a module:
bulldozer.jpg


Essentially, there is no such thing as a 256-bit AVX command ... John, again:
Now, let’s be clear, there is no such thing as a 256-bit command. Single precision commands are 32-bit and double precision are 64-bit. With today’s standard 128-bit FPUs, you execute four single precision commands or two double precision commands in parallel per cycle. With AVX you can double that, executing eight 32-bit commands or four 64-bit commands per cycle – but only if your application supports AVX. If it doesn’t support AVX, then that flashy new 256-bit FPU only executes in 128-bit mode (half the throughput). That is, unless you have a Flex FP.



edit: I fegit ... at John's blog there is a little chart that shows how each 'core' functions in the module depending upon 128-bit / 256-bit command strings.

 

iamharshal

Distinguished
Jun 23, 2011
3
0
18,510
Thank you folks !

Well just to provide a couple of more points that I missed earlier:

* My work would revolve mostly around OpenCV, with combination of one or more of numerical libs such as R, GNU Octave and LAPACK.
* I suspect integer operations would dominate floating point operations. And hence BD makes more sense (assuming quoted launch price).

@barrymobiel Nice trick. Thanks.

@wisecracker Thanks for sharing the GFLOPS numbers. However, I am struggling to draw a correlation (especially about 980x). Your help may be vital.

@Emperus, Xeon seems interesting. But I am unsure if I would run out of budget for the whole system.

@megamanx00 I too suspect that. In fact OpenCV is optimized to some instructions of that sort. One of the reasons to favour i7-2600k.