A Matlab benchmark for high core count CPUs

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

chrgrose

Active Member
Jul 18, 2018
109
53
28
I do a lot of model development and prototyping in matlab. I've been working on an old 6 core 4960x system and am looking to upgrade. Unfortunately, there doesn't seem to be a good benchmark for matlab performance. and it is not clear to me if standard CPU benchmarks are useful indicators of matlab performance so I made my own and I've attached the first version to this post.

I am interested in seeing the performance of almost any system, but I'm particularly interested in the performance of high core count (16+) CPU's and systems as that's what I'm looking to buy. For myself I've considered the following:

AMD Epyc and Threadripper CPU's
i9 7980xe
Xeon Platinum 8180 (mainly engineering samples, as those are in my budget)
Xeon W-3175x (upcoming)
4x Xeon4890 v2 (Poweredge r920)

Things to note:
1. matbench.m will run the benchmark. You must change line 1 to 'linux=1' if you are running linux and you must change 'hyperthreading=0' if you only want to use as many threads as you have physical cores.
2. You need matlab installed on your system (I made a standalone application but it is just too large (~230 MB) and I don't know how to make it smaller). You also need the parallel computing package.
3. This is a CPU and MEMORY intensive benchmark. The system will use up to ~2.1 GB per thread. So, a 64 thread system will need more than 128 GB available. However, the program will limit threads to the maximum for available memory.
4. It should work in older versions of matlab, but I've developed it in R2018a.
5. I would have posted this in the 'linux-bench and other benchmarks' forum, but it looks like a graveyard there.


Three benchmarks are run. The first is simple arithmetic on vectors of increasing size. The second is an interpolation code with vectors of increasing size, and the third solves a system of linear equations for a small to large number of simultaneous equations. Each benchmark is run utilizing built-in matlab vectorized parallelization, single-threaded computation, and multi-threaded computation.

Example result for my 4960x, 64GB system:


The spider plot shows full results and the bar plot shows an overall score for each benchmark.
 

Attachments

Last edited:

William

Well-Known Member
May 7, 2015
789
252
63
66
Been a long time that I have looked at MATLAB, thanks for posting this.
I think they have a trial or demo version of MATLAB ?? yeah I see a 30 day trial... Home use is $145, then $45 for each plugins.
 

WarthogARJ

New Member
Feb 16, 2020
2
1
3
Hi,
Have you had any nibbles yet?
I've just read your post, and not tried to run it yet.
I'm in the same boat: I am looking for good benchmarks to decide what to build.

And there are dozens if you want to play games, but not that many popular ones for computational/workstation related.
There ARE benchmarks, the problem is there are not many results for them.
And sometimes what there is, were run without much control.

I'm assuming you've seen what is on the Matlab site/forum itself?
GPU-Bench and Bench.

I've collected the available data for GPU-Bench: about 40 runs of various combos of CPU and GPU.
Mostly just posted on the forum.
I can send you my summary of them if you like: save you the time in going through the posts.

It's still early days for me, so maybe this is a dumb question, but it seems to me that one is better off with getting a good Cuda-capable GPU with high cores.
Rather than a fast/high core CPU, but Male this approach wouldn't be best for you.

GPUBench - File Exchange - MATLAB Central

And there's also System Compute, on
https://www.overclock.net/forum/282...dated-31-jan-13-systemcompute-v0-5-7-2-a.html
There's a forum on that with posted scores.
I've only had a brief look so far at it, and might go through the posts and collect the scores if nobody else has done it already.

It was written by one of the guys who reviews on Anandtech: Ian Cutress.
It's what they use to benchmark systems.

And the guys who run GIMPS for primes, have one: Prime95.
That has a LOT of results.
It's just one type of calculation, but if you look at it, you might see how it fits into your requirements.

And there's SPEC Workstation, which has been used to benchmark specific computers by the manufacturers.
It's got a LOT of very specialised routines on it, and I've just started looking at it.

It has about 200 different tests it runs, and they weight them differently for various end uses: General Operations, Financial, Life Sciences etc.
It's free for non-commercial use, so if you posted the link to it on a few forums, and asked people who run workstations to run it, you might get results.
Especially if you offer to collate the results.
I might do that myself: so far I'm not sure if the ones where I have data are OK.

And EEMBNC has a few benchmarks.
https://github.com/eembc/coremark-pro
And the same issue is that best ones for workstation computing are not so popular, so there's not much data.
Well, specific/detailed output.
CoreMark seems good, and has quite a bit of data, but so far I've just seen the overall weighted score.
And not the actual detailed output, which I think would be best to have.

But again, it's free for non-commercial use.

Alan
 
  • Like
Reactions: nnunn

cjhien

New Member
Feb 8, 2023
1
0
1
微信图片_20230209071425.png微信图片_20230209071430.png
Thank you for the bench program, I have tested EPYC 7R13 with Matlab 2022b, personally I don't sugget this platform for matlab. There is a long way for AMD and Mathworks to work together for better results.