CFD-Multiphysics Benchmark for x86 and ARM (Windows/macOS/Linux)

7800X3D will be bandwidth limited by fabric, so it will underperform vs core count. It can only do about 60-70G/s due to single CCD GMI3 If is limited to 64G/s at Inf 2000 for example. While M1/2/3 Max has about 220G/s to the CPU. And my TR 7960X has about 190G/s.

7960X 24C 12,660 s ~190G/s
M1 Max 8C 19,650 s ~220G/s
7980X3D 8C 25,200 s ~65G/s

So my TR with runs in about 64% of the time of the 8C M1 Max. However below is some testing I did on core scaling with my own thermal CFD problems, one with 1M DOF, and one with 5M DOF. Form 8C to 24C the expected time reduction is about 67%, not far off.

I spent about 3500 USD on the TR system with 128G and 4T.
M2 Max with 96G 4T is 4200 USD
M2 Ultra with 128G 4T is 5800 USD

Lets say M3 Max is same cost, lets say 20% faster for CPU, and 25% faster for 12 vs 8 core scaling, that would give about a 67% total time reduction. Or just behind a 24 C TR for a little more money, that is my prediction anyway. Note that 20% overall faster is optimistic as memory bandwidth is about the same M1 vs M3, with 30% raw CPU increase and no memory increase, I guess would be in the 15-20% increase range.

My impression is that it will be impressive what M2/M3 will be able to do it will not be cost competitive with a tuned TR DIY build, we need to wait and see if anyone can post some M2 Ultra or M3 Max scores to see where they land. Anyone want to to Apple forum and hassle people to come here and post, ha ha.

Core scaling example relative to 8c = 1x for my own CFD Thermal problems.

4 Likes

Reran the benchmarks on the 7800X3D. Fresh runs for both benchmarks, as I’d had to fuss with PBO and RAM speeds/timings since the last runs I posted while chasing a game stability issue. These new runs are with just ‘PBO enabled’ and EXPO enabled via the easymode UI on an AsRock PG Riptide WiFi b650e. As result, these should be comparable to each other, but not necessarily comparable to the prior runs I posted upthread.

10 GB / CFD-only benchmark:

Time Taken Hardware Operating System BLAS Notes
40m 6s Ryzen 7800X3D (8c/16t) PBO enabled, 64GB DDR5 @ 6000 (EXPO) Pop!_OS 22.04 OneAPI Did not require -3drend sw to run when -blas oneapi was manually specified
40m 3s Ryzen 7800X3D (8c/16t) PBO enabled, 64GB DDR5 @ 6000 (EXPO) Pop!_OS 22.04 AOCL -3drend sw was not required to run.

60GB CFD+EM benchmark:

Time Taken Hardware Operating System BLAS Solver Notes
7h 1m 33s Ryzen 7800X3D (8c/16t) PBO enabled, 64GB DDR5 @ 6000 (EXPO) Pop!_OS 22.04 OneAPI PARDISO .
7h 2m 44s Ryzen 7800X3D (8c/16t) PBO enabled, 64GB DDR5 @ 6000 (EXPO) Pop!_OS 22.04 OneAPI FGMRES .
7h 2m 11s Ryzen 7800X3D (8c/16t) PBO enabled, 64GB DDR5 @ 6000 (EXPO) Pop!_OS 22.04 AOCL PARDISO .
7h 4m 18s Ryzen 7800X3D (8c/16t) PBO enabled, 64GB DDR5 @ 6000 (EXPO) Pop!_OS 22.04 AOCL FGMRES .

I did throw out a 39m 40s-ish AOCL run on the CFD-only bench because it was a ‘dirty’ run – was using the machine for browsing and video at the time. The one in the chart above is a clean re-run. But for this, it really seems like there’s no optimization in BLAS or solver that’s going to significantly change the actual bottleneck with these workloads on this platform. Probably the (lack of) memory bandwidth, as RMM said. :slightly_smiling_face:

1 Like

@Level1_Amber

Pls makenit pretty and add it to the table of results


This system 1.5tb ram but it was misdetected

2 socket 32 core F seires epyc 9374F

1 Like

