Live data from Hacker News

Apple’s M1 processor and the full 128-bit integer product

lemire.me

121–130 of 180 posts

Re: Apple’s M1 processor and the full 128-bit integer product

#121

Earlier quoted context omitted.

Did you somehow accumulate a bajillion passwords?

Crypto optimizations are no joke. My Pinebook Pro takes several seconds longer than my T430 to decrypt my keepassxc database.

Maybe the time is hashing your password. This is designed to take as long as it can while still being reasonable. 1 second on a fast machine isn't unheard of.

Re: Apple’s M1 processor and the full 128-bit integer product

#122
post #60
post #52

Earlier quoted context omitted.

It's a shame we can't see the rest of the code. What is happening to the result value? Is it being compared to something? Put into an array, or what? All of that code probably totally outweighs what you pointed out here. Or, at least it should. I have a bad feeling it might be being dead-code eliminated, since compilers are super aggressive about that nowadays, but I hope he's somehow controlled for that.

The blog post links to the benchmark... It's repeatedly populating a 20k entry array with the results. godbolt clang compiles it to: .LBB5_2: // =>This Inner Loop Header: Depth=1 mul x13, x11, x10 umulh x14, x11, x10 eor x13, x14, x13 mul x14, x13, x12 umulh x13, x13, x12 eor x13, x13, x14 str x13, [x0, x8, lsl #3] add x8, x8, #2 // =2 cmp x8, x1 add x11, x11, x9 b.lo .LBB5_2 [1] https://github.com/lemire/Code-used-o…

I would be wary of using gettimeofday to measure such short periods. As https://pubs.opengroup.org/onlinepubs/009604599/functions/ge... says, the resolution of the system clock is unspecified, and 20,000 × ≈10 ≈ 200k instructions easily run in under a millisecond on modern hardware.

The benchmark probably get rids of that by doing it 40,000 times in quick succession, but why not measure the time of all 40,000 iterations in one go, and decrease the risk (and the overhead of calling gettimeofday 39,999 times)?

Re: Apple’s M1 processor and the full 128-bit integer product

#123

That's great if you App is compute bound. "May all your Processes be compute bound." Back in the real world most of the time your Process will be io bound. I think that's the real innovation of the M1 chip.

Explain please. What does the M1 do to IO loads?

Nothing. Compute speed isn't that important if you're waiting on IO is GP's point.

Re: Apple’s M1 processor and the full 128-bit integer product

#124
post #40

Did anyone actually look at the machine code generated here? 0.30ns per value? That is basically 1 cycle. Of course, there is no way that a processor can compute so many dependent instructions in one cycle, simply because they generate so many dependent micro-ops, and every micro-op is at least one cycle to go through an execution unit. So this must mean that either the compiler is unrolling the (benchmarking) loop,…

This is the benchmarking loop:

  for (size_t i = 0; i 
N is 20000 and the time measured is divided by N. [1] However, that loop has two increments and only computes 10000 numbers.

This is also visible in the assembly

  add     x8, x8, #2
So if I see this correctly the results are off by a factor of 2.

[1] https://github.com/lemire/Code-used-on-Daniel-Lemire-s-blog/...

Re: Apple’s M1 processor and the full 128-bit integer product

#125
post #13

I love my M1, but does anyone else have horrific performance when resuming from wake? It’s like it swaps everything to disk and takes a full minute to come back to life.

I have a non-M1 with Big Sir and it takes more than full minute from sleep to usable. I suspect it’s because I have five monitors and 20 million pixels (actually more as that’s the post-retina resolution).

How does the number of pixels (or even monitors, for that matter), affect that much sleeping time?

Rendering a FPS game at 1080p is 2 million pixels per frame. At 60fps, that's rendering 120 million pixels per second.

What am I missing?

Re: Apple’s M1 processor and the full 128-bit integer product

#126

Earlier quoted context omitted.

Explain please. What does the M1 do to IO loads?

Nothing. Compute speed isn't that important if you're waiting on IO is GP's point.

In that case it's a confusing point, given GGP calls this nothingness "the real innovation of the M1". GP is asking what the innovation is.

Re: Apple’s M1 processor and the full 128-bit integer product

#127
post #37
post #16

Anyone want to take a guess at how long it will be until Apple has their own fab in the US making M1 chips?

With Apple holding a lot of cash offshore awaiting for a favourable way to onshore it, combined with the political eagerness to bring chip production onshore. Those two aspect may well pan out to a situation in which the accountants see it as a win win. Even then, do Apple use enough chips to justify running a fab, let alone one that would be locked into the node of the time. I really don't see it happening for many…

I can absolutely see both parties wrapping a flag around an investment tax credit for building a fab in the US. To the person saying taxes don't matter because it's expensive -> The more capital cost the better if they can use that to offset taxes.

Re: Apple’s M1 processor and the full 128-bit integer product

#129

Earlier quoted context omitted.

For me it's maybe 5-10 seconds for it to wake my Thunderbolt monitor (LG 4K) from "cold". It's much faster if the monitor has been used recently, though, so I always figured it was the monitor that was causing the delay by going into some deep sleep state?

Same monitor. The workaround is to put the monitor on a power strip you can trigger when you walk up to it. Hard power off/on of this monitor and it instantly displays for me now.

Found the same

Re: Apple’s M1 processor and the full 128-bit integer product

#130

Earlier quoted context omitted.

For me it's maybe 5-10 seconds for it to wake my Thunderbolt monitor (LG 4K) from "cold". It's much faster if the monitor has been used recently, though, so I always figured it was the monitor that was causing the delay by going into some deep sleep state?

Do you have issues with the sound on your LG monitor? I have an LG too and the sound being transmitted by the M1 is very bad.

The sound quality is indeed pretty bad on the LG 4K. Noticeably worse than the MacBook Air's built in speakers.

It's just "cheap speakers" bad, though, not anything that would suggest an issue with the sound output from the M1. I've used the LG with a few different Macs, and sound quality is the same from any of them.

Post reply on HN