MATLAB: Cores vs. speed tradeoff for a Matlab computer

MATLABmultiple processsparallelparallel computing

I am buying a computer for Matlab modeling. The goal is to select the computer in my budget range that will complete a set of simulations as fast as possible. I believe I should purchase a computer with as many cores as I can afford, but the processor speed shouldn't be slow. Any suggestions on optimizing the tradeoff of [number of cores] vs. [processor speed]? Below are some example combinations. Which would finish 144 simulations the fastest?
  • 6 cores at 3.46GHz, single CPU
  • 8 cores at 2.93GHz, dual CPU
  • 12 cores at 2.40GHz, dual CPU
[For full disclosure, we haven't been able to get the Parallel Computing toolbox to work with our model code, so we just start a separate instance of Matlab for each core.]

Best Answer

You don't mention memory or storage. These are also critical to processing speed.
You should spec an adequate amount of RAM per core, depending on how much memory your simulations use. If you can keep things in RAM they are going to go much faster than if you need to wait on disk access. RAM is relatively inexpensive these days so you should be able to stuff quite a bit of it in for comparatively short money.
I'd also recommend using a SSD for storage. The performance versus a regular hard drive is significant, which will be important if your simulations can't fit in memory or are accessing data files from storage.
Given the information provided, there's no way of knowing which computer would "win" without making a pile of assumptions that may or may not be valid for what you are working on.
You also don't mention how you get to the number of cores. Is this a single CPU system or dual?