Hi. I'm looking to buy a system primarily for long numerical calculations in C++ and/or Fortran90. While I've read mixed reviews on whether there is a significant performance gain under different applications, I was wondering if anyone can tell me if it would be worth it for my purposes.
Edit: Crap! How do I move this thread to Motherboards and Memory?
Since every processor these days prefers to run memory in dual channel over single channel its worth it and its easy to do, just have an even number of sticks, if you are buying a new system it will quite likely be set up in dual channel initially anyway because dual channel gives slightly better performance in most applications.
Like Hunter said, even if small but running memory in dual channel surely bring benefits over running in single channel.. So yes, running two 2GB sticks in dual channel mode is better than running a single 4GB stick (assuming 4GB is all the memory you require)..
First of all, dual channel memory architecture is a chipset/motherboard feature.. Any two identical memory sticks will work in dual channel mode perfectly.. And by identical I mean bearing the same clock timings, latency timings, need to be same type of course and same amount of memory.. Can be from different manufacturers as long as the listed key elements are same..
Some manufacturer quoting dual channel on their modules does not means that that particular modules only support dual channel.. Just look out for memory sets in packs of two.. They indicate two sticks tested and matched to work perfectly with each other.. For example -
Patriot DDR3 Viper II Dual Channel - 1333 or 1600.
Why does the Viper II specify that it is Dual channel and the others don't?
The Viper II Dual Channel is sold exclusively in pairs, which are guaranteed to have identical specifications. The others may be available as single modules.
For big numerical computation tasks with large datasets that will hammer the memory quite hard, such as medical imaging or large particle simulations, I'd be inclined to use ECC memory. (And yes, dual-channel is a must for these kinds of tasks.) You will need an AMD processor or an Intel Xeon workstation/server-class processor to use it as the memory controllers in Intel's consumer chips (Core/Pentium/Celeron) don't support ECC as far as I am aware. (Some Xeons even have triple-channel memory controllers.)
For computation with a small dataset (CPU-bound iterative stuff like calculating pi to umpteen zillion decimal places) you'd be fine with non-ECC memory. There would probably be little benefit to using dual-channel memory if the dataset will fit into the CPU's cache, but memory is so cheap these days that you'd be silly not to have it anyway - you'd be "spoiling the ship for a ha'peth of tar" if you scrimped a few dollars/whatever by only fitting single-channel.
Suppose I have 4 ram slots in my motherboard. Do all four ram sticks have to be the same, or can I have, say, 2x4GB sticks, and 2x2GB sticks, and still get full dual channel benefits from both pairs?
You'll still have the dual channel benefits.. Just make sure the rest specs (like i've mentioned before) are kept typically same.. Remember, when memory sticks are mismatched, all the modules run at the speed of the slowest memory stick..