Best computer for problem

1 view (last 30 days)
LL
LL on 11 Jun 2018
Edited: Jan on 12 Jun 2018
I run problems that require the use of vpa and typically grow larger than 8MB of RAM. I run on a Dell 8MB with 3.3GHz processor (64 bits). So I can frequently take the machine down. What computer should my company buy with a lot of RAM and fast CPU for vpa based MATLAB problems?
  6 Comments
Walter Roberson
Walter Roberson on 12 Jun 2018
But Jan, you aren't counting the needed 8 kB ROM!
Jan
Jan on 12 Jun 2018
Edited: Jan on 12 Jun 2018
Correct, Walter, as well as I do not count the BIOS/UEFI hardware.
[s, m] = system(['reg query "HKLM\SYSTEM\CurrentControlSet\services\mssmbios\Data" ', ...
'/v "SMBiosData"'])
mc = strsplit(m, char(10));
mm = strsplit(mc{contains(mc, 'SMBiosData')})
v = sscanf(mm{4}(35:36), '%x')
ROMsize = 64 * (v + 1) % KiB
My PC has 4608 KiB.
I admit I installed a 16 kB RAM extension to run my first Runge Kutta integrator on the ZX81.

Sign in to comment.

Answers (2)

John D'Errico
John D'Errico on 11 Jun 2018
Edited: John D'Errico on 12 Jun 2018
Which specific computer should you get? One as fast as your company will pay for, with the most RAM they will go for. Make sure there is a ssd drive.
So let me explain what you get from the various options you might consider.
Fast clock speed means you get the most bang for your buck on singly threaded calls. There is a common tradeoff between number of processors on a chip, and the clock speed. Too many processors, and you generate heat, so high clock speed is a problem. Why do I point this out? Because most symbolic computations tend to be single threaded. (Said today. One day, that may change, but you are asking about what to get today.) So your goal would arguably be maximum clock speed, and multiple CPUs be damned. Make sure you have a good fan in there.
Lots of RAM. As much as you can afford, since MATLAB needs to farm stuff out to disk when you exceed your limits. That gets slow. It also points out the utility of a SSD drive of sufficient size. That greatly speeds everything up, especially when virtual memory gets involved. A huge platter drive is nice, but they are way slower than an SSD drive. You can look for compromises here, if you really need large storage capabilities, so can have two drives, targeted at both goals.
Fast bus speeds will also be important, since that means everything talks to everything else as fast as possible. Fast and large cache memory is good of course too.
The basic point is that you want to maximize speed for singly threaded computations. Don't worry about a system with 12 or 16 cores on it, if they will be relatively SLOW cores. You are not doing linear algebra here, or computations on long vectors of numbers, things which benefit greatly from multi-threading. MATLAB automatically farms those things out to every core it can get for big problems. But not for symbolic stuff.
Do you need a great GPU? Are you doing lots of high speed graphics? Does not sound like it, but a GPU can be used to speed up floating point computations too. The thing is, they are not currently used for symbolic computations (that I know of.) As I understand it, a GPU would do poorly there.
Next, a laptop versus a fixed system is an important choice, because it may limit where you can take your work. But remember that heat is the killer, and a tower style unit with a massive fan will cool things down, allowing it to run flat out for long periods of time without frying your computer, or forcing it to degrade its clock speed just to keep things cool. Since laptops don't have the greatest fans, they can have problems cooling down your CPU if you will use it for flat out crunching. In the end, that will cause problems, so if you really need a laptop for occasional portability, it would be best if you have two computers.
So you can spend your money on things that will aid you to solve your target problem.
Having said all of that, beware. The problem you may be wanting to solve tomorrow need not be the problem you're solving today. Highly optimizing your system for max performance on one problem may see you get burned tomorrow. So, a good, fast, more general system may actually be a decent compromise, because while you may pay a 10 or 20 percent penalty on throughput today, it may keep that computer viable on the next class of problems you see next week or next year.
I've probably missed a few points since I am not a hardware expert, but these should be decent general rules to consider in your search.
  1 Comment
LL
LL on 12 Jun 2018
Thank you- the comments about not needing multiple CPUs but the fastest I can get was helpful.

Sign in to comment.


Walter Roberson
Walter Roberson on 11 Jun 2018
vpa operations are not done in parallel, so you would prefer a fast CPU with a lot of memory, but not necessarily many CPUs. https://www.techradar.com/news/best-processors

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!