Sign in with
Sign up | Sign in
Your question
Closed

CPU for cpu-intense single-threaded apps

Last response: in CPUs
Share
July 14, 2010 9:12:02 PM

Hi Everyone,

I have started some research for a system which will more or less be dedicated to math. All of the software I use are single-threaded, and even if they weren't, all the algorithms I use are not suited for multi-threaded. They are extremely cpu-intense and use a bit of memory; it's not rare for me to max out my 4GB of ram within a minute or so. Anyway, I feel like the Intel Core i5 680 (the new 3.6 GHz) is the perfect candidate for my build. Are there any processors which I have overlooked which will beat out the aforementioned processor on one thread? I realize a better memory controller (and the 1156 chips probably don't have the best memory controller) could also make quite a difference, but basically I desire raw processing power on one thread.

Just to stress this again, I understand 4 threads are probably better than one, but I only care about the speed of one thread for this build. I am slightly interested in overclocking, so please factor reasonable overlocking into your suggestions. However, let us assume that the chip I will buy a subpar chip, and will only be able to achieve an average overclock.

I am willing to spend quite a bit on the proc., but nothing ridiculous. I am absolutely not buying a $1000 processor. $500 is REALLY stretching it. The $300 for a dual-core chip is already pretty steep in my eyes, but acceptable if it is fast.

Some other information: I will not be gaming or anything really other than mostly math, occasionally compiling some c code (which is not a time-consuming operation for me, as my programs are not particularly long interms of lines of code, it is the running of these algorithms, which are single-threaded, that takes forever). I am building this PC around the processor. Everything will be done to accomodate the proc. in order to get the best results I can for a somewhat reasonable amount of money.

Sorry for the long post and I look forward to suggestions!
a b à CPUs
July 14, 2010 9:24:56 PM

the 680 is the first thing that popped into my head, install that bad boy, you should be abl3 to get it to 4.8ghz with little stress, and actually the mem controller on 1156 is quite a step up from previous generations, i would take off ht so just 2 threads will show, i would say there is no cpu on either side of the equation which can match
a c 131 à CPUs
July 14, 2010 9:27:10 PM

Yeah looks like you found your processor. There is no faster dual core processor available and per core, it is faster at stock than the i7 980X But I would like to know:
-What are these "math intensive single-threaded programs" you are talking about?
-What system are you using for these programs right now?
-Sounds like you are talking about memory intense programs, again I ask, what programs?
-Math eh? So you'd be more interested in ALU performance than FPU, but I ask again, what programs?

Anyway, overclocking should be fine. You'd probably be able to get to 4GHz without messing with the voltage or any other issues.
I don't see what you mean by the chips don't have a good memory controller, where are you hearing this?


Also, what exactly do you want from us? Do you want more from us than suggesting what CPU to get?
Related resources
July 14, 2010 9:43:17 PM

enzo matrix said:
Yeah looks like you found your processor. There is no faster dual core processor available and per core, it is faster at stock than the i7 980X But I would like to know:
-What are these "math intensive single-threaded programs" you are talking about?
-What system are you using for these programs right now?
-Sounds like you are talking about memory intense programs, again I ask, what programs?
-Math eh? So you'd be more interested in ALU performance than FPU, but I ask again, what programs?

Anyway, overclocking should be fine. You'd probably be able to get to 4GHz without messing with the voltage or any other issues.
I don't see what you mean by the chips don't have a good memory controller, where are you hearing this?


Also, what exactly do you want from us? Do you want more from us than suggesting what CPU to get?


For the most part I use Magma (a link to the product's site). An example of something I do a lot, is I need to calculate the unit group of a number field, which is incredibly intense in terms of proc. power and memory, at least for the current computational algorithms. Occasionally (more like rarely since Magma is quite fast) I will program explicit simple algorithms using GMP and NT library, when I am crunching a lot of integers or vectors for a pattern. As of course a c program is the fastest thing we can run aside from assembly or actual cpu code, and uh, yeah....

Anyway, my desktop has an AMD 720BE, with 4GB of memory. It's not too slow, but I ran one of "programs" (written in Magma code) on a professors Xeon (not sure which model) and it ran significantly faster. It took my machine a night, while his took only a few hours. Additionally, some of the code we wrote ran on his machine for two weeks and never actually finished, but these are un-optmized tests looking for special cases.

Since you mention, I have absolutely no use for fpu. I do everything in integers, or vectors of integers, or things which can be represented by vectors of integers (for example an element of the unit group can be represented as such by Dirichlet's Unit Theorem).

I do everything in 64 bit GNU/Linux, specifically I use Arch Linux.

Regarding the comment about 1156 having a "bad" memory controller. I hadn't actually read that anywhere in fact. What I meant to say was, out of available memory controllers, the 1156 seems to be for mid-level enthusiasts. I would Imagine that there are much faster controllers out there for different chipsets. I didn't mean any offense by this. It was just to highlight that a slightly slower clock on 1366 and a faster mem controller could make a faster computer? I suppose I just revoke it!

And to answer the final question: yes, I basically just want some suggestions into things I could look into which may be faster. I understand the core speed is not the only thing which determines how fast my algorithms can run. Some proc's are faster despite their higher speed, from what I gather. Maybe there are some amazing single-core proc's which are not x86 which I don't know about or something. In terms of raw speed, it would certainly seem the 680 is the fastest, but I wanted to see if I was missing anything.

Anyway, thanks for the replies from both of you.

Best solution

a c 131 à CPUs
July 14, 2010 9:54:55 PM
Share

Nope, you didn't miss anything. The 680 is the fastest per core CPU at stock speeds. If you are going from a 720BE 3-core and are finding it way too slow, the 680 might be your only worthwhile upgrade.

I was just wondering where you got the information about the 1156 memory controller because I had never heard of a speed or performance difference between the 1156 and 1366 memory controllers. If you are referring to the DMI, which replaces the bus speed, then even the slower 1156 is a lot faster than your ram will be.

Anyway good luck. I am curious as to the xeon model that your prof has, if you ever get the chance.

As long as you are absolutely sure magma and any other programs you use can only use one CPU core, then the 680 is your fastest option.
July 14, 2010 10:12:43 PM

I remember seeing the box vaguely, and I believe it was an extreme edition. I believe, however, it is based on the core 2 architecture, not the core i (or whatever is the proper way to write this). I am fairly sure it is clocked at over 3GHz, though, and I know from using it that it has 4 physical and 4 logical cores.

For a more specific example which demonstrates the power of his computer over mine: to calculate the unit group of the cyclotomic number field of order 18, my computer took 65 seconds while his took 9 seconds.
a c 265 à CPUs
July 14, 2010 11:04:56 PM

If your application is memory intensive, and you fill up your 4gb, then the difference in throughput may be explained by the ram configuration.
As earlier posters have mentioned, the $300 i5-680 @3.6 has the highest standard clock rate around. With a bit of overclocking it will go past 4.0. However, the lesser priced 655K @ 3.2 ($200) has an unlocked multiplier which should also let it be overclocked >4.0. Add in 8gb of ram and you have a very fast machine. 16gb is possible.

If, however ram is that important(check how much the prof's machine has) then perhaps a X58 chipset based system would be better. It will let the ram operate in triple channed(vs. dual) mode. You can get a i7-930 at microcenter (walk in only) for $200 that can be overclocked perhaps to 4.0. With such a system, 6gb is normal, and you can get 12gb or even 24gb.

Get the exact specs of the prof's machine. It is possible that he is using a earlier generation of cpu that had a much longer instruction pipeline that is particularly suited to your application.

As a general rule, the intel cpu's will compute a bit better than amd on a clock for clock basis. But, not on the scale you described.
a c 131 à CPUs
July 14, 2010 11:21:39 PM

^ lol guess it was too foggy for you :p 

-No such thing as an extreme edition Xeon, only core 2 quad extremes called "core 2 extreme"
-No core 2 based CPU has hyperthreading, even the Xeons
So if I just go by what you know for sure, that it has hyperthreading, it must be an icore based Xeon.

not the core i (or whatever is the proper way to write this)
I've decided to call it the "icore" :D 
cyclotomic number field of order 18, my computer took 65 seconds while his took 9 seconds.
That seems like a very large amount. That would make a single core on his CPU nearly 4 times as powerful as a single core of yours. Are you sure magma can't utilize more than one CPU core? Considering only one core and the info you gave me about his CPU, then one of his cores could only be up to twice as powerful as one of your cores. Maybe a bit more but not 3 times as powerful.
You did mention a lot of memory usage. Perhaps that is holding you back as well. If you get the new CPU, I'd opt for at least 8GB of memory. Or as much as your prof has.

Anyway, here's a comparison of a slower core i5 than the one you are looking at against your old CPU. Even in multi-threaded, a massive performance increase all around:
http://www.anandtech.com/bench/Product/117?vs=83
July 15, 2010 12:16:45 AM

Thanks for the reply geofelt. I really am not too familiar with such extreme overclocking, at least in practice. I never mess with the voltage or anything. The main concern I have is the stability. I mean kernel panics are one thing; but when doing research a misleading error in calculation can send someone hours searching for an explanation to something they didn't expect. Furthermore, often parts of a proof are to show that after a certain point things are true, and handle the smaller cases on the computer; hence such extreme overclocking is probably not a good idea. Due to speed though I don't wish to use ECC memory or anything. I am sure, as you say, in my case, the triple channel memory might make a difference. If only they had a core i5 680 equivalent for 1366! When I read about these things occasionally, I often see people saying none of it makes a difference, and only shows up in benchmarks. But my situation (math calculations) basically are like benchmarks/stress tests/what have you...

I understand you can test to be sure a system is stable "enough," but I'd definitely like to avoid extrme overclocking if possible. So I guess the obvious question I have is: with such extrme overclocking (nearly adding 1Ghz), is stability an issue?

Again though, thank you for your thoughtful input.

EDIT:

@Enzo, I suppose you are right. It must be based on the newer processors. In fact, we at times were trying to write algorithms to use multiple cores, but it never helped, as the algorithms just don't scale well, at least with our limited programming abilities. Also, when running one instance of Magma, you can watch his CPU sit at " 13% ", which is clearly 1/8 rounded up. Each additional opened process of Magma would increase by 1/8. And never would one go over 13%. The algorithms are just not optimized for multithreads, and I am nearly 100% sure Magma, for our purposes, uses only 1 thread.

The computation for the 65 sec vs 9 sec does not come close to pushing memory limits (it's in fact one of the most basic cases).
a c 131 à CPUs
July 15, 2010 12:42:08 AM

I understand you can test to be sure a system is stable "enough," but I'd definitely like to avoid extrme overclocking if possible. So I guess the obvious question I have is: with such extrme overclocking (nearly adding 1Ghz), is stability an issue?

My advice for this is to overclock without a voltage increase. Test for stability to make sure it is perfectly stable using both linx and prime95 (run p95 for 24 hours) (not at the same time of course). Once stable, reduce the clock by an amount you feel comfortable with (say, 0.1GHz) to ensure stability. Of course, I'd try it without overclocking first. If you feel fine, then you wouldn't even need to worry about it.

Geofelt is right about the i7 system. But no high clocked dual cores are available. Albeit, the core i7, per core, is still faster than what you have now. And you could overclock. How much ram does your prof have, do you know?

I am sure, as you say, in my case, the triple channel memory might make a difference.
A difference that could be more than made up for by purchasing faster dual channel memory, if you decide to go with the i5 system. The main advantage of the i7 is the capacity for more ram at a lower cost past 8GB. 4GB stick are too expensive so taking cost into consideration, you'd have 8GB for the i5 or 12GB for the i7. Find out what your prof has, when you know that, you'll know that that is enough.
July 15, 2010 3:35:23 AM

I believe I will go with the 680. Though this is going to get a bit off topic (I feel like anyone looking for a similar answer will find it in the previous posts), I now need to choose a suitable mother board and some apparently fast ram. Has it been tested yet what speeds the 680 can handle?

Four sticks of

G.SKILL Trident 4GB (2 x 2GB) 240-Pin DDR3 SDRAM DDR3 2000 (PC3 16000) Desktop Memory Model F3-16000CL9D-4GBTD
http://www.newegg.com/Product/Product.aspx?Item=N82E168...

seem like they would be quite fast, if the 1156 platform can support that speed. I'm assuming I'd need a fairly nice motherboard to pull it off. Something not too far from

EVGA P55 FTW 200 SLI 141-LF-E658-KR LGA 1156 Intel P55 ATX Intel Motherboard
http://www.newegg.com/Product/Product.aspx?Item=N82E168...

One requirement that I have is that the board maker has a way for updating the BIOS (if necessary) independent of the OS. For OS-dependent updates essentially mean Windows...

Anyway, this is where I really know very little. When I built my last PC (my first build), I was going for something reasonable and saving money where I can. Now I feel like I need to be more careful, as I will be a bit more on the edge of what can be done instead of playing it more safe. Though I will still be nowhere near many of the extreme OCers... I degress.

Thanks again everyone for taking time to help out.

@Enzo, I am not sure which of your posts to select as the best answer, but you clearly have gone out of your way to understand my needs (well wants) and help out. Thank you for that. (I'll just choose a random one which contains the answer)
July 15, 2010 3:36:30 AM

Best answer selected by measure.
a c 265 à CPUs
July 15, 2010 1:23:51 PM

The 680 is your best choice if you will not overclock. All cpu's in a series are made from the same chip. Some perform a bit better, and are sold set to higher clock speeds. There is not that great a market for the most expensive chips, so Intel will reduce the clock rate so it can sell chips at a lower price point. In the case of the clarkdale 32nm duo's, you should be able to take a cheaper chip like the 655K and increase the clock rate to the level of the 680, and even beyond. I view this as perfectly safe. You can go higher safely if you do not increase the cpu voltage. There is no guarantee, however, that a lesser chip will overclock at all. But, I have yet to hear of such a situation. Chips monitor their temperatures and will downclock if necessary to protect themselves. The key to a nice overclock is a good cpu cooler which you should be able to buy for <$40.

To test for stability, you can run prime95. You set the program to check for rounding errors. This will exercise all cores to the max and uncover any weaknesses. You should be able to run it indefinitely with NO errors. As a practical matter, you only need to run it long enough to get the cpu temperature to stabilize at it's maximum. For the ram, memtest86+ is the gold standard. Run it for at least a full pass. You should get NO errors.

I would also suggest that you look into a 8gb ram kit configured as 2 x 4gb instead of 4 x 2gb. There is very little price premium on the 2 x 4gb kits, and it will preserve your option to upgrade to 16gb later. The integrated memory controllers on the nehalem cpu's are very good at feeding the cpu with data. There will be very little difference in real application performance(vs. synthetic benchmarks) between the slowest DDR3 ram and the fastest. Perhaps 1-2%. Faster ram is helpful mainly if you will overclock.

a b à CPUs
July 16, 2010 12:42:29 AM

This topic has been closed by Mousemonkey
!