News for hackers. Stuff that matters.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by rbanffy on Sunday November 15, 2020 @07:17PM (#25106400)
"Every other Mac" is kind of funny when there is a 28-core monster in the line.

In any case, I bet the M3 will be able to run rings around the current MacPro.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by dylan604 on Sunday November 15, 2020 @07:45PM (#25106622)
I'm an old dog trying to learn a new trick. Old dog says Nvidia GPU with 8+GB of RAM and thousands of cores is powerful. New trick says M1 with max 8 cores and ??? amount of RAM is more powerful??? My head hurts trying to come up with how. Where is the magic happening that makes 6K+ video run in real time in Resolve, when an Intel CPU with multiple GPUs needs a good wind at its back going downhill. Of the many hand wavy demo details left out, what kind of video are they using? MP4 video, RAW videos, ProRes, etc? Is Resolve running in realtime just playing back the video but immediately chokes when you apply a single node with light grade applied? The M1 release videos and too PR speak for me
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by dannyw on Sunday November 15, 2020 @08:04PM (#25106768)
• NVIDIA is on a dumpster fire cheap “Samsung 8nm” process that is quite possibly the worst <=14nm process especially when it comes to power and heat.

• Apple has the benefits of complete vertical integration, both on the hardware and software side.

• Neural engine is essentially Tensor Cores in NVIDIA’s GPU but occupies at least 4x the equivalent die area as tensor cores (no public details on performance yet).

• NVIDIA doesn’t want to make their consumer GPUs too powerful on tensor operations in order to not cannibalise their 1000% markup ML cards.

It’s almost a classic Intel: financial greed and financial engineering, combined with complacency from being long for so long.

Heck, AMD’s new top end card is tied with the 3090 - but $500 cheaper.

NVIDIA is reportedly scrambling to try and get back into TSMC who is going to make an example out of them.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by cromwellian on Sunday November 15, 2020 @10:42PM (#25107711)
Wait, you're comparing M1's neural engine with Ampere's tensorcores? Apple is talking TOPS, not TFLOPS, that means M1's 11 TOPs are for inference only, not training. By contrast, a tensorcore on Ampere does ~20 TFLOPS FP64, 78 TFLOPS FP16/BF16, and with GPU boost clock, up to 312 TFLOPs @ BF16.

If you want to talk TOPS, an A100 does up to 1.2 exa-ops INT8, and 2.4 exa-tops INT4. That is, an A100 is more than 1000 times more powerful than the M1 at inferencing, while also supporting up to FP32/FP64 weights, and a 3080 is more than 500 times more powerful than the M1 neural engine.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by dannyw on Monday November 16, 2020 @05:47AM (#25110269)
An A100 isn't a consumer GPU; a more valid comparison would be the RTX 3070.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by cromwellian on Monday November 16, 2020 @07:16AM (#25110739)
Even an RTC 2060 beats it, the 2060 has 52 TFLOPs worth of tensor core ops (not counting the CUDA cores), and it has >100 TOPs @ INT8, or 200+ TOPs @ INT4, so more than 10x the M1.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by cnlwsu on Sunday November 15, 2020 @08:00PM (#25106730)
How far an electron can travel in a ns is a crazy limiter in computer science.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by imtringued on Monday November 16, 2020 @05:21AM (#25110118)
It's actually very forgiving. For high frequency signal traces on a PCB there is this rule of thumb that your trace lengths must not differ by more 15cm per ns because that is how far electrons travel in one nanosecond. If you have a 10GHz signal that means you have a 0.01ns budget which translates to a 1.5mm max length difference between traces. Matching within 1.5mm is easy to do by hand.

Now lets talk about actual processors instead of doing an analogy. 15cm per ns is more than enough to travel everywhere inside your CPU but the vast majority of logic is localized (usually signals stay in the same core). It's only awful if you go off package to DRAM or a second socket but then the budget is often higher than 1ns. Apple probably scores a lot of performance points here because the RAM is so close to the CPU.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by Dylan16807 on Sunday November 15, 2020 @08:20PM (#25106881)
It's not. The limit is how fast you can switch transistors. Electrons can go a pretty long distance inside a clock cycle, and waiting multiple clock cycles for signals to go from core to core is normal and easy.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by a1369209993 on Monday November 16, 2020 @12:32AM (#25108408)
Technically electrons barely move at all (on clock-cycle timescales); it's the electric field that moves at ~2/3 speed of light. Compare eg, wind speed (particles) versus the speed of sound (field).
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by Dylan16807 on Monday November 16, 2020 @12:52AM (#25108530)
> Technically electrons barely move at all (on clock-cycle timescales); it's the electric field that moves at ~2/3 speed of light.

Yes.

> Compare eg, wind speed (particles) versus the speed of sound (field).

Huh? The speed of particles in the air is even faster than the speed of sound.

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by ohazi on Monday November 16, 2020 @02:35AM (#25109115)
Aggregate wind speed, as in "5 knots southeasterly" vs. the speed of sound in that vicinity, which would still be ~340 m/s
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by ucha on Sunday November 15, 2020 @07:27PM (#25106478)
They're comparing single-core perf
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by thamer on Sunday November 15, 2020 @09:16PM (#25107220)
Indeed this is the number for single-core performance. A previous benchmark[1] showed a MacBook Air with M1 getting 1687 on the single-core test and 7433 on multi-core. Compared to a 4-month-old kitted out iMac (1251 & 9014)[2] this is 35% faster on single-core and 17% slower on multi-core (8 cores on M1, 20 cores on the i9).

Getting a better result via Rosetta 2 on the single-threaded benchmark is very impressive. I assumed that their benchmark included some vector instructions (which as far as I understand Rosetta 2 does not emulate) so this would mean that these higher numbers are for general-purpose instructions vs vector. That said, I can't find any reference to AVX or SSE in the "Geekbench 5 CPU Workloads" document, although the one for Geekbench 4 does mention them. It would be interesting to see numbers for Geekbench 4 on M1, if it runs via Rosetta at all. I would imagine that the tool is able to detect what is supported to run optimized code for each CPU being evaluated.

[1] https://www.macrumors.com/2020/11/11/m1-macbook-air-first-be...

[2] https://browser.geekbench.com/macs/imac-27-inch-retina-mid-2...

Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by aparashk on Sunday November 15, 2020 @09:36PM (#25107334)
It is more than likely that Geekbench will use CPUID to establish what it is running on, and then adjust its kernels to suit the host CPU architecture. Rosetta2 would be using a CPUID that excludes the AVX and any other Intel ISA extensions that it does not support, therefore, Geekbench should be running without issues on the fastest vector extension supported, most likely SSE3 or SSE4.x.
Re:Apple Silicon M1 Emulating x86 Is Still Faster Than Every... by thamer on Sunday November 15, 2020 @11:02PM (#25107858)
Right, that's also my guess. What I meant was that their document describing the v4 tests[1] mentions SSE and AVX, while the v5 version[2] does not. Does it mean that the v5 tests don't cover them? I found find it surprising for a benchmarking tool but they really were mentioned before and now they're not, hence my question.

If indeed v5 tests are not particularly about specialized performance but more about real-world use cases (e.g. PDF rendering, SQLite, image compression as others have mentioned) then running Geekbench v4 on M1+Rosetta would give a comparison of emulated x86 without vector instructions versus native x86 with all of its modern capabilities. Now if the M1 wins that…

[1] https://www.geekbench.com/doc/geekbench4-cpu-workloads.pdf

[2] https://www.geekbench.com/doc/geekbench5-cpu-workloads.pdf