Metal, OpenCL/GL & GPU vendors

Discussion in 'Mac Pro' started by stevedusa, Jun 8, 2015.

  1. stevedusa macrumors regular

    Joined:
    Jun 12, 2012
    #1
    Just watched WWDC 15. I was quite intrigued when they were talking about how Metal is going to be integrated in 10.11. Adobe claimed their CC product rendering performances had a 7x increase with Metal.

    With Apple going ATI as discrete gfx vender in their recent rigs, most noticeably the latest rMBP running R9 M370X instead of nVidia, I am start to think Apple has decided to deeply integrate Metal with OpenCL.

    Apple did not provide what current platform they were comparing to when they showed the performances improvement; nor did Adobe. All I saw was an Intel logo during the slideshow. Now if Apple is so good with their Metal, they can match an integrated GFX like Intel's IRIS Pro running Metal against top of the line discreet GFX used in the high end products, maybe hardware dependency is no longer a key factor.

    Majority of the developers going with Metal have graphic intense application out. It might take a while for the coders to fully adopt to the Metal API from other graphical API/engines. I don't know just how deep OpenCL/GL is part of the Metal but from the looks of it, especially the performances increase claim, I suspect it's very deep, beyond HAL deep.

    Looks like nVidia and CUDA might lost the fight against ATI with Apple. Then again if Metal is so efficient where raw hardware power isn't going to make a difference, I suppose nobody is safe here.

    Just my thoughts.
     
  2. ssls6 macrumors 6502a

    ssls6

    Joined:
    Feb 7, 2013
    #2
    Im also very curious. I would not say that metal makes "raw hardware" less important. I tend to think of it as Metal makes efficient use of "raw hardware". Something along the lines of DirectX. Of course I have no idea what I'm talking about.
     
  3. tomvos macrumors 6502

    tomvos

    Joined:
    Jul 7, 2005
    Location:
    In the Nexus.
    #3
    Hmm, too early to tell. ATI just folded their Mantle API a few month ago in favor of the Vulkan API. And OpenCL is not exactly a bit hit on the OSX platform. At least from my point of view, there are only very few select customers groups calling for higher OpenCL performance in real life.

    Nevertheless, things start to get interesting. There's Apple placing it's bet on Metal/OpenCL. nVidia favors DirectX/OpenGL/CUDA. And there's Steam, pushing Vulkan with their Steam boxes. I did not follow the android news lately, perhaps Google has added another candidate to the race?
    I hope, we see some real competion here.
     
  4. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #4
    No metal for pre-fermi for sure, Tesla (nvidia card architecture, no workstation cards) has no MTL drivers.
     
  5. stevedusa thread starter macrumors regular

    Joined:
    Jun 12, 2012
    #5
    Does that mean we are better off with ATI cards in the future?
     
  6. Demigod Mac macrumors 6502a

    Joined:
    Apr 25, 2008
    #6
    Looks like they would keep OpenGL around for legacy hardware but those won't be seeing the benefits of Metal.
     
  7. stevedusa thread starter macrumors regular

    Joined:
    Jun 12, 2012
    #8
    Thanks! It's great to hear from the expert on this subject matter.
     
  8. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #9
  9. deconstruct60, Jun 8, 2015
    Last edited: Jun 8, 2015

    deconstruct60 macrumors 604

    Joined:
    Mar 10, 2009
    #10
    AMD basically "gave" Mantle to Khronos (folks who do OpenGL/OpenCL) as the baseline to do Vulkan (glnext). They can take whatever they want, which pragmatically means chunks of Mantle will end up in Vulkan. The upside for Khronos is that starting from a mostly finished baseline will keep the standardization process focused and on tract much more easily ( There was a previous "rewrite OpenGL" effort that wandered into the swamp and got lost. )

    Apple is weaving OpenCL into the core libraries which means they will get used. Most customers and developers want a generally faster foundation. There is resistance to how much new code has to be written and/or how much that will detract from developers working on stuff above the basic app infrastructure.

    OS X isn't a big high performance computing platform for large data throughput, but in terms of bringing OpenCL to mainstream apps it is at the head of the pack. Apple could be doing more, but they are doing things in the areas were only Apple can get it done (e.g., in Apple's library code).


    If going with future versions of OpenGL then are going to be pushing Vulkan. The Vulkan and OpenCL use much of the same foundation for computational related aspects. SPIR-V ( http://www.anandtech.com/show/9038/next-generation-opengl-becomes-vulkan-additional-details-released )

    Not sure what are buying if support one and not the other. Nvidia has some proprietary lock in with CUDA but if the merge with the graphics stack is pulled off successfully with Vulkan/OpenCL then the "OpenCL has to lose for CUDA to win" tactic isn't going to work well. Nvidia will drag their feet and may try to blow up the merge but there are more players and money for the merge than against it. At best it will be a temporary stall. Worse case it puts them permanently in Apple's dog house.

    It remains to be seen if Metal is a long term divergent thing or aligns pretty closely with Vulkan/OpenCL.


    As for Android... It appears on the OpenCL and OpenGL ES lists of conformant products.

    https://www.khronos.org/conformance/adopters/conformant-products#opencl

    For a while Google tried to pursue something different for computation but they are swimming upstream against the rapids. If the underlying GPU hardware vendors ( minus solely Nvidia dragging it feet) are tracking Vulkan/OpenCL/SPIR then it is just kind of dumb to ignore that.
    Android has got Native versus Java stack issues to sort through too which muddles the pictures. Not sure if Android M helps to untangle that more.
     
  10. koyoot macrumors 601

    koyoot

    Joined:
    Jun 5, 2012
    #11
    Lets say that Metal is CUDA and DirectX 12 in one thing.

    That is the best definition of it.

    However, we still have to see how advanced it is...
     
  11. deconstruct60 macrumors 604

    Joined:
    Mar 10, 2009
    #12
    It is not.

    " The Metal framework supports GPU-accelerated advanced 3D graphics rendering and data-parallel computation workloads. ... A primary goal of Metal is to minimize the CPU overhead incurred by executing GPU workloads. ...
    ...
    ... describes how Metal shading language code can be represented in a Metal app, and how Metal shading language code is loaded onto and executed by the GPU. ..
    ...
    Data-Parallel Compute Processing: Compute Command Encoder explains how to perform data-parallel processing ..."
    https://developer.apple.com/library...ogrammingGuide/Introduction/Introduction.html

    The compute aspects of Metal are oriented toward shader computations. It is right there on the intro page.

    All highly parallel data computations are not graphics shader based. Shouldn't have to map your problem down into GPU memory segmentation terms (e.g. Textures ) to get the problem solved. OpenGL had some computational aspects too and that didn't make it OpenCL.

    Similarly Direct3D of DirectX 12 is not DirectX. DirectX is bigger and broader than what what Mantle or Metal covers.

    There are some overlaps in functionality, but that doesn't equate them.
     
  12. koyoot macrumors 601

    koyoot

    Joined:
    Jun 5, 2012
    #13
    Have you thought about the ideas only, or you jumped straight to simple definitions of both technologies? ;)

    I wasn't referring to strict definitions of both technologies, but simplyfied ideas: CUDA - Pro Apps, Direct X - Games. And that Metal will be used for both.
     
  13. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #14
  14. thefredelement macrumors 65816

    thefredelement

    Joined:
    Apr 10, 2012
    Location:
    New York
    #15
    My UI has never been this fast, using an MVC ATI 7970. Feels like a new Mac.
     
  15. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #16
    Actually mine has alway been pretty fast with the MVC 7970, only a couple of Yosemite issues. Now with OS X 10.11 it's feels turbocharged in most areas. So far only a couple of apps aren't running. Well, that's why I have multiple boot drives. It feels nice to have this responsiveness...
     
  16. thefredelement macrumors 65816

    thefredelement

    Joined:
    Apr 10, 2012
    Location:
    New York
    #17
    Your turbocharged sentiment is more accurate. I really was thinking it's time for a new Mac but now I'm going to get some Apple blades and throw them in.

    For the non initiated, is this responsiveness all Metal?
     
  17. koyoot macrumors 601

    koyoot

    Joined:
    Jun 5, 2012
    #18
    Yep, it looks like that is so.
     
  18. flehman macrumors regular

    flehman

    Joined:
    Feb 21, 2015
    #19
    As an end-user who doesn't follow and is not familiar with all the technical details of Mantle vs. Vulkan vs. Metal vs. OpenGL, etc. etc. and is just concerned about compatibility and performance in the upcoming world of El Capitan and Metal, can anyone address whether this should influence a GPU purchasing decision or choosing between AMD and nVidia cards going forward? Or is it too early to really "know" anything?
     
  19. Demigod Mac macrumors 6502a

    Joined:
    Apr 25, 2008
    #20
    Responsiveness like, less UI lag in general? Snow Leopard-like quickness sure would be nice.
     
  20. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #21
    Opening windows, launching apps. etc... Windows POP quickly onto the desktop faster than usual when clicked to open. It just gives the feel of tight code. Forgive if this makes no sense to you, my pain meds. just kicked in so I might sound a little loopy right now.
     
  21. deconstruct60, Jun 10, 2015
    Last edited: Jun 10, 2015

    deconstruct60 macrumors 604

    Joined:
    Mar 10, 2009
    #22
    It is a bit early, but based on the info leaked and exposed so far, Metal probably will have little to no compatibility impact on vast majority of Applications. The vast majority of Applications "talk" to Apple's Graphics library (their CoreGraphics, CoreAnimation, and Apple's OpenGL libraries). The Apple Graphics libraries (at least CoreGraphics and CoreAnimation) 'talks' to Metal. There may be new OS X apps that talk directly to Metal but you don't have any. So if it is an app compatibility concern there is no sign that is a major problem.

    ( Apps that "cheat" and use undocumented APIs and/or jumped into areas of the graphics stack that Apple told folks to stay out off ... those are at risk, but they always were at risk. Some of them are in trouble as much from the new security roles ( System Integrity Protection ) as with Metal. )

    What is approximately implied in post #7 above is that old ( > 3 years ago) GPUs and GPU cards are not a good match. Most folks want to buy newer at this point anyway. Existing apps will still run, they just won't get the higher speed ups ( but it is an older card so shouldn't have high expectations on that anyway. ) There were 3 GPU vendors for Mac before and there are 3 GPU vendors with Metal stacks now. Really no big change.

    It doesn't look like any one vendor is getting a dominate leg up here. Apple has always had an informal common interface they have wanted their GPU vendors to build low level drivers for. Apple built their part of the OpenGL stack on top of that (and kept that interface largely to themselves ). What may be happening here is Apple formalizing a new interface and allowing some apps to directly hook up to this future replacement ( or partial replacement).

    It would be nice if Apple would standardize on Vulkan. It would serve a similar role that OpenGL does of being able to port more apps onto the platform that use a multiple platform foundation. Apple doesn't completely control Vulkan though. Apple has enough clout right now that they can push the subset of vendors Apple works with into making Metal as multi-platform as Vulkan hopes to eventually be as long as stay inside the Apple vendor subset.

    In respect to performance, the different GPUs will perform differently. That will probably be more so be due to design choices inside the GPU design than something Metal tilts the playing field toward. I think Apple is going to get "good enough" performance out of Intel's designs in more cases ( so more embedded GPUs may get dropped in more models outside the Mac Pro class . ) If Nvidia goes through a long drought of design bake off losses they may quit. If they don't do Metal they are guaranteed losses.
     
  22. flehman macrumors regular

    flehman

    Joined:
    Feb 21, 2015
    #23
    So if I may make an attempt to restate this for my own understanding: in the short term, any newer video card will do fine with the newer software and in the long term who knows. Sounds pretty much like every new iteration of OS X. Second verse, same as the first...
     
  23. deconstruct60 macrumors 604

    Joined:
    Mar 10, 2009
    #24
    You are restating your own (or someone else's ) statement. They aren't mine. "newer software" isn't a constraint. Old stuff will run. It is software that breaks the rules that is in higher jeopardy. It was and still is easy enough to write software that compiles with Apple's Graphics API constraints without any direct calls to Metal or bypassing the API to muck with stuff that Apple says don't touch.

    Long term all the software and hardware you are using now will eventually be desupported by their vendors.

    The GPU vendor least aligned with the general direction Apple is going ( toward embedded GPUs) in the OS X space is Nvidia. They don't have an x86-GPU combo package. They have been slower to adopt the GPGPU standards that Apple is pursuing long term.
     
  24. flehman macrumors regular

    flehman

    Joined:
    Feb 21, 2015
    #25
    I'm sorry if I offended you or put words in your mouth. I am merely trying to understand what Metal means to me as an end-user. I was nervous that in the short term the arrival of El Capitan and Metal would make either AMD or nVidia cards more compatible or better performers. I've been gearing up for a new graphics card and do not want to go the wrong way since I will probably have it for 2 years. Thank you for the advice.
     

Share This Page