programmer

About

Username
programmer
Joined
Visits
51
Last Active
Roles
member
Points
454
Badges
1
Posts
3,503
  • Apple Silicon has a clear path to better GPUS

    It is a common refrain that a platform vendor ought to become a "top rated game vendor" in order to turn their platform into a top games platform.  Nintendo, Sega, 3DO, Sony, Microsoft (XBox), and many more have all tried that.  It does not guarantee success, and it is a wildly expensive undertaking which distracts the platform vendor from its core competency -- being a platform vendor.  The best companies for delivering games to a platform are the game companies whose primary focus is delivery great games in order to turn a profit.  Those companies can be motivated to port to a platform by making that platform easy to port to, and by supplying money to subsidize the porting efforts.  Buying game studios to do such ports creates a very strange business situation which is hard for a public company (like Apple) to manage -- they can't drop the support for existing profitable platforms without destroying the business they bought, but if they don't then they're undermining their platform.  This is not a path I would want to see Apple take.

    Apple is a very good platform company, if they chose to, they could leverage that to make their platforms much lower barrier-to-entry for developers than they currently do.  They could even enable the existing catalog on PC to run on their platforms without changes to the games.  Suddenly being able to run most of the PC game catalog on the Mac would immediately make the Mac more interesting to average gamers (you won't capture the high end gamers this way because there will always be a performance penalty for doing this), but that's where Apple could start making porting easier and subsidized (for key titles).  Apple needs to focus on removing barriers in the way of gamers and game developers.  Rather than trying to push the game market piecemeal onto their platform, get out of the way and let it move there on its own.
    mattinoztenthousandthings9secondkox2
  • A new Mac Pro is coming, confirms Apple exec

    It seems like PCI-E gets besmirched a lot, and this isn't fair to the standard.  Firstly, it is the most widely used standard, which is a huge advantage for Apple.  The days of proprietary bus standards by Apple are decades past.  Second, PCI-E 5.0 is very fast -- 64GB/sec on 16 lanes, or 128GB/sec on 32 lanes (if doing large transfers... which can be the case if operating at the memory page level, instead of the cacheline or smaller level).  The original M1 only had approximately that much bandwidth to its in-package memory!  This is much faster than even the fastest data centre networks, which currently top out at around 12.5 GB/sec.  eGPUs work pretty well even at only 5GB/sec.  Third, multiple vendors build PCI-E bridge/switch chips, and PCI-E supports quite complex topologies so interesting "networks" can be built inside a single chassis (or even between chassis given that Thunderbolt is basically PCI-E over a cable).

    If Apple did come up with its own proprietary interconnect, the only chips that would use it would be ASi and that would greatly limit its utility.  And very likely only the Mac Pro would use it because the rest of the lineup is doing quite well with a single large SoC.  While its not impossible that they could license another interconnect and use someone else's GPU (i.e. AMD), that undermines the perception of their competitiveness in the GPU space.  We've only seen their first attempt at a desktop GPU (the M2 isn't particularly different than the M1, it is mostly just an improved process and scaled up a bit), and I'm sure they're working on another significant step forward.

    tenthousandthings
  • Possible Mac Pro 'compute module' discovered in iOS 16.4 code

    mattinoz said:
    Why is PCIe unlikely? You are stating that but none of the rumoured information has been anything other than speculation that looks like it is trying to drive negative sentiment. Also the two year wasn't a deadline as the direct quote is "about 2 years" which makes this feel like an attempt to also drive such negative sentiment more than speculation based on the new information. Indeed a reference of a Compute Module does suggest Apple does have the ability to move the ASi SOC off the mainboard into a pluggable object which would kind of make sense to be Apples already designed MPX. Leading to more to the inclusion of PCIe not dissimilar to current intel MAC pro more than it supports "PCIe being unlikely" Make sense that Apple have been waiting for PCIe 5.0 CXL support in ARM so 3rd parties have a more attractive target.
    Note that the article says "PCI-E GPUs", not any "PCI-E".  Plenty of discussion in other threads why GPU support (at least for the purposes of doing graphics) may be unlikely/complicated.  

    That this was found in iOS seems to make it unlikely to be Mac Pro specific, but it does make me wonder if Apple is looking toward a future where there is a software fabric that allows connected devices (via network, PCI-E, whatever) to share compute.  There has been some work done in the past (grid computing), and existing product (xcode's distributed builds), and cloud services (some Siri compute is offloaded).  Or the Apple Watch and iPhone sharing workloads.  

    If having such a generic mechanism available is something they are working on, then letting iOS devices make use of it does make a lot of sense.  And a headless compute device could run iOS instead of (or in addition to) macOS, especially if it can run workloads from either platform.  The result could be standalone devices (e.g. a Mac mini without anything connected except power and possibly Ethernet), or add-in boards for a Mac Pro chassis (e.g. M2 PCI-E cards).  Such a technology would be hard to make use of transparently and would require developer support in their applications... either directly or via APIs they are already using (e.g. the ML libraries Apple introduced in the past few years).  

    Distributed computing has become much more feasible in the past decade or so because of the speed and ubiquity of networks and interconnects, and the existence of heavy compute workloads.  And if more small wearable devices (e.g. AR glasses) are on the way but keep their compute capability to a minimum for size/weight/battery reasons, then having a compute device to support them could make sense (e.g. much like a phone does for the watch but without the power draining display which might be redundant due to the other wearable(s)).

    Plenty of room for speculation.   :smile: 

    roundaboutnow9secondkox2FileMakerFellerelijahg
  • Future Mac Pro may use Apple Silicon & PCI-E GPUs in parallel

    The original post and none of the subsequent posts mention what is almost certainly the biggest stumbling block to supporting non-Apple GPU hardware:  drivers.

    Drivers have always been the biggest issue with Apple GPU support, and it has always been a hot potato tossed back and forth between Apple's OS group and the 3rd party HW vendor (including Intel for the integrated GPUs).  GPU drivers are terribly complex things, and Apple can't/doesn't use the drivers written by AMD/Intel/nVidia... and those vendors aren't likely to put much effort into writing drivers for macOS even if Apple were to start shipping their GPUs in Apple products.  They never did before, the market is too small.  So will Apple write drivers for any 3rd party devices?  Their current direction suggests that the answer is a resounding "no", but that's not definitive and could change.  They still have drivers that work on the Intel chip based Macs, and porting to Aarch64 may not be terribly difficult.  Keeping up with the moving target that is the latest AMD GPUs though, is a lot of work.  On top of supporting Apple's own GPU designs.  

    The Apple Silicon hardware is almost certainly hardware compatible with most GPUs from other vendors, thanks to PCI-e / Thunderbolt being standardized in its various flavours.  So you can physical install any of the devices, but you need drivers to make it interoperate with macOS and macOS needs to continue to expose the functionality required to do that (which conceivably it may not on Apple Silicon since the macOS team may be taking advantage of detailed knowledge of the hardware).

    tenthousandthingsthtdanoxmark fearingroundaboutnowkeithw
  • New Mac Pro may not support PCI-E GPUs

    I haven't seen it mentioned here that there is a fundamental architectural difference between the Apple Silicon GPU and pretty much every other GPU architecture (except Imagination/PowerVR):  it is a tile-based architecture.  If you look at the Metal programming manual, there are numerous differences in how the two types of architectures need to be dealt with by the application.  Those differences will be even more severe at the OS/driver level.  Apple is quite aggressive at dropping old hardware in order to reduce their software burden (given, as mentioned above, software lifecycles are actually longer than hardware delivery cycles), and I would imagine they want to get to a place where (in Metal 4 or 5) they can completely focus on their hardware's tile-based architecture, and not have to accommodate AMD/nVidia designs.  Same applies to the rumoured "ray tracing" support -- they'll want to do it their way, and will ship it once they get the design working (maybe M3, as clearly missed the shipping schedule in 2022).

    The problem, of course, is that most of their market is in mobile devices and consumer computers.  So scaling to the workstation level is going to take a back seat, or at least have to make do with however well it scales.  In the M1 generation, if obviously didn't scale well enough to ship a Mac Pro.  Enough time has passed now that the market pressure for a Mac Pro means they're going to have to give it a go on the M2.  It is unlikely to live up to everyone's expectations.

    As others have observed above, I expect to see PCIe slots in the Mac Pro.  The Apple Silicon supports it for Thunderbolt 4.  What kinds of devices it can support will depend on which version they implement, how much power delivery they provide, and (most importantly) the device drivers.  Due to the architectural differences described above, I am not expecting to see GPUs from other vendors supported as display devices.  The market to use GPU cards as non-display devices (e.g. ML or other compute acceleration) is small and not interesting for Apple nor nVidia to support, so I doubt anyone will do the necessary driver development... but the hardware ought to function, so conceivably someone could do an open source driver (for non-display uses).  That's very niche though, so not holding my breath except as a cool demo.  Other kinds of PCIe cards will mostly be up to the card vendors to supply drivers for, and that will be similar to past Mac Pro support levels (porting those to Apple Silicon shouldn't be too painful for the devs).

    Memory expandability is another tricky issue.  While the chips they're embedding in their M1/M2 packaging are standard memory chips, they've not had to deal with the challenges of longer traces that go out to the motherboard and to DIMMs of varying quality.  So I'm doubtful they will switch to motherboard-based DIMMs in the Mac Pro.  Other strategies to get to large memory sizes are possible, particularly with OS support, but my guess is that they'll just live with whatever their M2 Ultra can manage -- not likely to exceed 128GB.  A PCIe RAM board as VM swap store, with minimal software support required, could offer an option to users who need huge memory footprints, but there is obviously an efficiency loss there.  Without a more sophisticated chip interconnect though, there aren't really many options open to Apple Silicon (yet)...

    The Ultra's edge interconnect allowed 2 M1 Max chips to connect.  Scaling that to more than 2 chips is non-trivial because high performance interconnects like that are very very sensitive to trace lengths, cross-talk noise between wires, etc.  Who knows what they've done in terms of the protocol across this interconnect though, their approach may support a different hardware implementation that could handle an interposer or perhaps 2 edges on a single chip.  Chip edge real estate is precious though -- you only get 4 of edges, and in the M1/M2 two of those edges are very busy providing the memory and I/O connections.  So perhaps they could have connectors on either end and go to 3 chips?  Or accept the inevitable latencies involved in an interposer/switch of some kind (not to mention how hard it is to build such a thing) and enable going to more "chiplets" including 3D stacking options?  Cramming all this physically in the same package gets tough and the manufacturing tech for doing this is still really expensive, so is Apple going to try and pioneer such a thing only for a very high end low volume product like the Mac Pro?  I'm doubtful they will at this stage... right now I think they need to get a low-risk Apple Silicon Mac Pro into the market with as much expandability as they can manage right now.  That won't be enough for everyone (nothing ever is), but it'll satisfy some of the market.  Going forward, this sort of chiplet-based fabric approach will become more mainstream and will make more sense for Apple to adopt across more of its product line, and that may give them better scaling opportunities at the Mac Pro end of the product line.

    So I think that, while the upcoming Mac Pro may not hit all the check boxes you'd like, that doesn't mean it is doomed going forward, and doesn't mean it won't find a worthwhile enough market.  Apple went through the 2013 Mac Pro fiasco, so they're aware of what the Mac Pro demand really is, they just may not be able to fully achieve it on this iteration.  They're late on their "two years to all Apple Silicon" promise (partly blamed on the pandemic), so no doubt they want to get something out there so they can stop supporting Intel chips ASAP.  

    cgWerkstenthousandthingsfastasleep