Wow 13 minutes, better than any TR and 2x9374F costs a little less than 7985wx. If only it were capable of handling gaming and desktop workloads…

1 Like

Paradiso on this one

1 Like

128c but zen4c cores

1 Like

I’m extrapolating off of passmark benchmarks, so take with a grain of salt but I think the M1 Max is closer to 110GB/s memory bandwidth to the CPU portion of the SoC… however the memory latency is really really good, like half that of threadripper which I’m sure helps alot.

Apple’s per core performance must be pretty close to Zen 4, even though it is running at a lower clock… or perhaps it’s not purely core performance and Apple’s improved memory latency is making up the difference in performance, hard to say.

I just posted on their subreddit, hopefully we get a few bites. I could be saving big on my electricity bill if the performance is similar and I switched.

Geez that’s fast! that looks to be the platform with the most impressive memory bandwidth-latency combo so far.

56c spr xeon

2 hrs 51 mins fgmres

1 Like

@RMM I got someone with an M1 Ultra to run the benchmarks and have updated post #2; very decent scores considering the power being used.

It seems to perform the less-memory-intensive, more-compute-intensive CFD-only benchmark relatively slow compared to how fast it completes the very-memory-intensive, moderately-compute-intensive CFD-EM benchmark.
I think this highlights that it has very ample memory bandwidth compared to the amount of cores it has; makes me think force using the E-cores during computation might actually benefit the platform.

I tested two of my systems using the CFD only 10gb benchmark.

Desktop:
AMD Ryzen 9 7950X 16c 5.16GHz boosted
64GB 6000MHz ram
WIN11Pro
SMT off

Runtime: 40 min 44 sec

Server:
MZ73-LM0 (rev. 2.0) AMD EPYC™ 9004 DP Server Board Gen5
2x AMD EPYC 9684X with 96 cores and 1152 MB L3 Cache
24x 32gb DDR5 RDIMM 2Rx8 4800MHz
RHES 8.8
SMT Off

Runtime: 18min 8s

I feel like my server can do better but I’m not sure how to optimize it.

1 Like

Your dual EYPC server’s performance falls in line with similar systems for the benchmark, so at least you don’t have to worry about some kind of bad software/hardware un-optimization plaguing you.

For these small problems I think CPU clock speed is the main thing they improve with more than core count (atleast beyond a certain number of cores, perhaps a couple dozen).

Another optimization for the small problems is actually Optane storage as opposed to NAND based storage since relatively more time is spent loading in the model and assembling matrices compared to computing them.
-this process isn’t very sequential or high queue depth so Optane’s low latency beats the pants off of NAND’s higher theoretical bandwidth.

Well that makes me happy to hear that my system is comparable similarly to others. On one hand it’s nice to know that components are working alright, on the other hand I was hoping I missed something so I can squeeze more power out of it.

I’ll take a look at Optane storage, thanks for the suggestion.

Ah what the hell, just saw this:

"However, Intel announced in Q2 2022 that they plan to cease future development of Optane products. "

Yeah its kind of sad that it was discontinued because it really was an amazing product.
There is still new stock of Optane being sold though, but the downside to it is that it is all either PCIe gen 3 or gen 4 based as opposed to the NAND storage we can get that is PCIe gen 5 based now; That being said, switching from a PCIe gen 5 based NAND to a PCIe gen 3 based Optane drive did noticeably improve my performance.

Just stumbled on this article, looks like a small boost might eventually come to my 9684x once Ansys decides that they’ll support the newest version of linux.

1 Like

5950x, 128gb @ 3200MHz.

CFD-EM:
image

CFD only:
image

1 Like

Your numbers sound lower than what I would expect… I ran my 13700k with 5600mhz ddr5 on the cfd only and the run time was pretty close to 40 minutes. How much memory bandwidth are you getting?

DDR5 should give you a significant bandwidth advantage. My 7950x got 32m 25s with DDR5 6200

you can try running on less cores to get more boost clock using:

-np 32

to only run on 32 cores for example

also you can try to put the numasets to np cores used / 8

for example

-np 32 -numasets 4

or

-np 64 -numasets 8

this would using 32 cores with 4*8 numa sets that can reduced CCD -CCD traffic and result in faster speed provided it gets scheduled properly