4 ms·
Considering the positive reception of the M1, I'd like to see the cases where the M1 does sorely lose to the Intel chip as the post alludes to. The SIMD sounds
by theonemind 6y ago
Considering the positive reception of the M1, I'd like to see the cases where the M1 does sorely lose to the Intel chip as the post alludes to. The SIMD sounds promising in that regard, but I don't know processor technology that well.
Does anyone know where the Intel chip greatly outdoes the M1?
- miohtama 6y agoRunning x86 code? :)
- ogre_codes 6y agoDepends largely on the code, lots of people show the M1 doing just fine running (translated) x86 code.
- ohazi 6y agoApparently even this is not always the case(!) https://www.macrumors.com/2020/11/15/m1-chip-emulating-x86-benchmark/ https://www.macrumors.com/2020/11/15/m1-chip-emulating-x86-b...
- pilsetnieks 6y agoFunny you should say that but perhaps that's not necessarily true. https://www.computerworld.com/article/3597949/everything-you-need-to-know-about-rosetta-2-on-apple-silicon-macs.html https://www.computerworld.com/article/3597949/everything-you... https://www.imore.com/tests-show-apples-m1-emulates-x86-faster-intel-can-run-it-natively https://www.imore.com/tests-show-apples-m1-emulates-x86-fast...
- userbinator 6y agoDemoscene code in particular... especially demos in the 1K and below (sizecoding) range, which basically amount to very carefully handwritten Asm. I'd expect the x86-to-ARM translation to not do so well in that case, given that it's probably tuned toward typical compiler output.
- deleted 6y ago[deleted]
- jeffbee 6y agoThe only microbenchmark I've been able to produce that shows an Intel Tiger Lake as being faster than the M1 (mini) is in atomic primitives. For some reason taking and releasing contended locks is slow on this thing. Unclear if that's only because macOS doesn't have anything that can compete with futex. But all atomics seem slow, not just mutex. In all other respects the M1 stomps the TGL.
- vlovich123 6y agoThat’s interesting considering all the articles I’ve read on this thing indicate the exact opposite. Uncontended atomics are basically free and a huge reason why Swift and ObjC code gets such a huge boost (ARC cost is down significantly). Traditional POSIX mutexes in MacOS weren’t heavily optimized. When I worked at Apple ~5 years ago they still didn’t have a good futex implementation (not sure if that’s changed since). Generally the OS team doesn’t care because you should be using libdispatch. Anyway I’d love to read up on where you encountered this claim so I can better understand the countours of how this thing works.
- jeffbee 6y agoThese are my personal observations. You can reproduce, but you'll need to bootstrap the Go toolchain first. For example, in your GOROOT: go test -test.bench=Cond2 --test.run=ZZ --test.cpu=1,2,4 sync For me: goos: linux goarch: amd64 pkg: sync BenchmarkCond2 3575089 336 ns/op BenchmarkCond2-2 3236198 370 ns/op BenchmarkCond2-4 2831134 420 ns/op goos: darwin goarch: arm64 pkg: sync BenchmarkCond2 5903233 190.4 ns/op BenchmarkCond2-2 85038 27434 ns/op BenchmarkCond2-4 2500750 677.9 ns/op Way, way worse in the 2- and 4-thread cases on the mac. I don't know why, and the performance of the 2- case swings all over the place.
- st3fan 6y agoI would not use a work in progress port of Go to compare. This would be better in C to rule out Go runtime issues.
- wmf 6y agoThere are cases where 8-core Intel/AMD chips beat the 4-core M1, but the reason and solution to that are obvious.
- TinkersW 6y agoFor SIMD it is fairly easily to predict the range of performance of an optimized kernel just based on looking at the micro architecture. M1 = 4x128 Zen3 = 4x256 Intel = can't make up its mind some are 2x256, others 2x512, and some others are weird combos like (2x256 or 1x512) M1 on paper looks half throughput compared to Zen3 SIMD per cycle, but because of larger caches and lots of other small advantages it probably closes that margin a little. Zen3/Intel are also running at higher clock rate, at least on a desktop version. https://www.sisoftware.co.uk/ https://www.sisoftware.co.uk/ is a good benchmark for SIMD code, but it is Windows so no M1 results:(
- celrod 6y agoSource for Zen3 having 4x per cycle? That's impressive and I'd like to read more about it. Another comment mentioned 4, 2 of which are fma. Works this imply that a matmul kernel for zen3 should have a 2:1 ratio of fmas to mul+add?
- secondcoming 6y agoHeat?