Remix.run Logo
revolvingthrow 5 hours ago

I don’t understand those benchmarks.

According to geekbench 7800x3d is 2400 single core, 15500 multicore. M4 pro is 3350 single core and 24750 multicore. Yet when I convert video using libsvtav1 with ffmpeg I’m getting noticeably faster performance on the desktop. And that’s with mbp, which doesn’t thermally throttle within 15 seconds.

Is it the 96mb cache? Avx-512? Are benchmarks bullshit when comparing different architectures?

GeekyBear 5 hours ago | parent | next [-]

Remember all those years when people claimed Apple chips were "cheating" on benchmarks because they had crypto instructions that x86 lacked?

Apple chips don't have AVX-512.

They do have media engines (that don't support AV1 encode), so if you switch to H.265, it will pull way ahead.

12 minutes ago | parent | next [-]
[deleted]
ajross 4 hours ago | parent | prev [-]

> Apple chips don't have AVX-512.

Zen 4 isn't 512 bits wide though, it's a split cycle 256 bit wide SIMD engine otherwise very similar (except in register size) to M6's.

The answer is more that Geekbench is at this point[1] heavily tuned to exactly the code Apple silicon does well: implicitly parallel wide-issue scalar code that you typically get out of modern compilers and JIT engines when throwing mostly-unoptimized "regular source code" at them. Apple has an enormous amount of instruction issue parallelism compared with x86.

The grandparent is looking at transcoding tasks where the limit isn't instruction issue but actual compute hardware on the core. And Apple doesn't actually win by much there.

It's just hard to know what to measure. Geekbench tends to be a metric for "feels fast doing boring interactive user stuff", which probably matches Apple's marketing imperatives well.

[1] Really they keep moving harder in that direction with every release. The "cooling pauses" in v6 likewise seemed very much like an attempt to boost the score on fanless Apple devices. If one were the type to allege a dark conspiracy, this is a tempting spot.

thejazzman an hour ago | parent [-]

I would expect cooling pauses to have the opposite effect. The

MacBook Air/neo are the only ones without fans. Even the Studio Display has a fan

TiredOfLife 5 minutes ago | parent | prev | next [-]

Fast video encode was how AMD fans were coping during bulldozer era

snek_case 5 hours ago | parent | prev | next [-]

Probably AVX-512. AFAIK Apple CPUs are still using ARM NEON instructions with 128-wide SIMD registers. I guess they are banking on you using the GPU if you want to parallelize those kinds of workload.

ksec 3 hours ago | parent | prev | next [-]

Just want to add apart from all the other comments. SVT was brought by Intel and spent years to make it extremely well tuned for x86. While not the same for ARM and not even for Apple.

Another point is that the multicore part uses all core including E-Core. On AMD the multicore are all the same. Meaning for some benchmarks this will flavour Apple more.

Again there is nothing that stop people from optimising it for ARM Mac. The problem is the usage of it is so small it probably doesn't make sense to focus on it. SVT took a really long time for it to reach quality parity with AOM's AV1 encoder and later exceed it.

tom_ 4 hours ago | parent | prev | next [-]

Judging by my PCs (M4 Max Mac Studio; 2990WX desktop PC), Geekbench might flatter the Apple chips for multicore a bit I think:

Geekbench 7 results:

* AMD 2990WX: 1384 (single), 13052 (multi) (https://browser.geekbench.com/v7/cpu/181239)

* Apple M4 Max: 3552 (single), 29863 (multi) (https://browser.geekbench.com/v7/cpu/390256)

For parallelisable stuff that can occupy all cores for an extended period, the 2990WX typically takes about ~1.2x as long to do the same work/does ~0.83x the work per unit time, assuming code compiled with clang or gcc. Which isn't really coming across in the numbers here.

CPUMark is a bit better:

* AMD 2990WX: 2282 (single), 32040 (multi) (https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+Threadrip...)

* Apple M4 Max: 4590 (single), 43911 (multi) (https://www.cpubenchmark.net/cpu.php?cpu=Apple+M4+Max+16+Cor...)

I haven't spent much time timing single core stuff, except - regarding clang, which looks like it contributes to the Geekbench 7 score, I did some measurements a few months ago suggesting that clang compiles for x64 more slowly than for ARM, all else being as equal as I could be bothered to try to make it: https://news.ycombinator.com/item?id=46938682 - and the single threaded test runs I did of my code suggest that the Geekbench 7 single core might be about right?

(Whether the clang timing discrepancy is actually relevant to Geekbench, I've no idea, but I thought it interesting anyway.)

If you need a benchmark that makes the PC look massively faster than the Mac, I'm sure those are available too.

bob1029 3 hours ago | parent [-]

> If you need a benchmark that makes the PC look massively faster than the Mac, I'm sure those are available too.

Go check out blender CPU scores if you need any reassurance that AMD still makes some kind of sense.

https://opendata.blender.org/benchmarks/query/?compute_type=...

galad87 5 hours ago | parent | prev | next [-]

Which version of svt-av1 are you using? Neon optimisations were added quite recently in svt-av1, and are still a bit incomplete, so it might make a difference.

BoingBoomTschak 4 hours ago | parent | prev | next [-]

I think software with a strong focus on SIMD really favours x86 over Apple, since AVX2 support was pretty uniform and AVX-512 (except Intel's fiasco) has been supported for a while, while the post-NEON landscape is strange in ARM country.

From what I've been able to gather, Apple only supports SME and the small "streaming" part of SVE2 required by SME since the M4. Which seems to be mostly useless for video encoding (I only see NEON/SVE in https://gitlab.com/AOMediaCodec/SVT-AV1/-/tree/master/Source... or https://github.com/Multicorewareinc/x265/tree/master/source/...) it's basically a GEMM engine.

So basically, video encoding is a bad show for Apple who seem to be saying "use crappy hardware encoding and buy amd64 if you need more".

Very hard to find benchmark data. Found https://openbenchmarking.org/vs/Processor/Apple+M4+Pro,AMD+R... that shows a good x265 performance at 1080p but not 4K. Guess the wider SIMD units matter more there.

GeekyBear 4 hours ago | parent | next [-]

> So basically, video encoding is bad show for Apple

Apple has dedicated hardware for video decode and encode for several video formats.

That's why the comparisons between PCs and Macs running video editing software favor the Macs so heavily.

BoingBoomTschak 4 hours ago | parent [-]

HW and SW encoding are not comparable with regard to quality (for the same size, obviously) though. That's kinda what I meant with my quip.

GeekyBear 4 hours ago | parent [-]

Nothing prevents a vendor from implementing a high quality hardware encoder, just as nothing prevents the creation of a low quality software encoder.

Video editing is an area that Apple dominates because PCs become a laggy mess on complicated high resolution edits.

AMD has started to copy the same strategy with the recent Ryzen AI chips. They include hardware video encode/decode units as well as unified memory.

BoingBoomTschak 2 hours ago | parent [-]

> Nothing prevents a vendor from implementing a high quality hardware encoder

Uh yes, it's called reality. Advanced video coding techniques are just too complex, full of serial and branch heavy algos to work in decently sized and priced ASIC or even in GPGPU. Which is the reason none exists outside of very expensive special stuff for professional render/streaming farms.

Not even mentioning that few coding tools are shared between codecs, so while you only need 1 CPU to handle all of them, you'd need almost an ASIC per codec...

GeekyBear 25 minutes ago | parent [-]

If your claim is true, you won't have any trouble finding reputable tech publications saying that the video output from Apple M series hardware is substandard in some way.

I'll wait.

I would recommend you find a floor plan for Apple's M series chips and take a look at how big Apple's media engine is.

api 4 hours ago | parent | prev [-]

X64 does have a stronger SIMD story, but this is partly compensated for by the fact that ARM64 is much easier to decode wide. M series has a very wide decoder and a lot of instruction level parallelism. It can turn chunks of those 128-bit SIMD operations into what amounts to wider operations.

AVX still wins though.

M series still wins on performance per watt and now apparently leads on general purpose code.

All these leading edge chips are very good. We have an embarrassment of riches when it comes to blistering fast chips here.

Archit3ch an hour ago | parent [-]

> AVX still wins though.

On what, microbenchmarks? I have realtime audio workloads where the hot loop is essentially linear algebra. Exactly the kind of work that suits AVX2/AVX512. Guess what, Apple Silicon still pulls ahead because real workloads are branchy, cache-hungry, full of dependencies and do not line up in 8 neat f64 operations per cycle.

luxuryballs 4 hours ago | parent | prev | next [-]

sounds like it's the software

kakacik 5 hours ago | parent | prev [-]

> Are benchmarks bullshit when comparing different architectures?

Bingo, each CPU is too unique with its own strengths and weaknesses to make broad statements, marketing picks up what they like and ignore rest