• Paranoid Factoid@beehaw.org
    link
    fedilink
    English
    arrow-up
    32
    ·
    edit-2
    8 months ago

    This is why I left the Mac platform and switched to Linux on Threadripper. Apple is just not being honest.

    The M series Mac is not suitable for performance computing. Outrageous prices and small memory sizes make the computer a toy for professional workloads.

    M gets its performance from RAM proximity to the CPU by connecting RAM and CPU chips together. This proximity lets them reduce the clock divisor and thereby increase total I/O bandwidth. Good idea for phones, tablets, and even laptops. Useless for high end workstations, where you might need 128-256GB. Or more.

    Also, one of these days AMD or Intel will bolt 8GB on their CPUs too, and then they’ll squash M. Because ARM still per clock tick isn’t as efficient as x86 on instruction execution. Just use it for cache. Or declare it fast RAM like the Amiga did.

    Apple has really snowed people about how and where they get their performance from M. It’s a good idea on the small end. But it doesn’t scale.

    This is why they haven’t released an M series Mac Pro.

    Nope, there is in fact a Mac Pro now. I stand corrected.

      • Paranoid Factoid@beehaw.org
        link
        fedilink
        English
        arrow-up
        15
        ·
        edit-2
        8 months ago

        Well, you’re absolutely right that they’ve released a Mac Pro. Looking it over, the machine is still a terrible deal in comparison to Threadripper. The Mac Pro maxes out at 192GB RAM and 72 GPU cores. Which is a terrible deal compared to Threadripper, which maxes out at 1.5TB RAM and enough PCI lanes for four GPUs.

        From a price / performance standpoint, you could beat this thing with a lower end Ryzen 5950x CPU, 256GB RAM, and two Nvidia 4080 GPUs at maybe $2500-$3000 dollars less than the maxed out Mac Pro.

        But I was wrong there. Thank you for the correction.

        NOTE A 64core Threadripper with 512GB and four 4090 GPUs would be suitable for a professional machine learning tasks. Better GPUs in the Pro space cost much more though. A 5950x 16 core, 256GB, two 4090 GPUs and pci ssd raid would do to edit 8k / 12k raw footage with color grading and compositing in Davinci Resolve or Premiere/Ae. Would be a good Maya workstation for feature or broadcast 3d animation too.

        That Mac Pro would make a good editing workstation in the broadcast / streaming space, especially if you’re using Final Cut and Motion, but is not suitable in the machine learning space. And I wouldn’t choose it for Davinci Resolve as a color grading station. The Mac XDR 6k monitor is not suitable for pro color grading on the feature side, but would probably be acceptable for broadcast / streaming projects. On the flip side, a Pro color grading monitor is $25K to start and strictly PC anyway.

        • Moonrise2473@feddit.it
          link
          fedilink
          arrow-up
          5
          ·
          8 months ago

          the mac pro is a terrible deal even compared to their own mac studio. It has the same specs but for almost $1000 extra. Yes, the cheese grater aluminum case is cool, but $1000 cool?

        • Exec@pawb.social
          link
          fedilink
          arrow-up
          4
          ·
          8 months ago

          When you’re nearing the terabytes range of RAM you should consider moving your workload to a server anyway.

          • Paranoid Factoid@beehaw.org
            link
            fedilink
            English
            arrow-up
            7
            ·
            8 months ago

            It really depends on the kind of and size of data you’re moving. A system bus is a whole lot faster than 10Gb networking. If your data is small and the workload heavy, say a Monte Carlo sim, clusters and cloud make sense. But reverse that, like 12k 14bit raw footage, which makes massive files, and you want that shit local and striped across a couple M.2 drives (or more). Close is fast.

        • monsieur_jean@kbin.social
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          8 months ago

          The Apple M series is not ARM based. It’s Apple’s own RISC architecture. They get their performance in part from the proximity of the RAM to the GPU, yes. But not only. Contrary to ARM that has become quite bloated after decades of building upon the same instruction set (and adding new instructions to drive adoption even if that’s contrary to RISC’s philosophy), the M series has started anew with no technological debt. Also Apple controls both the hardware to the software, as well as the languages and frameworks used by third party developers for their platform. They therefore have 100% compatibility between their chips’ instruction set, their system and third party apps. That allows them to make CPUs with excellent efficiency. Not to mention that speculative execution, a big driver of performance nowadays, works better on RISC where all the instructions have the same size.

          You are right that they do not cater to power users who need a LOT of power though. But 95% of the users don’t care, they want long battery life, light and silent devices. Sales of desktop PCs have been falling for more than a decade now, as have the investments made in CISC architectures. People don’t want them anymore. With the growing number of manufacturers announcing their adoption of the new open-source RISC-V architecture I am curious to see what the future of Intel and AMD is. Especially with China pouring billions into building their own silicon supply chain. The next decade is going to be very interesting. :)

          • barsoap@lemm.ee
            link
            fedilink
            arrow-up
            7
            ·
            edit-2
            8 months ago

            The Apple M series is not ARM based. It’s Apple’s own RISC architecture.

            M1s through M3s run ARMv8-A instructions. They’re ARM chips.

            What you might be thinking of is that Apple has an architectural license, that is, they are allowed to implement their own logic to implement the ARM instruction set, not just permission to etch existing designs into silicon. Qualcomm, NVidia, Samsung, AMD, Intel, all hold such a license. How much use they actually make of that is a different question, e.g. AMD doesn’t currently ship any ARM designs of their own I think and the platform processor that comes in every Ryzen etc. is a single “barely not a microprocessor” (Cortex A5) core straight off ARM’s design shelves, K12 never made it to the market.

            You’re right about the future being RISC-V, though, ARM pretty much fucked themselves with that Qualcomm debacle. Android and android apps by and large don’t care what architecture they run on, RISC-V already pretty much ate the microcontroller market (unless you need backward compatibility for some reason, heck, there’s still new Z80s getting etched) and android devices are a real good spot to grow. Still going to take a hot while before RISC-V appears on the desktop proper, though – performance-wise server loads will be first, and sitting in front of it office thin clients will be first. Maybe, maybe, GPUs. That’d certainly be interesting, the GPU being simply vector cores with a slim insn extension for some specialised functionality.

            • monsieur_jean@kbin.social
              link
              fedilink
              arrow-up
              1
              ·
              8 months ago

              Thanks for the clarification. I wonder if/when Microsoft is going to hop on the RISC train. They did a crap job trying themselves at a ARM version a few years back and gave up. A RISC Surface with a compatible Windows 13 and proper binary translator (like Apple did with Rosetta) would shake the PC market real good!

          • skarn@discuss.tchncs.de
            link
            fedilink
            arrow-up
            7
            ·
            8 months ago

            The whole “Apple products are great because they control both software and hardware” always made about as much sense to me as someone claiming “this product is secure because we invented our own secret encryption”.

            • anlumo@feddit.de
              link
              fedilink
              arrow-up
              5
              ·
              8 months ago

              Here’s an example for that: Apple needed to ship an x86_64 emulator for the transition, but that’s slow and thus make the new machines appear much slower than their older Intel-based ones. So, what they did was to come up with their own private instructions that an emulator needs to greatly speed up its task and added them to the chip. Now, most people don’t even know whether they run native or emulated programs, because the difference in performance is so minimal.

    • Overzeetop@beehaw.org
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      8 months ago

      a toy for professional workloads

      [rant]

      I think this is one of those words which has lost its meaning in the personal computer world. What are people doing with computers these days? Every single technology reviewer is, well, a reviewer - a journalist. The heaviest workload that computer will ever see is Photoshop, and 98% of the time will be spent in word processing at 200 words per minute or on a web browser. A mid-level phone from 2016 can do pretty much all of that work without skipping a beat. That’s “professional” work these days.

      The heavy loads Macs are benchmarked to lift are usually video processing. Which, don’t get me wrong, is compute intensive - but modern CPU designers have recognized that they can’t lift that load in general purpose registers, so all modern chips have secondary pipelines which are essentially embedded ASICs optimized for very specific tasks. Video codecs are now, effectively, hardcoded onto the chips. Phone chips running at <3W TDP are encoding 8K60 in realtime and the cheapest i series Intel x64 chips are transcoding a dozen 4K60 streams while the main CPU is idle 80% of the time.

      Yes, I get bent out of shape a bit over the “professional” workload claims because I work in an engineering field. I run finite elements models and, while sparce matrix solutions have gotten faster over the years, it’s still a CPU intensive process and general (non video) matrix operations aren’t really gaining all that much speed. Worse, I work in an industry with large, complex 2D files (PDFs with hundreds of 100MP images and overlain vector graphics) and the speed of rendering hasn’t appreciably changed in several years because there’s no pipeline optimization for it. People out there doing CFD and technical 3D modeling as well as other general compute-intensive tasks on what we used to call “workstations” are the professional applications which need real computational speed - and they’re/we’re just getting speed ratio improvements and the square root of the number of cores, when the software can even parallelize at all. All these manufacturers can miss me with the “professional” workloads of people surfing the web and doing word processing.

      [\rant]

      • Paranoid Factoid@beehaw.org
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        8 months ago

        So, one point I’ll make on the hardware assist you discuss is that it’s actually limited to very specific use cases. And the best way to understand this is to read the ffmpeg x264 encoding guide here:

        https://trac.ffmpeg.org/wiki/Encode/H.264

        The x265 guide is similar, so I won’t repeat. But there are a dizzying range of considerations to make when cutting a deliverable file. Concerns such as:

        • target display. Is the display an old style rec709 with 8 bits per color, SDR with of six and a half stops dynamic range, etc? Is it a rec2020, 10 bits per color, about eight stops? Is it a movie projector in a theater, with 12 bits per color and even more dynamic range? When producing deliverables, you choose output settings for encode specific to the target display type.

        • quality settings. Typically handled in Constant Rate Factor (CRF) settings. If you’ve burned video files, you’ll know the lower the CRF number the higher the image quality. But the higher the image quality the lower the overall compression. It’s a tradeoff.

        • compression. The more computation put to compression the smaller the video file per any CRF setting. But also the longer it takes to complete the computation.

        This is only for local playback. Streaming requires a additional tweaks. And it’s only for a deliverable file. In the production pipeline you’d be using totally different files which store each frame separately rather than compress groups of frames, retain far more image data per frame, and are much less compressed or entirely uncompressed overall.

        The point of this is to highlight the vast difference in use cases placed on encoding throughout various stages in a project. And to point out for video production you care about system I/O bandwidth most of all.

        But hardware encode limits you to very specific output ranges. This is what the preset limitations are all about for say nvidia nvenc hardware assist x264 in ffmpeg. The hardware devs select what they think is the most common use case, say YouTube as an output target (which makes network bandwidth and display type presumptions), and targets their hardware accel for that.

        This means most of that marketing talk about hardware assist in M series chips and GPUs etc is actually not relevant for production work. It’s only relevant for cutting final deliverable files under specific use cases like YouTube, or Broadcast (which still wants 10bit ProRes).

        If you look at just x264 settings, the hardware accel presets are so limited most times you’d still be cutting with software encode. Hardware encode comes into play with real time, like streaming and live broadcast. The rest of the pipeline? All software.

        • Overzeetop@beehaw.org
          link
          fedilink
          arrow-up
          3
          ·
          8 months ago

          Indeed! It makes the benchmarks that much more disingenuous since pros will end up CPU crunching. I find video production tedious (it’s a skill issue/PEBKAC, really) so I usually just let the GPU (nvenc) do it to save time. ;-)

    • jcarax@beehaw.org
      link
      fedilink
      arrow-up
      5
      ·
      8 months ago

      Yeah, I gave Apple a try over the last two years, largely because I was annoyed with Google and wanted to ditch Android. I’ve been fed up since about 6 months in, but gave it some more time, which led to an eventual waiting game to get the replacements I want.

      I just picked up a Thinkpad P14s g4 AMD with a 7840u, 64GB of RAM, and a 3 year onsite warranty for $1270 after taxes. I added a 4TB Samsung 990 Pro for another $270. I can’t imagine spending more than that and only getting 8GB RAM (and less warranty), which is what I have assigned to the GPU. Plus I get to run Linux, which I really didn’t realize how much MacOS would leave me wanting.

      The thing I’ll miss is the iPhone 13 Mini size. I found iOS to be absolute trash, but there’s just not an Android phone that’s a reasonable size. But at least I can run Calyx/Graphene on a Pixel and get a decent OS without spying.

      I do like the M1 MBA form factor, too, but I’ll grab the Thinkpad X13s successor for portability and get a better keyboard. I don’t need top end performance out of that, I really just want battery life and passive cooling.

      And don’t even get me started on the overpriced mess that are the Airpods Max. I much prefer the Audeze Maxwell and Sennheiser Momentum 4 I replaced them with.

      • Paranoid Factoid@beehaw.org
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        8 months ago

        I’ll say, I really like MacOS! I transitioned from Linux to MacOS X back in 10.2 days and kept with it until 2017 or so. Put homebrew on there and fill it up with a bunch of 'nix tools and you get a respectable unix. Plus you get access to a bunch of commercial software unavailable on Linux. I was very happy with this solution for well over a decade.

        My problem came with Apple. Their hardware lock downs preventing upgrades and fixing stuff, plus the newer software lockdowns, all this nonsense just made it impossible for me to do my work. Like Microsoft, Apple imposes itself on my workflow. And while Linux doesn’t do stuff I’d like in the commercial realm, one thing it doesn’t do is stick its nose in my workflow. If something breaks I can fix it. I don’t have to deal with it demanding I reboot my machine for an update while the box is in the middle of a two week long render. I don’t have to be forced onto the network to login to a central Microsoft or Apple authentication server just to use my computer. I don’t have to deal with them bugging me to stick my clients’ data on their cloud services I signed an legal NDA promising to protect just because the company wants me to.

        My issue is not with the software, even on Windows, it’s with the corporate practices! They get in my way. I bought this computer to make money with, not so they can make money off me and my clients! When you sign legal documents promising to not disclose confidential material related to a pending bid, and your OS vendor spies on you, I mean most people don’t seem to care about that but I sure do. lol

    • Echo Dot@feddit.uk
      link
      fedilink
      arrow-up
      3
      ·
      8 months ago

      Also, one of these days AMD or Intel will bolt 8GB on their CPUs too, and then they’ll squash M.

      I can’t remember who it is but somebody is already doing this. But it’s primarily marketed as an AI training chip. So basically only Microsoft and Google are able to buy them, even if you had the money, there isn’t any stock left.