11 ms·
I think Apple is banking on coprocessors on their SoC to handle heavy workloads instead of general purpose SIMD. The applications that benefit enormously from S
by lock-free 6y ago
I think Apple is banking on coprocessors on their SoC to handle heavy workloads instead of general purpose SIMD. The applications that benefit enormously from SIMD outside the GPU (like ML, multimedia codecs, etc) are being migrated to proprietary function blocks interfaces through Swift frameworks, and not hand rolling optimized blocks of code in C and assembly.
I would not be surprised if we see similar things added for audio DSP to support their creative software (it was alluded to in some marketing materials, haven't read much on it yet).
Other applications like language parsing and compiling is likely going to be a second class citizen moving forward, since Apple doesn't care about using their machines for general purpose development regardless of how many of us buy them for being solid Unix platforms.
- pjmlp 6y agoBeing UNIX was never part of neither Apple or NeXT's culture, it was more a way to get a foot into the workstation market, and a question of survival in not closing doors. Now they are way beyond that, so they can focus on what was the soul of Mac design during the System days.
- gumby 6y ago> Being UNIX was never part of neither Apple or NeXT's culture Why do you say this? True, Mach is architecturally different from the BSD kernel but user space started out as NetBSD and its still fundamentally a POSIX system. I never worked for either company but have worked with NeXT and Apple engineering teams on projects and wouldn’t say that I was working with people who took a non-Unix orientation, especially when compared, say, to Windows. Would you not have considered AIX Unix? Or Unicos? People considered that Unix but it was more alien than the macos due to then constraints of the hardware.
- pjmlp 6y agoWhat mattered on A/UX for application developers on Apple platforms was the System APIs layer ported to run on top of X Windows integration. Likewise, anyone doing NeXT development was focused on Objective-C frameworks all the way down to driver kit. As Application developer on a NeXT, the tune was all about WebObjects, Renderman, EOF. Applications like Lotus Improv, Wingz, and those being put out by Omni Group were the meat of the kind of applications that people considered to use NeXTSTEP, not BSD command line utilities. Pretty much patent on commercials like NeXT vs Sun. https://www.youtube.com/watch?v=UGhfB-NICzg https://www.youtube.com/watch?v=UGhfB-NICzg Or Steve Jobs opinion on UNIX users, https://www.cake.co/conversations/rZXhqtP/that-time-i-had-steve-jobs-keynote-at-unix-expo https://www.cake.co/conversations/rZXhqtP/that-time-i-had-st... and later when back at Apple https://www.computerworld.com/article/2591327/apple-hopes-to--tame-unix--with-os-x.html https://www.computerworld.com/article/2591327/apple-hopes-to... AIX is definitly UNIX, because it isnt' like A/UX, NeXTSTEP, OS X or iOS, where the UNIX layer is there more to bring stuff into the platform, while the main developer stack is something else.
- heavyset_go 6y agoMuch XNU is taken from FreeBSD.
- john_alan 6y agoThey’ve literally stated that the future of macOS on ARM is UNIX based during platforms state of the union.
- pjmlp 6y agoThat is just to clear out the fears of macOS turning into some version of iOS. It doesn't change the fact that there is nothing UNIX about XCode, Objective-C Kits and Swift Frameworks.
- john_alan 6y agoI don’t understand what you mean, macOS and iOS share the same kernel. They are both POSIX UNIX. Also, macOS isn’t going to stop being UNIX based, it’s XNU/Mach based on BSD, that’s not going to change without a entirely new OS written from scratch. What’s not UNIX about Swift/Xcode, it’s just a language / app, what don’t I get here. Do you think they want to abandon Unix and roll their own OS from scratch?
- pjmlp 6y agoOf course, it is not going to stop being UNIX, except for the little detail that POSIX is mostly irrelevant for what is sold on Apple store for any kind of their devices. This is the ecosystem that Apple and developers that buy into Apple ecosystem care about. Those that were buying Macs to do GNU/Linux work were a welcomed addition in times of need, that is all. I advise reading books like The Cult of Mac and Folklore.
- john_alan 6y agoHere is the certificate for POSIX 3 UNIX compliance for Big Sur on Apple Silicon. https://www.opengroup.org/openbrand/register/brand3668.htm https://www.opengroup.org/openbrand/register/brand3668.htm
- pjmlp 6y agoAnd? The kernel and a couple of shell utilities don't dictate the developer culture, those developers that actually care about Apple ecosystem, not those that buy Apple hardware as pretty Linux replacements.
- kergonath 6y agoBy definition, if it is UNIX, then it is UNIX...
- pjmlp 6y agoYeah and? That is not what devs care about when publishing applications on the Apple store, following Apple HIG.
- kergonath 6y agoYou were arguing that they didn't care about UNIX, which is demonstrably false, and they went to great lengths to get their OS certified; it is the core of their operating systems. This has been pointed out several times now. You're right from the point of view of a GUI application developper, the UNIX core is somewhat hidden under intermediate layers, but then it's also the case for applications on Linux. Using GTK or QT, you don't deal with low-level kernel APIS much beyond POSIX either. And you can also do that on macOS, so it's a bit pointless as a purity test. It seems difficult to argue with a straight face that Apple's developers working on the kernel, low-level layers and system libraries don't care about UNIX: that is their whole job. And as a user, you can have UNIX and decent GUIs.
- 6y ago
- freehunter 6y ago>Apple doesn't care about using their machines for general purpose development That's a bold statement that I've heard repeated over many years and never actually seen any real evidence of considering the Mac is the only place you can develop applications for the majority of Apple devices. Not a week goes by on HN without someone saying "Apple doesn't care about developers and/or will stop making general-purpose Macs" and yet there isn't a XCode for iOS or Android or Windows or Linux.
- temac 6y agoDevelopment for Apple devices is wide in volume but narrow in scope. You pretty much don't develop anything else on Mac OS. No web, no embedded, no Linux, no Windows, no nothing. Only Mac OS software, iPhone apps, etc. I am exaggerating slightly, but you get the idea. Or when you do, you use your Mac OS laptop as a terminal. Or at best, something to run VMs, and in both cases you don't develop with Apple OS / tools, it's just hosting or giving you non-integrated access to completely different systems. Apple things are a pretty much distinct and closed ecosystem, and one which is quite limited to (some) endpoints.
- freehunter 6y agoNone of anything of what you said makes any sense at all. I absolutely develop web applications on my Mac, using a graphical IDE. I've also developed for Arduino boards using a graphical IDE on my Mac. I've written software natively on my Mac that I put into production on Linux and Windows machines. And all of that is supported on the M1 as well. They even built a complete and complex and powerful subsystem to allow you to run Intel code on their new processor. Apple has never stopped me from installing VSCode or Atom or Sublime or Jetbrains and they've never given me any reason to think they would do so in the future, especially given Rosetta 2. I've never run a VM on my Mac. I have no idea what point you're trying to make here, so I'm trying my hardest to argue against the best possible interpretation, and that interpretation is still so unbelievably wrong that I still feel like I must be missing the point.
- temac 6y ago
- Gibbon1 6y agoThat fits in with two things. Anyone that design hardware knows that specialized hardware is orders of magnitude more power efficient than software. Custom Silicon -> Programmable Logic --------------> Software. You see that in RF design where tech is developed with software defined radios, then moved to FPGA's/Gate Arrays, and then custom silicon. And the power requirements drop by 95% each step. Also microprocessor manufacturers have always pushed back against specialized coprocessors as much as they can. Apple bringing it all in house allows them to nullify that impediment.
- coldtea 6y ago>Other applications like language parsing and compiling is likely going to be a second class citizen moving forward, since Apple doesn't care about using their machines for general purpose development regardless of how many of us buy them for being solid Unix platforms. Ah, the endless Apple-hating complaining... https://gohugo.io/news/hugo-macos-intel-vs-arm/ https://gohugo.io/news/hugo-macos-intel-vs-arm/
- grishka 6y agoIIRC Metal also has compute shaders specifically to run highly parallel code on the GPU. No idea if anything makes use of those tho.