Home PC or workstation for MATLAB?
Show older comments
I am due to specify a new PC to use for my MATLAB work. The most demanding tasks are typically repeatedly running long (couple of hours simulated time) Simulink simulations at small sample times (couple of microseconds) and plotting and otherwise processing (fairly simple like averaging, root mean square, etc.) the data. The simulations are usually time-varying and often of stiff systems. Ususally I run the simulations in series (tuning model and control parameters, etc.) although sometimes they could run in parallel for Monte-Carlo-type simulations, should MATLAB allow so (Parallel Processing Toolbox?).
Does anyone have information/ideas about whether the 'workstations' offered by companies such as Dell and Lenovo would perform significantly 'better' (mainly faster) than 'home PCs' at a similar price, say £1200/US$2000/Euro1400 for guidance? I am assuming the same RAM, say 8GB (trying to get 16GB, but that may exceed the budget).
Looking at Intel CPUs only, I have noticed that (mid-higher spec) 'home PCs' (which is all we use in the office at the moment) usually come with i5 or i7 CPUs, whereas 'workstations tend to come with a variety of Xeon CPUs. Is there any benchmarking data on whether (current, lower-end) Xeon CPUs offer an advantage over an i7, or vice versa, for the type of Simulink work described above?
Accepted Answer
More Answers (3)
William
on 3 Aug 2012
0 votes
look at the lenovo W520. I use it all the time and was able to get one with 16gb of ram for around 2000. Worst case get a desktop. You won't be paying for portability.
Bhuvnesh Rathor
on 17 Aug 2020
0 votes
Minimum Specifications for MATLAB Software
Processor - i3, i5,
RAM 4 GB
Hard Disk – 500 GB
Graphics Card- 2 GB
Window Any
If you want to work on new version of MATLAB software and in your budget then we suggest i7 processor, 8 GB ram, 1tb HDD
10 Comments
Walter Roberson
on 17 Aug 2020
I would not buy as little as 8 gigabytes of RAM for a new installation unless I was pressed hard on current budget and I expected to be able to upgrade in a couple of years (e.g. expect to get a job in two years.) In less than 4 years, 8 gigabytes of RAM is going to be considered a serious limitation.
I moved from a 2012 MacBook Pro with 8 gigabytes, to a 2013 iMac with 32 gigabytes, and it made a significant difference for my work. The 2013 iMac is still fast enough for most things that I do, but I am not doing Deep Learning. Sure, faster CPUs would be nice, but the kinds of activities that I do that take a long time are 18+ hour symbolic computations and a very expensive highly cooled CPU that was 50% faster than what I have now would only take that down to 12+ hours: it isn't like having a 60 core supercomputer on my desk would solve the computation in 5 minutes. (Symbolic computing in parallel is more difficult than it sounds unless you put up with exponential memory usage. The x+y over here might not necessarily be the same as the x+y over there, and subtracting the two might not return 0.)
Gerrit
on 17 Aug 2020
Walter Roberson
on 17 Aug 2020
Edited: Walter Roberson
on 17 Aug 2020
It is not uncommon for me to have two matlab sessions running at the same time. Sometimes it is because I have a running calculation that I need to leave running while doing something else. Sometimes it is because it is common for me to be working on multiple topics, and save/load is inconvenient as a "suspend" mechanism (and does not save entire session states with function workspaces and so on.) Sometimes it is because I need to experiment with an approach while not breaking what I have. Sometimes it is because I need to work with multiple releases to cross-check behaviour or bug test. Sometimes I need to run a virtual machine to test matlab under a different operating system.
I find that when I try to do any development work in Simulink, it is pretty likely that I will end up opening another matlab session for pure matlab work.
I also tend to have Maplesoft's Maple symbolic programming language running, and there are plenty of times memory use blows up with that. Symbolic simultaneously equations with just a couple of squared terms chews up memory quickly (exact solution for quartic equations is long )
All of which is to say that 12 gigabytes is just not enough these days.
Gerrit
on 17 Aug 2020
Rik
on 17 Aug 2020
If you read that page very carefully they don't actually recommend a Quadro.
I would suggest looking at your typical work. How much memory does it use? How many cores? Are you using GPU acceleration? Only for extreme parallel work I would suggest more than 6 or 8 cores (also with an eye to the limited upgrade path you have with Epyc/Threadripper compared to Ryzen). The claim that the Intel hyperthreading doesn't actually improve performance seems strange to me.
It all depends on your workflow, but in general you should try to determine how much memory you need per thread, as that tends to be relatively stable over a wider range of cores. It makes intuitive sense you shouldn't spend thousands on your CPU and only getting 8GB of RAM. I have heard a suggestion that you should get 2GB per core you're planning to saturate, but I don't remember in what context that advice was given. I planned on getting 32GB for an R5 3600X (6c12t), which was intended as future-proofing, seeing as I don't have very memory-intensive work. (also: this machine is my gaming computer as well, which motivated a limited thread-count to allow higher clocks, which improves performance there)
Rik
on 17 Aug 2020
CPU: If you go to the performance tab of task manager, click the CPU section, right-click on the graph and select 'Logical processors' under the 'change graph to' menu. Then you can see the usage per thread.
RAM: 32GB is too much for what I currently do, but it provide headroom to start doing more intensive tasks. For 'normal' use I would say 2GB/thread is a good target, but you are doing more intensive tasks. A quick search taught me that the 2GB/thread wisdom has been told for quite some time now. Lately the number of threads have exploded (4 threads were quite normal, now 12 threads is even available to mid-range gamer builds). I don't really know what effect that would have on the memory/core, but going to 4-8GB/core (or /thread) doesn't sound like strange choice. I don't have your workflow. If you find a way to create a benchmark, I can run it for you and tell you the memory stats on my system, but otherwise this is not my area of expertise. Just my two cents.
GPU: If you're going to do deep/machine learning you will have to go for large memory GPUs (i.e. Quadro/Tesla). Most other parallel workflows will run on the CPU, so even the integrated graphics you're using are fine. Once you get to GPUs that work well for DL/ML/ANN the cost of the GPU can easily exceed the cost of the rest of the components combined, while still resulting in a balanced build. I suspect there are other sites where you can find a lot of advice about what combination of components are ideal for a given budget.
Walter Roberson
on 17 Aug 2020
I run out of memory with 32 gigabytes. Not every day, but it is not rare. If I only had 16 I would be running out a lot.
Walter Roberson
on 17 Aug 2020
I was using over 16 even as I wrote that. When I closed down all my apps I was still over 9 Gb. System processes keep expanding... and so many side processes running these days.
Gerrit
on 17 Aug 2020
0 votes
1 Comment
Rik
on 17 Aug 2020
I hope your organization made use of that extended protection deal with Microsoft if it is still running Windows 7 on internet-connected machines. (if you can attach a USB-stick to it and use that same stick on an internet-connected machine, even offline machines should be considered internet-connected)
It sounds to me like Walters workflow is closer to yours, so his advice is probably more applicable. The last time I ran out of memory was when answering this question where I found the maximum size imwrite can write to a png: about a 4GB file.
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!