M1 MacBook Air hits 900 GFlops in the browser with Safari's experimental WebGPU
jott.live
jott.live
But the fact that we have anything to look forward to at all is awesome. These are super exciting times in the computing space. Processors have been boring for way too long.
I’d also expect the first release was relatively conservative and restrained to ensure a low risk debut. I’m optimistic for the next few generations.
I’m excited for a 16” MacBook Pro but hoping Microsoft brings a production version of Windows 10 arm to the market. I need it for various aspects of the work I do. I can keep a spare windows box around but it’d be great to have one system.
Instead of 4 cores shared between 8 apps, you could have the same 8 apps each with a dedicated core (or two, even.)
I think the M1X - or whatever they call the chip line with a much larger thermal envelope - will blow our socks off.
https://www.tomsguide.com/news/macbook-pro-m1x-benchmarks-ju...
Quite a healthy bump.
Next year, we should see an M2 on TSMC 3nm with it's ~40% die shrink and either a ~25% power reduction or ~15% performance increase.
I would personally expect them to take the power/heat cut like they did at 5nm and bump up the core count once again.
https://www.anandtech.com/show/16226/apple-silicon-m1-a14-de...
So while the M1x is using the same CPU and GPU cores as the M1, the M2 will get an additional performance boost from having a newer generation of core designs.
lol
The performance gain from doing so in CPU<->core memory and core memory<->GPU transfers is huge, and the manufacturer can match RAM timing and performance precisely to their processor or even implement non standard ram types as they like. There are other benefits too like simplified motherboard design.
Now that Apple has taken the risk, other manufacturers will look at doing the same. Not all computers will use the SoC model, but for laptops and many desktops this will be a big win.
The M1 has pretty high memory latency at around 100 ns [1], which is significantly higher than either AMD or Intel for typical systems. Note that physical distance between CPU and memory is rather less important for latency, as DRAM is high latency in itself, so adding a few ns at most due to wiring is not going to matter.
[1] https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
Not the most scientific, but userbenchmark is useful because it has latency graphs available for millions of systems.
Latest gen Intel with LPDDR4x chips is well over 100ns https://www.userbenchmark.com/UserRun/40531587 While the same CPU is almost 40ns faster with SODIMMS of DDR4. https://www.userbenchmark.com/UserRun/40527352
But sometimes we are just lazy to provide the context or to spell out everything. These information is so readily available with a simple Google. And yet the past dozens of M1 thread this "memory" advantage thing keeps popping up.
Taking a quick look at an i9 9900 ($382 for chip alone) it supports DDR4-2666. i9-10900T runs at 2933 - $400 for chip alone.
Apple is running their stuff at 4100 or something. So that looks faster. And the mac mini costs $700 including the insane apple margins?
Can you spec out the $700 machine on pc parts picker that shows that the M1 is nothing special? One with faster or equivalent memory.
Calling the M1 and $700 machine a HEDT?? Huh? Apple is going to sell these things by the truckload.
This may have changed since then (Mid-2020). Gamers Nexus have done an undercover sting where they found it was possible for a support agent to reject a warranty request on the basis of XMP: https://www.youtube.com/watch?v=I2gQ_bOnDx8&t=1155
The M1 is a great chip, but that has nothing to do with the location of the memory. LPDDR4x-4267 is a standard memory type. Kudos to Apple for using the highest commonly available speed bin, but it’s a standard speed bin for that type of memory.
exactly the same as the Apple M1. It's just the most common high-end memory speed currently nothing special about it.
Also note frequency is only part of the whole picture. CAS latency is important as well, which is much higher with Apple.
>On the cache hierarchy side of things, we’ve known for a long time that Apple’s designs are monstrous, and the A14 Firestorm cores continue this trend. Last year we had speculated that the A13 had 128KB L1 Instruction cache, similar to the 128KB L1 Data cache for which we can test for, however following Darwin kernel source dumps Apple has confirmed that it’s actually a massive 192KB instruction cache.
That’s absolutely enormous and is 3x larger than the competing Arm designs, and 6x larger than current x86 designs, which yet again might explain why Apple does extremely well in very high instruction pressure workloads, such as the popular JavaScript benchmarks.
The huge caches also appear to be extremely fast – the L1D lands in at a 3-cycle load-use latency. AMD has a 32KB 4-cycle cache, whilst Intel’s latest Sunny Cove saw a regression to 5 cycles when they grew the size to 48KB.
https://www.anandtech.com/show/16226/apple-silicon-m1-a14-de...
x86 needs to find a way to scale decoders without blowing the power budget. Given that the decoders are already bigger than the integer units, I suspect that will be a hard thing to do.
For whatever reason, the overall memory system on the M1 systems just seems better than intel. I really wish I could follow more details from on-die cache to how memory is actually loaded / unloaded to speeds, but every time I've looked at it a little it just seems the M1 / Apple are doing it better across the whole stack.
Yes it has been spreading like plague. And I had to post something similar [1] not long ago. And many more before that.
The M1 could have an Off package Quad Channel DDR4 Memory and still be as fast. The performance improvement ( from a memory perspective ) is coming from Same Memory Address Space and other similar optimisation.
The same memory address space choice is of course important, but its performance and power envelope is impacted by the SOC vs. separate package choice.
The combination of M1 performance and low power has happened due to a series of choices made by Apple. Forgoing user configurability and fixing memory choices at manufacture while using SOC tech made mainstream by the phone industry is one of those impactful choices. There are of course several other important choices, but it is incorrect to discard this choice as non-impactful.
In M1, the GPU reads directly from memory written by the CPU.
In Intel/AMD, the data has to be copied from the CPU's address space to the GPU's. "Shared" only means there aren't separate main and graphics memory chips/banks. But said shared memory is segregated.
https://software.intel.com/sites/default/files/managed/db/88...
Uhm, as a games developer working on consoles.....no it isn't. You can do it like this if you wish, but generally the entire address space is accessible from either CPU or GPU. Maybe it's implemented like this on PC, but at least the architecture design on X1/XBS/PS4/PS5 allows both reads and writes from any area of memory by either cpu or gpu.
If that's not "soldered separately", then we might as well zoom out and apply that statement for the whole PC ("all components are in the same package, only the charger is separate")
[1] https://d3nevzfk7ii3be.cloudfront.net/igi/ZRQGFteQwoIVFbNn
All along, half of the headquarters must have been secretly working on the M1...
It will be a teraflop.
More seriously, by the way, do we have comparison between the black iMac Pros and the M1? It would be ironic if iMac Pros were surpassed by the 1/4th-prices M1...
Changing the processor architecture over for the first time was going to be a massive undertaking (I'm sure there are still folks there who have nightmares about universal binaries from '06). They had no way to run a wide public beta of the hardware before releasing, so had to play it as safe as possible.
The only sane way to migrate something so fundamental is to change absolutely nothing besides the processor, so that you have a side-by-side comparison between the previous generation and the new one out in the wild to debug problems that come up. If they had added [Face ID / a touchscreen / new mechanics for the keyboard] they'd need to debug whether those changes were causing the bugs rather than the M1 changes.
That's why I've fought myself to hold of - I'd expect the next MBP to be a fundamental redesign.
I can live without a touchscreen, but please just give me a Face ID laptop Apple.
Why is that so much more convenient than eg the fingerprint scanner?
(Even entering my password is pretty quick for me.)
I haven't use any form of Face ID on any device so far. So I am genuinely curious. I do see the appeal of finger print auth over having to type a password or a code on the phone.
With FaceID I don’t have to “do” anything to unlock it. When I sit down in front of the iPad, it is just unlocked. I don’t have to think or act to make it happen.
With the laptop with touchID, I need to press a key to wake it and then press the right finger on the touchID key to unlock. It is a more deliberate and complex action.
I can see on phones that the differences are less, but even in the time of masks, I tend to prefer FaceID. If I’m using my phone, I’m also looking at it. The mask gets in the way but that is only a few times a day when I’m at the grocer or something like that. I know that with touchID I could pull my phone out of my pocket and unlock with my finger in one movement, but that doesn’t save much for me. You may use your phone differently that that’s fine. I think there would be value in a phone with both systems as people have different needs and preferences.
More than that - masks are an issue currently if you’re trying to unlock your phone indoors in a public place with Face ID, but I just don’t find myself in a situation where I’m wearing a mask when I need my laptop.
(I’m not going to Starbucks or sitting in an office right now, and very likely won’t be until widespread vaccination has taken place).
The convenience of Face ID is transformative to my workflow. It really does essentially take you back to when your passwords would just automatically auto-fill without any kind of checks that it’s still you, without your passwords being stolen if someone swipes your unlocked laptop and runs off.
You can disable the requiring of looking at the phone and unlocking via FaceID in settings, I regularly unlock my phone without holding it so I am "dead on looking at it".
That said, I also prefer TouchID.
This is straight up not true. It works fine in the dark, but unlocking an iPhone in direct sunlight can often take a couple of tries.
I was more thinking lack of light not being a issue, I didn't take into account that mass amounts of light can blow out the image for the sensors.
Using it docked in the keyboard makes it feel like a laptop. FaceID for filling in forms, authenticating with SSO, it’s all basically instant and requires almost no thought from me, not even a single cycle of brain power needed.
I will say it’s not like, amazingly more convenient than the TouchID sensor on my MBA, but it’s nice to have.
It more or less reverts to the same experience of being on Chrome on any other platform where your passwords just automatically are input, without the obvious security compromises.
I don't know how in hell they did it, but I'm impressed so far.
Does anyone have experience of Pro vs Air as a dev machine. I’m assuming the pro is an around better machine, but that touchbar....
The touchpad is slightly too big on the Pro and the palm rejection is insufficient, leading to unexpected mouse movements and occasionally unintended selection and mass-overwriting of text. This issue is magnified further with the 15" devices on which the touchpad is comically oversized.
The touchbar leads to unintended behaviors like sending half-written emails because you unconsciously brushed against it while entering a number, and only make it more difficult to do basic things like adjust brightness and volume.
The Air, on the other hand, is a well-engineered little machine that is just as usable as a 2015 Pro or Air. Pity about the limited ports. You've seen the rumors that the next Air will ship with more ports?
The Pro is like a Plus version, with some bonuses for a higher price -- no thermal throttling whatsoever, a brighter screen, the TouchBar, a bit more battery, better microphones, stuff like that. Get it only if you want those and don't mind a little heavier machine.
As others mentioned, the performance of the new MBA vs new Pro is similar. I think the MBA really highlights what's great about the first iteration of the m1. So, if you're ok with the smaller screen, I would go with the MBA. If you feel yourself leaning towards the pro, I would wait for the actual pro's coming later this year.
Only thing is the ports but i'm optimistic of https://eshop.macsales.com/shop/owc-thunderbolt-dock when I can get my hands on it.
The thing was unusable on my lap. After 30 minutes or so just coding, it would get so hot I had to put something between it and my legs. My partner could hear the fans from the next room. And to cap it off, since Big Sur I've been unable to get more than 4 hours off the battery—usually more like 3.
Compare that to the Air: I'm losing two USB ports which is annoying, the speakers are nowhere near as good, I miss the bigger screen, and I'm down 16GB RAM (although in retrospect, I never needed 32GB for my workloads anyway). But in return, I get almost no heat, zero noise, nuts performance (my test suites run 2x faster on average, despite running on two fewer cores), and so far 10-12 hours off a charge easy. And I get real function keys instead of the Touch Bar.
Happiest I've been with a computer in a long long time.
(It does get hot when watching the highest resolutions youtube has to offer these days, though.)
I had a newer MBP for work at a recent job. I liked it well enough, and it was faster (just thanks to newer processors).
The 16" gets toasty, but those first two could get scalding hot. And I was concerned about that as I only had 13" in the intervening years, but the 16" is nothing like those at all. Never once had a situation where it was so hot that I had to remove it from my lap but regularly had those situations with the others.
And I'm pushing it super hard, it rarely gets better than 3-4 hours on a charge. I don't think people are remembering just how bad those earlier MBPs were.
Throw in some horribly unoptimised crap like Teams and it was like sitting next to a tiny little aeroplane all day long.
Just out of curiosity, why do so many people use them on their lap?
I know "lap" is in the name, but damn, that posture is just terrible for your spine, neck and shoulders.
Do you not have a table or some flat surface around the house/office to place it on?
Outside of a few crowded meetings that lacked table space for everyone, I never in my life used my laptop in my lap.
I don't think it's an unreasonable expectation to be able to comfortably use a laptop on your lap for short periods.
I replaced a 2017 i7 mbp with a m1 MBA, and see the same results running my java test suites. I ran them a bunch of times thinking there had to be some error.
Wow, I need to go listen to 16 inch, when I listened to new Air for the first time, I thought 'wow, those are surprisingly capable speakers for such a lightweight machine'
Apple has consistently provided good audio iterations on its laptops, so I’d assume the same will be true on the inevitable M-series 16” replacement.
I am SO TEMPTED by the M1 upgrade, especially given the trade-in valuation on my machine right now. However, it would be inconvenient to give up ports, and right NOW I still do some Windows virtualization, so I'm holding off.
But it's still SUPER TEMPTING.
It depends upon your use profile, but for me it leaves both available ports for peripherals not just the one that you might expect.
I'm not really interested in juggling plugs during the day.
So 18 of those needed, 36 full racks of space, 1152 CPUs to get to 900GFlops. Each 10k is roughly 39"W x 50"D x 70"H, so about ~244 square feet of floor space for 18 of them, not including space needed around it. Including the space around it, it would be a typical 1BR apartment full of compute.
Also, I assume the M1 does significantly better than 900 GFlops if you don't run it through the browser.
The Macbook Air M1 would be something lower than 30W, since that's what the power supply is rated for.
Theoretically, that machine could use more power at full speed. That would mean you couldn’t charge it fast enough to keep it running at top speed forever, but that might not even be noticeable because you hit a heat limit earlier.
In practice, I guess the power usage is lower, as https://support.apple.com/kb/SP825?locale=en_US says it has a 49.9‑watt‑hour lithium‑polymer battery. At 30W, you would run out of that in less than 2 hours (but again, at full speed, you probably hit a heat limit earlier)
All in all the computers in the example thus come out at north of 400 kW for total power use. Yikes!
That's a power reduction by a factor of more than 13,000 in less than two decades!
Put differently: If your electrical power comes from burning coal, the 1997 alternative to the computing power of a single M1 would emit about 8000 kg of CO₂ per day. The equivalent of driving 80,000 km with a very modern gasoline car. The mind boggles!
What's being measured is loading something on to the GPU and running it there. It doesn't make much difference how it gets to the GPU.
GeForce 210 (2009): 39.36 GFLOPS
GeForce GTX 980 Ti (2015): 6.060 TFLOPS
GeForce RTX 3090 (2020): 35.58 TFLOPS
https://en.wikipedia.org/wiki/GeForce_200_series
Maybe it's another case of Wikipedia not being accurate (at this point in time)?
https://en.m.wikipedia.org/wiki/List_of_Nvidia_graphics_proc...
So there’s definitely something wrong there.
Chat applications will be even slower then today
If anything node modules will slowly fade away in the coming years. And not just with that node rewrite that links directly.
And someone will still somehow have a 500MB folder with node_modules in 2037, I just know it.
I opened it again recently with all my old channels and it looks like they added a hundred new features I have no idea what they do or never would need.
Discord is still a good product but makes you miss the simplicity. Or a simple IRC interface (although I've seen some IRC servers with a million plugins).
> Hitting nearly 1TFlops in the browser (50% of peak) is extremely empowering and it's exciting to see such technology available.
But if you want to pick this single benchmark so that you can conclude that the M1 is not better than a mobile phone SoC from a year ago, then you do you.
[0] https://tech.ssut.me/apple-m1-chip-benchmarks-focused-on-the...
The single core performance of these chips is very impressive, especially at such a TDP, but in raw multi-core CPU power it simply does not beat a 3900x.
But if you want to pick one set of benchmark tests so that you can conclude that the 3900X from two years ago is not better than an M1, then you do you.
I agree.
> if you want to pick one set of benchmark tests so that you can conclude that the 3900X from two years ago is not better than an M1
The thread was clearly about M1 vs mobile phone SoCs. I just gave some benchmarks to show that the M1 is not a mobile phone SoC but can instead compete with very decent laptop/desktop CPUs. The 3900X wasn't the main point. I even own a 5950X myself.
> you do you.
In all fairness: I shouldn't have used that phrasing.
Or, as the parent link says, INSIDE the browser, it hits 900 GFlops, which is absolutely amazing.
[1] https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
[2] https://en.wikipedia.org/wiki/List_of_Qualcomm_Snapdragon_pr...
I think my point is, for developers it’s not working out that great in a lot of cases, especially docker and so on. Performance is not everything if you were hoping to get some actual work done!
If you want to get an M1 Mac for development, I haven't found too many things that don't work and most work very well. The compile speed on even an M1 MacBook Air is incredible.
Homebrew works great on M1. I use it a lot and have only had one problem (some gem on ruby doesn't compile properly) where I've had to switch to the x86 version, but it all seems to work side by side perfectly and you can just prefix any command with _arch x86-64_ if you do need x86.
I'm guessing you're running into issues with C dependencies. You can go also go full Rosetta: create an alias to your terminal, right-click enable "Run in Rosetta", open it, then everything you run from this terminal will also be Rosetta (amd64), and you run Rosetta homebrew, node, etc. You can confirm what is running under Rosetta in Activity Monitor.
I've recently switched my default homebrew from Rosetta (/usr/local) to native (/opt), by switching my PATHs around since I was mostly waiting for go1.16 to arrive.
Great tip! Didn’t know. Thanks.
Safari makes it substantially easier to enable WebGPU than Chrome does (requiring a canary version and flags), which leads me to believe there's already some security mechanisms in place. But, time will tell!
Shame as I wanted to see what happened if I pitted my desktop against it. Of course it's likely the WebGPU implementations between browsers are not equivalent from a performance point of view.
More context here: https://news.ycombinator.com/item?id=22022962
The summary exists in two variants: a graphic summary[1] and a textual one[2].
[1] https://kvark.github.io/webgpu-debate/SPIR-V.component.html
Still valuable.
Firefox also raises the same error. It looks like Safari implements a former version of the WebGPU draft[1] where Chrome and Firefox implement a more recent one.
[1] :https://gpuweb.github.io/gpuweb/#dictdef-gpubindgrouplayoute...
Memory operations in modern GPUs basically evolved from fetching textures (which intrinsically have bounds checking built in, they have a width and height). All modern desktop GPUs (and probably mobile GPUs these days) use "descriptors" for textures and buffers which specify both address and size. Out of range fetches from a buffer return 0 and out of range writes are no operations.
There have been some GPUs in the past that could literally write to any address in main memory (famously the GPU in the XBox360 could do this), but its not true of any modern GPU as far as I know.
On a different note, 900 GFlops from a GPU is not really that impressive. Desktop GPUs reached this kind of performance nearly 10 years ago, but I guess its not bad for a first generation new design.
To get that kind of performance nearly 10 years ago in a desktop GPU, I bet you would need a whole lot of dollars, watts, and cube inches.
It is impressive unless you compare apples to oranges.
Plus, on bare metal it reaches 2.6 TFLOPs already.
Not all computers are Macs and at €1000 starting price, it's the entry level Mac but by no means an entry level computer.
Entry level computers are in the €400 ballpark (i5/4500U, 8GB RAM, 256 SSD).
For €1000 you could get a pretty strong gaming computer which is by no means entry level.
https://www.apple.com/at/shop/buy-mac/macbook-air
Not saying you can't find it under that on some promotion somewhere but that really depends on market timing and on where you live.
For example in Austria you can't find it under €999 and that's definitely not entry level money as Apple's entry level comes at a premium and is not representative of the entire PC market entry level.
That being said, I agree with all you said.
Now add the rest of the components and the prices, wattage and size shoots up exactly as described.
Yeah, compared to modern desktop GPUs, which can hit probably 20-30 times this, it's not that impressive. That being said, they're also consuming 20-30 times the power.
best: 1022.61 gflops
[numthreads(2, 16, 1)]
compute void main(constant float4[] A : register(u0),
constant float4[] B : register(u1),
device float4[] C : register(u2),
float3 threadID : SV_DispatchThreadID) {
[...etc...]```
best: 1022.61 gflops [numthreads(2, 16, 1)] compute void main(constant float4[] A : register(u0), constant float4[] B : register(u1), device float4[] C : register(u2), float3 threadID : SV_DispatchThreadID) { uint m = uint(threadID.x); uint n = uint(threadID.y);
```
best: 1022.61 gflops [numthreads(2, 4, 1)] compute void main(constant float4[] A : register(u0), constant float4[] B : register(u1), device float4[] C : register(u2), float3 threadID : SV_DispatchThreadID)
best: 2684.35 gflops [numthreads(16, 16, 1)] compute void main(constant float4[] A : register(u0), constant float4[] B : register(u1), device float4[] C : register(u2), float3 threadID : SV_DispatchThreadID) { uint m = uint(threadID.x); uint n = uint(threadID.y);
The Macbook that this site lists at a minimum comes with a 5500M which has a theoretical peak throughput of 4.4 TFLOPS, over twice that of the M1. Yet the M1 gets better almost 9 times better performance in this benchmark. Apparently.
The issue is, though, we don't know whether this is actually about the architecture of the products or if the Safari WebGPU implementation is just not as well optimised for the AMD GPUs that came with the 2019 Intel Macs.
Or I suppose there's also the possibility that it's actually fallen back to the iGPU which actually has a peak throughput of 384 GFLOPS.
I basically just use this site to upload static text files. The same text can be rendered a couple ways (e.g. as hmtl, raw, as code with syntax highlighting)
Too many times I have tried to look up more recent information, but the article content clearly shows that it was written a few years ago due to inaccuracy
Without reading the article content, I haven't found a way to discern which articles are actually released recently. Google Search filters for time does not seem to work as well anymore as they have found a way around it, but Google Search quality going down the drain recently and I ranted about it in this post: https://news.ycombinator.com/item?id=26202941
[1] CloudSynth.com
“Link, WebGPU demo. Link, tuning code.”
Instead, I will hear this:
“Link, here. Link, here.”
This is not very useful.
Imagine also reading through the whole document and then deciding you want to click on one of the links. You’ll execute an action like “back to last link”, and the screen reader will announce “link, here”. Now which link was that? And so you’ll have to ask it to read the whole line before you find out, which really slows you down.
Better: If you have Safari, [you can try it].
Best: [Try it on Safari].
--
Original: The tuning code can be found [here]. The basic idea is...
Better: The [tuning code is available]. The basic idea is...
Best: The basic idea of the [tuning code] is...
--
See how explicit it is? How it reads better, but also how anyone scanning the blue links immediately gets an idea of the link's destination? Do you prefer reading things in two steps or one? This way, the link text informs, rather than being a reference back to previous text.
It's indirect communication. It reminds me of Windows "OK" boxes vs. OS X "Save". The linked text should describe the contents of the link, like a label. It's more readable (since link text is styled differently) when skimming the text and removes an extraneous phrase from the prose. Have you ever seen an NYTimes article use "here" as link text? No, they just write, and link the relevant words.
I still think there is a place for “click here”, I think of it as introducing some stupidity to the page - a very easy action that helps ease people’s mind - having too much information density can also get overbearing. I might sound crazy but I think there’s a place for dumbing down at times! Of course, it should be used very selectively. I would also be annoyed if WikiPedia was full of click here’s. To me 1 or 2 maximum per page
The only complaint I have is that you can't run two external monitors off of it, but I have no doubt that the next generation will address that.
Compared to my coworker's 10 core i9 build with over 64GB of ram, my base model Macbook Air builds our node app in half the time.
A single ultrawide would be way better, if I could count on having 2 virtual displays within.
https://github.com/scottwhudson/Lunette
These bindings match Spectacle but you can map to Rectangle's instead.
* Edit* Apparently Spectacle has been discontinued.
For a 21:9 screen, the max grid size of 25 isn't good enough for me, I specifically wanted 36 so that I could make three 'panels' at 11-13-11 resolution.
Found out with a bit of emailing back and forth that you can by pasting this into a terminal:
defaults write com.manytricks.Moom "Grid: Maximum Dimension Size" -int 36
The grid display ends up being a bit small but I only tinkered with it for long enough to make 1,2,3 assign to the grids, 4 and 5 assign to the left-and-middle and right-and-middle, and q w e, a s d, z x c to top-middle-bottom of each of the three panels.I found the default shortcuts to be the wrong way around for my cognition so I swapped them but otherwise it's been good. I mostly use the fullscreen (usually for the laptop's screen) and "3-column with main in the middle" layouts.
With that being said, I'm an old-school curmudgeon when it comes to computers. I'm hard to please, and I don't necessarily hold it against Apple that they didn't make "the perfect computer".
As an aside, is anyone interested in an $850 8gb Macbook Air? Lightly used with only 70tb written to the drive.
As a chip, the M1 is an absolutely amazing.
Sure, it is an amazing chip. But the delta is only large compared to the rehashed 14nm Intel chips that Macs shipped with in the last few years. Recent Ryzen-based APUs are in a similar ballpark as M1's performance-wise.
I think that a lot of Mac users overestimate the M1, since their only experience with x86_64 is low-point Intel and not peak AMD.
You know Intel's in hot water when AMD makes a better Intel chip than Intel does, though...
I'm asking because I'm assuming your real issues are with your stated reasons, since MacPorts is a "proper package manager" (being ported from one of the BSDs) and if you don't like that one, Brew is certainly popular. And I've never directly benefited from Linux being an "open operating system", since I don't write code that interacts with anything lower-level than the C API, but macOS' Darwin kernel and many of the binaries are open source.
I'm kind of old-school (my intro to Unix was a DECStation), and I find macOS to be plenty Unixy. If I'm not using Xcode I'm using Emacs (in VI mode). I've never said "I wish I had <Linux feature>"; actually, it's been rather nice that my Wifi doesn't break, I don't have to deal with PulseAudio, it goes to sleep--and wakes up!--when I open and close the lid, the UI is unified, networking is easy to use, etc. However, if you run the Linux GUI applications on macOS it's a klunky experience, so you benefit from finding native applications. Also, Docker wasn't very pleasant, but that might have just been Docker; fortunately I've only had to use it for one project.
As someone who loves the macOS + Unix experience, I'm just curious what workflow it doesn't work well with.
Maybe it's just different strokes for different folks, but I'd much rather just clone my dotfiles and have a Linux workspace up and running in ~10 minutes tops. Moving my workflow over to MacOS feels like trying to board a plane while it's taking off, and it doesn't bode well for my productivity when I can't rely on my tools even showing up in the first place.
If you really want an apt-get (never used pacman) kind of everything-repository experience, though, you're going to be disappointed on any system that doesn't prioritize a centralized repository of software. In practice, this eliminates a commercial OS, and probably commercial software, since there's no effective way to get a central repository. The App Store is the closest, but then you get people complaining you're the gatekeeper, or you get a free-for-all like Google Play. I think Linux manages only because the number of people that use it are small enough that bad actors go elsewhere.
Same here. I used Macs since 2007 and the M1 MacBook Air basically ended my Mac tenure. The M1 felt like yet another step towards making the Mac more closed. The M1 is another case of Apple breaking a lot of backward compatibility and using the community to fix it for free (who needs a working Fortran compiler, to compile their BLAS and other numeric libraries?). Even though the M1 Macs feels a lot faster than the Intel Macs, macOS still feels tediously slow compared to Linux. Then there are a lot of low-level tools on Linux which do not have good equivalents on macOS (e.g. perf). And then there is the issue (unrelated to M1) that every good MacOS application is slowly switching to a subscription model, which only extends the feeling that I don't own my machine anymore.
I returned my M1 Air and bought a Ryzen-based ThinkPad, upgraded it to 32GB RAM, and I am very happy with. I am now selling my old Intel MacBook Air, which was my last Mac.
There's a certain amount of hubris in this, in that (at least until AMD came along), pretty much every single Intel chip has only made Intel money, while ARM is broadly-licensed and is ripe for a surge. All Apple did was create an ARM-compatible chip, which is how someone already got Linux running on it: https://corellium.com/blog/linux-m1
Here's ARM themselves on their licensing model: https://www.arm.com/why-arm/how-licensing-works
Now, which one is more "closed", really? Near-absolute Intel hegemony that only benefits Intel, or ARM, which seems to benefit anyone who wants to tackle creating an ARM chip?
Honestly (disclosing my bias here), I hope IA64 dies in a fire in 5-10 years. It's had enough time in the limelight, Intel has rested on its laurels of late (arguably holding back progress), and its technical flaws run quite deep (another reason why the M1 seems impressive; ARM is simply a better-designed architecture from the ground up)
Or 4:3 screen, but we can keep dreaming there...
My hope is that they offer the touchbar as a configurable option on all MacBooks going forward, at least until they realize no one is buying the ones with the touchbar included. Maybe some video editors like it? It's a failed experiment from where I'm sitting.
The ironic thing is that I would use it a lot, if, and only if, there were any browser which displays tabs as favicons on the touch bar.
But there just... isn't. It's completely baffling, the Safari preview is useless and Firefox has a 'touch to select address bar' button which I always forget is there.
But I also wouldn't be particularly sad if it disappeared.
Getting rid of the Touch Bar might be realistic. If only it were realistic that they would add a USB-A and HDMI port back to it too...
You see it in the iPhones and the variant SKUs, and Canon and Nikon also had been doing this when there wasn't competition eating their lunch.
Of course the problem is whether they can cut the line ...
But many little things, like the smoothness of the OS, or the way that the screen wakes from sleep instantly are just superior to my much more expensive, and power hungry desktop. Of course, my desktop can still cream it in a GPU workload but for programming, it's amazing.
That's way less probable than the machines being actually good. Which they are.
And I would have gotten away with it too! If it hadn't been for you meddling kids...
> Please don't post insinuations about astroturfing, shilling, brigading, foreign agents and the like. It degrades discussion and is usually mistaken. If you're worried about abuse, email hn@ycombinator.com and we'll look at the data.
1. https://linustechtips.com/topic/1306757-m1-mac-owners-are-ex...
In practice, I can't imagine the SSD load to be particularly worse than what the iPhones endure, and I have yet to hear anyone complain about their iPhone dying from their flash storage being overused.
MacOS is heavily rely on swap at least on M1 hardware for absolutely no reason.
For example, in two days of uptime it says the SafariBookmarksSyncAgent has written 1.94 GB to disk. I haven't added any bookmarks to my machine in those two days and I haven't used Reading List, so how is that even possible?
Have you experienced the accelerated hd degradation? An odd story that popped up recently.
(Not the greatest link....https://www.gizmochina.com/2021/02/24/apple-m1-mac-users-fac...)
Remote development is the name of the game for the backend, for frontend the M1 chips seem capable enough and can fit the form factor easily.
When I'm doing focused work I use an external screen/keyboard/mouse, the only times I use laptop ones are when I'm trying to get work done in a coffee shop or something like that - I even travel with BT keyboard/mouse because the laptop ones make me unproductive.
And for media consumption and casual browsing, couch surfing, travel, bed shopping - the laptop form factor is clunky, a tablet is a much better device.
Maybe I should just give up and buy both, but I wish I could have one device for everything (even if it costs as much as both of those combined)
I do like the iPad Pro a lot though.
It really says something that HNers are willing to give up ports and speed (and possibly SD, if rumors are true) just to get away from the TB.
And since I run in clamshell mode, I can't even unplug the power cord temporarily, as the computer will only run in clamshell mode if it is plugged into power.
I do have an Anker mini-dock dongle, but it gets very hot when I use it, so I only use it when necessary. Also, it annoyingly cannot be used to charge any devices, so I can't even plug my iPhone into it to charge. I'm sure there are some other docks out there that are better, but when I was looking in 2017 it wasn't clear which ones those were (aside from the $200+ ones, which I wasn't about to purchase).
This one a bit cheaper: https://eshop.macsales.com/shop/owc-thunderbolt-hub
But seriously, I've had a very poor time getting my mac mini M1 to cooperate with the aging tech stack at work, especially since it involves docker.
I've had to resort to running my old laptop and SSHing in to get things working until I can put our web app onto a modern set of tech...
I love the portability, but I just can't work on 13'' anymore.
> I'm yet to find something I could possibly gripe about.
I can. It does not much like my Philips 328E1 monitor. When it wakes up the display, sometimes it renders all the colors as sorta-inverted. Like, not actually inverted, but maybe just one color channel is inverted. Repeatedly sleeping & waking the display sometimes fixes after a few tries. Rebooting always fixes it.
Also, on a fresh login, after I reach the desktop it will sleep the display maybe 5 seconds later for unknown reasons. Usually it wakes up okay after a few more seconds, and then things are fine from then on.
I tried all sorts of things, then gave up. Now I don't let the display sleep, so I manually turn it off when I walk away from my desk. It makes switching to my other MacBook a little more hassle because I have to do it manually, but I can live with it.
And before you ask if there's something wrong with my display... it works great, 100% of the time, never a single glitch on my work computer, which is a 16 inch MacBook Pro.
Sometimes I regret getting the M1 and not waiting for them to work out the bugs.
But also, I love where this internet thing is going...GPU access in the browser...the things we are gonna build ya’ll!
Sometimes it’s just hard to realize that we’re carrying a super computer in our pockets ...
I mean, that's probably been true since forever. A "super computer" is only super relative to other machines from the same era. If you can compare between eras, you could probably call ENIAC a "supercomputer" and some early pocket calculators "a supercomputer [ENIAC] in your pocket."
In other words "a supercomputer in your pocket" is marketing nonsense.
The difference between a phone and a cluster node is mostly one of use cases, not technology.
Did you leave yours running long enough? It took mine over a minute to get to that score.
I think Safari going into the background pauses the clock used for timing and resumes it a bit too late, which screws up the Gflops measurement.
Context is everything. Certainly compared to the same benchmark on the non-M1 hardware as presented by the author, yes.
In general this is a very specific test of multiple technologies and whether it is relevant or meaningful is certainly up for debate but if you take it on face value of the number being presented it is either impressive or not impressive based on what you are comparing it to.
I think the very specific parameters of the test here make the result largely arbitrary and irrelevant to an end-user when you consider that WebGPU isn't currently relevant to users.
Outside of the test and more generally the M1 delivers incredible performance relative to it's power consumption which I think is what is truly impressive about it.
Personally I hope one day Apple will finally give up on trying to make a hard stance about keeping the Mac/iOS devices separate and just give the damn things a touch screen. I know they would prefer that I own both a Mac and an iPad but it's really absurd when the only thing separating them now is touch input.
Some of the recent integrated AMD graphics are modestly capable but are also part of a 35w or higher TDP packages.
Looking beyond this arbitrary test, results like these: https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste... are incredible for Rise of the Tomb Raider on those settings with that power consumption.
It should be compared to integrated graphics because that is what is is both competing against and running circles around in performance, and what it is on-par with (better actually) in power consumption.
Also note that it is not correct to compare CPU+GPU power draw in other systems, as in M1 macbooks the power budget is shared between CPU and GPU which leads to throttling.
Also, if you really want to get pedantic, the most powerful integrated graphics are much more powerful than the M1. They are just not ported to laptops, because it makes no sense since you can get much more performance at better power consumptions with dual integrated/discrete GPUs and switching.
The M1 performance is incredibly impressive in relation to the power it takes to do it. This is relevant and meaningful to a user of this type of device and allows fantastic battery life even under heavy load which is unmatched by other devices in its class.
Yes it isn't the most performant, but it is the most efficient and it also isn't a slouch. I think that is impressive. That is all.
There are laptops with discrete GPUs that have similar battery life in those workloads where the M1 gets 20h.
There is no improvement to user experience. This is trying to spin a closed platform that is not compatible with discrete GPUs as somehow a good thing.
Just FYI. The M1 GPU consumes 0-30% less than the Xavier NX series GPUs, which are the next comparable thing, and delivers a third of the performance. It's way behind in every way to Volta or rDNA. A spade should be called a spade - it's a sub-par product due to Apple making closed, non-standard systems, with worse performance than it could have had.
It really sounds like you have an axe to grind against Apple. It's okay to both criticize Apple for certain aspects of it's products at the same time as respecting/praising others.
I think Apple makes great mobile hardware but they also sell aluminum caster wheels for the mac pro that costs $200 more than the price I paid for my iPhone SE 2. This is stupid and makes no rational sense. I have 0 desire to own a traditional mac because the price is absurd compared to more capable products and I don't care about paying the Apple tax to look cool. The M1 Macs are actually a compelling hardware offering.
They are much better than what Macs used to be. That makes them middling. There is no real performance advantage of M1 Macs - least of all in GPU performance - over the current AMD/NVidia standard, and quite a few disadvantages.
What it really is, is Apple making their own processors to be able to lock down their Mac platform really harshly and have total control over it, without offering any performance advantage over their competition, and people spinning it as actually a good thing because Apple had the good sense of making their previous generation of laptops worse than it had to be to make modern hardware feel revolutionary.
Which means they're integrated graphics.
> Also note that it is not correct to compare CPU+GPU power draw in other systems, as in M1 macbooks the power budget is shared between CPU and GPU which leads to throttling.
Just like integrated GPUs?
> it makes no sense since you can get much more performance at better power consumptions with dual integrated/discrete GPUs and switching.
This has not been my experience with hybrid graphics in the slightest.
As for battery life, any 10-15W Ryzen 5000 series processor with discrete graphics mostly disabled will do it.
Would be curious to repro as my M1 is nowhere near this and it's even an 8GB model.
If I change to code to refer to `entries: ...` instead of `bindings: ...`, I get further, but it fails on a missing `createBufferMapped` function. Firefox nightly just crashes at this stage.
https://bugzilla.mozilla.org/show_bug.cgi?id=1696336
If your Firefox actually crashed, do you see any crash report IDs in "about:crashes"?
It sounds like it's coming in the new few months now. I just couldn't hold out. Oh well.
it's like comparing fuel tank sizes between two cars when one of them has a much more fuel efficient engine.
https://twitter.com/catfish_man/status/1326238434235568128?s...
See: https://www.howtogeek.com/701804/how-unified-memory-speeds-u...
the current concern is how all these impact SSD(harddisk) life and health due to how swap memory is managed. It may be the reason why Apple priced such a breakthrough technology so competitively.
I gotta run the test on my desktop pc to decide how to feel about this.
Although I can enable webgpu in chrome canary it throws an error:
Uncaught (in promise) TypeError: Failed to execute 'createBindGroupLayout' on 'GPUDevice': required member entries is undefined.
Upon re-reading I realize the wording was ambiguous.
https://gist.github.com/ogrisel/87dcf2c3ab8a304ededf75934b11...
Note however there is currently no way to build and link numpy and scipy against vecLib to get correct results when calling LAPACK routines (to get Singular Value Decomposition for instance). It might be related to low level fortran ABI problems but I am not an expert so I don't know for sure.
It's possible to get a fully working numpy / scipy stack with OpenBLAS and gfortran by using the conda-forge distribution:
https://github.com/conda-forge/miniforge#download
The performance is not as good as with vecLib (see the linked benchmark) but it's already very good (e.g. compared to a similarly priced Intel or AMD laptop with OpenBLAS and maybe even MKL).
Obviously something is wrong in my reasoning, where are all those GFlops coming from?
In sequential code, it's common that some instructions are independent and can theoretically be executed in parallel, this is measured with ILP (Insturction Level Parallelism). Modern processors exploit ILP by detecting dependencies between instructions and execute independent instructions in parallel. These are superscalar processors.
In addition, some extensions of the instruction sets add instructions that allow you to compute several data at the same time. They are called SIMD extensions (Single Instruction Multiple Data).
Also, this assumption is wrong too:
> and each instruction needs at least 1 clocktick
Modern[1] CPU use a superscalar architecture[2] which allows them to excute more than one instruction per clock cycle (usually 4 or more[3]).
[1]: well, it's been the case for the past decades actually [2]: https://kb.iu.edu/d/aett [3]: https://stackoverflow.com/questions/37041009/what-is-the-max...
The headline suggested this had anything to do with the specific qualities of the M1 but apparently this has nothing to do with the M1 CPU? Any modern GPU can easily reach 1 TFlop nowadays.
I don't know where you got the idea that RISC = “not superscalar”, but it's a wrong one. There are a lot of superscalar ARM CPUs out there [1].
> The headline suggested this had anything to do with the specific qualities of the M1 but apparently this has nothing to do with the M1 CPU?
The M1 is a SoC, with a CPU and a GPU (and other things) on the same chip.
> Any modern GPU can easily reach 1 TFlop nowadays.
Yep, but that's still quite a feat to do this on a on a low-power mobile SoC.
[1]: https://en.wikipedia.org/wiki/List_of_ARM_microarchitectures
Now we just need more, better, faster ARM-based chips. Linux is ready, macOS is ready... but it looks like Windows is not yet ready: https://www.youtube.com/watch?v=OhESSZIXvCA
if power consumption is reduced to a minimum with their in-house arm processors, and they are highly efficient. then they could significantly undercut their competition since their costs are very low.
This is OK. Why is it lauded as impressive? I honestly have no clue. The hardware is good enough to do some normal tasks, right? So why pretend it's some kind of beast at doing at heavy computation measured in flops, when it's absolutely nothing even remotely impressive? If it's compute power in tflops is about half that of the Jackson tx2, which is also just cool because its a tiny computer... What's going on here? Is it a sunken cost fallacy thing? I get that the m1 hardware is pretty good for the battery life and the portability. If there is such a fanfare over this kind of mediocre performance... It leaves me confused. If its top end performance that is important, then, surely the hardware is pretty bad for the price, and even ignoring the price, its far down the list. So, what's going on here? Why are people this excited over something like this, if not to justify a purchase that is highly questionable?
But as an Australian, I'd like to give a gift of the word "Fortnight". Fortnight is a word that means "2 weeks". Its a little old fashioned but awfully useful. Its a common word in Australia (and the UK I think) and you can find it in every English language dictionary.
Like "week", fortnight can be used as an adjective. For example, "Fortnightly meeting" - which means "A meeting that takes place every 2 weeks." Unlike "bimonthly meeting", a "fortnightly meeting" is clear and unambiguous. It is also well understood by the rest of the English speaking world.
I hope this gift finds you well. You're welcome.
When you think 800% improvement is relevant, you kinda have to consider how great those 100% were to begin with. Otherwise, it reaaaally looks like a bunch of people in an echo chamber.
I honestly have no gripes against people liking the m1. But it annoyes me that the marketing of it was so unbelievably misleading, and it lead to this completely disconnected from reality notion that this is anywhere close to the performance you can get from a top end laptop. And a top end desktop? Yeah... It's an OK hardware, that is pretty good at being power efficient. Raw performance? Do you need it? Like, honestly. Are you running heavy compute calculations. Somehow not bound by 8 GiB memory? And you need to do this while commuting. Well, I suppose the m1 hardware is OK. Nothing to write home about. But OK.
Given what we know about compute to power consumption in the M1 and Apple’s track record of performance gains, how could Amazon or Microsoft compute not be under serious threat?
Apple wouldn’t sell server hardware to these companies.
While Amazon has been working on Gravitron2 from what I understand, the cores seriously underperform what is shipping in M1, and there is no evidence of serious work in this area from Microsoft.
X86 not only suffers from poor performance / power / thermal each chip sold has to return for Intel or AMD too.
The facilities that run these machines must be bigger, provide more power and work harder to keep cool while resulting in less actual compute.
It’s hard to compete on price when the architecture is unexpectedly antiquated and vertical integration through chip design either doesn’t exist or is pales in comparison.
People who buy them do seem happy. But I've seen people claim that 8GB RAM on M1 is functionally equivalent to much greater RAM on x86 because of faster whatever and more efficient something something. At a certain point the adulation exceeds credibility.
I'm excited to see what happens when this whole ecosystem matures, especially in a few years when TSMC 3nm is involved and devices get even more efficient. M1 seems to be a very fine product. But clearly there's a reason the high end MacBook devices are still running Intel...maybe that reason is software. Maybe it's display support. Maybe it's a lot of things.
Look no further. On this very topic /u/alwayssmh parrots this nonsense [1]
"because of the fundamental difference in architecture, one should not compare ram size of an intel based mac against the ram of a M1 based mac. it's like comparing fuel tank sizes between two cars when one of them has a much more fuel efficient engine."
The SSD wear issue is not being discussed at all.
It’s a perfect laptop for writers and front-end devs. I’m gonna get a Mac mini but for now, I haven’t felt the need to.
This is my favorite laptop. It’s like Amadeus good
How does your dev tools behave with this device?
Docker, entire Android toolchain (this one important), XCode, qemu, VirtualBox, you name it.
(I'm planning to get one)
MariaDB, Redis, nginx and some php/laravel services
The only thing that I had trouble with was building the images, they're large images with over 200 build steps (laradock), and it took a really long time to build them. Then again, I haven't compared build times to my surface pro 7 or my ryzen 1800x, it just felt incredibly slow
Homebrew seems to be fine. Some packages have M1 versions and others run via Rosetta. Parallels has a preview version of Parallels Desktop for Mac that can run both Linux and Windows (tested both) for ARM64. Windows/ARM64 has its own Rosetta-like thing that seems able to run most Windows software.
The M1 is stupidly fast. Going from a relatively high end Intel laptop to the M1 feels like going from a 286 to a 486 back in the 1990s, and the thing barely gets warm even after you max it out for an hour. Intel is finished.
- Xcode: Don't have much cause to use it, but in my limited playing around it's totally fine, as I would expect from a 1st party product.
- VirtualBox: Incompatible, with apparently no intent to support ARM hosts at all. I've installed Windows for ARM in the Parallels M1 Tech Preview though, and that seems to work fine. There's also UTM which will use virtualisation for arm64 guests and QEMU for x86.
- Installing random stuff via MacPorts: Totally fine, a lot of the packages I needed (nginx, PHP, etc.) are already available for arm64. The only issues I've had are Big Sur related, not ARM specific.
Do you run Docker under QEMU or QEMU under Docker? How does that work exactly?
This post on the Docker blog explains it generally: https://www.docker.com/blog/multi-platform-docker-builds/
Docker and PyCharm are also working well, but the Air only lasts like 7ish hours before it needs to be plugged in again.
Parallels VMs (Debian) work, but drain the battery and feel a bit more sluggish than I am used to. Something I hope will improve once Parallels officially supports the M1, not just in a tech preview.
I did not encounter any problems with any of the tools I use (Fork, Paw, iTerm) and last I checked most have support for the M1 (I try to use as many native apps as possible).
It's all very exciting!
It's really a fail.
I don't care at all about that usb / hdmi ports talk, but make it work without needing to have ice over it, ah yeah one more thing, please fix the keyboard, this has less than 2 years and it's typing for meeee some times :(
iPhone 11: 350 RX Vega 64: 800 Radeon 560X macbook: 41
The phenomenon of everyone being blown away by the M1's performance is based so much on the fact that developers haven't built a lot of software on it yet.
Engineers all over the world will "figure out" how to take this fast hardware and make it feel slow again.
However, the M1 is a huge leap forward. It gives you a maybe 3 year head start on all other computers.
So no, in a few years it won’t be as revolutionary and fast as it is today. But I think it’s safe to say you can expect an M1 to last you a good few years longer than a similarly priced Intel based laptop you can purchase today.
I think there are now more tools to help with phenomenon. For example for web dev, chrome has a built-in cpu/network throttler so you can simulate a low-end device.
[1] - https://community.spotify.com/t5/Closed-Ideas/Revert-to-nati...
the spotify devs are quite capable, look at this ImGui port of the Spotify client: https://twitter.com/rogueops/status/1243269640815509504
Simply because most software people today is cross-platform, so most developers need to make sure their code is reasonably performant on x86.
As long as M2, M3, M4 keep getting better and maintain (or even increase) their performance margin over x86, then everyone running M chips will continue to see blazing performance.
The bigger worry here is actually if Apple somehow "figures out" how to make macOS feel slow again. I guess it depends on how "mature" you think macOS is at this point, if whole additional layers will inserted into the stack somehow.