Welcome to our community

Be a part of something great, join today!

  • Hey all, just changed over the backend after 15 years I figured time to give it a bit of an update, its probably gonna be a bit weird for most of you and i am sure there is a few bugs to work out but it should kinda work the same as before... hopefully :)

OS X "El Capitan" with METAL. What does it mean for us Apple Post Production people?

Sergio Perez

Well-known member
Joined
Aug 28, 2007
Messages
2,571
Reaction score
16
Points
38
Location
Macau
OS X "El Capitan" with METAL. What does it mean for us Apple Post Production people?

https://www.apple.com/pr/library/20...-Refined-Experience-Improved-Performance.html

I'm not an expert in this, so I would really like to know what this means, in layman terms, for all of us working on macs? Are we going to see dramatic improvements vs what we have now in our current Macs, or will we have to wait for future hardware to take full advantage of it? Jeff? Bruce? :)
 
Metal isn't just for iOS anymore. Game developers will be able to tap into future Macs' GPUs (finally takes advantage of the closed nature of Apples hardware.).
Apple says the graphics-core tech will speed graphics rendering by up to 50 percent when El Capitan is released to the public this fall
 
OpenGL has to work across disperate hardware designs. There are considerable overheads in the interface between CPU that take more time to setup and translate into parallelised commands for the GPU hardware.

Metal has less overheads, and uses less electrical power - with commands very close to the GPU functionality used in Apples 'A' chips.

Inside the Apple software development system (Xcode), there are libraries of functionality (frameworks) that make developers lives simpler.

The metal framework was getting phones & tablets software written for it ... but with no Metal framework on the OS X .... game writers were having to write and test another tranche of code just for OS X.

The OS X GPU has a different architecture to the Apple 'A' chips - but it seems that even with that difference, the overheads are still lower than OpenGL.

If this change causes a 50% speed up - that would equivalent to jumping forward at least 2 generations of Intel CPU.

AJ
 
Last edited:
I think Apple development Eco system is getting stronger.

Apples yearly developer costs have also halved overnight if developing for iOS and OSX ... As one account will now allow you to develops for ALL target systems (inc WATCHOs).

+) Apples SWIFT language will slowly make it way into Apples own 'frameworks'
+) The 'human readable' language is 'almost as fast as objective C' ...accept in FFTs and few other science related cases.
+) Apple's SWIFT2 is is now being rolled out to address this weakness (and extend other requested functionality)
+) Aplple have open sourced their compiler for the language.
+) Apple are supporting SWIFT on LINUX.

With XCode + SWIFT + Metal pushing forward .... I wonder how long it will be before Apple will need X86 compatibility?

As Apple frameworks become more integrated - I wonder if 3rd party software writers will contemplate rewriting their software?

48 core ARM chips already exist on 28nm. (there's even a 64 ARM core chip being developed in China, and another in Korea!)

When Apple hit 10nm ... will their expertise include GPU design .. to create one all-you-need SoC.

Exiting times.

AJ
 
Last edited:
When the Mac Pro came out, it seemed like Apple was going to support OpenCL on it really well.

Apple were involved in OpenCL from the beginning and they now had this nice workstation with dual GPUs.

That did not happen.

Apple's OpenCL support is so bad that a bunch of VFX software developers have written an open letter in protest:
http://www.cgchannel.com/2015/05/open-source-3d-devs-criticise-apples-opencl-support/

I think that Metal is more about allowing Apple to write code that runs on both iPhones and OSX. And also competing with what DirectX 12 and Vulkan offer (eg closer access with less draw call overhead).

Think FCP X for iPhone or on a lightweight ARM laptop, doing 4K editing acceptably.

So it's great for folks running light tasks eg video editing but for real heavy lifting stuff - GPU rendering, etc - I'm skeptical that Apple really has much interest.

Personally, I am going PC since the apps I use run so much better on it. A $9000 Mac Pro can be thoroughly outperformed by a $4000 PC. It's pretty sad.

Bruce Allen
www.boacinema.com
 
Metal is basically an abstraction layer between developers and the GPU. It probably sits on top of OpenGL. It will allow engineers to develop against the GPU without having to know the specifics between each GPU model (nVidia, AMD, etc) and any given computer.
 
Metal is basically an abstraction layer between developers and the GPU. It probably sits on top of OpenGL. It will allow engineers to develop against the GPU without having to know the specifics between each GPU model (nVidia, AMD, etc) and any given computer.

So basically it means that less knowledgeable engineers can push the gpu and cpu together more easily, and that it can be done faster and without so much ressources wasted in optimizaton? Basically having the same impact as "game engines" like Unreal and others, for game companies?
 
Yes, Metal on OS X will be great. Metal is a low layer direct to hardware API - it doesn't sit on top of open GL, it "replaces" it's use altogether.

Apple stated in their Keynote that they are moving all OS subsystems to use metal for rendering instead of Open GL. OS X has used open GL for all of its window rendering since the start, and has used it for animation stuff in 3rd party apps since core image first came out (aperture v1 days).

This means photos, Final cut, Motion, Pixelmator, etc. Will all benefit. The benefit is less CPU interaction "prepping" instructions for the GPU. New hardware won't be needed.

Adobe's already stated that After Effects is rendering significantly faster not relying on the overhead of openGL (8x in one of their statements). I wouldn't expect 8x speed improvements though in all "render" operations... However, Apple's Motion should see a LARGE benefit, and in turn, FCP's rendering overhead will go down for titling and effects.
 
Will this automatically have an effect on every application, including third party, in the Mac ecosystem? Or do developers have to write code specifically for this? Also, will this have any effect on playback? R3D decoding is heavily GPU dependent, correct? I would be very excited if this means we are also going to see a noticeable boost in R3D playback speed!
 
Ah, so Metal is just opening up the hardware capabilities like a PC does? Never really understand why people keep trying to get their Mac to do pure horsepower-heavy tasks.
I like Apple, my Macbook and Iphone and this is good and all, but it's not really close to what I get out of my PC desktop workstation.
 
With Intel chips increasing CPU performance about 10% a year - software writers need to switch to the massively parallel GPU systems to do heavy lifting. But writing code in OpenGL and thinking in a Parallel way is a bit more tricky.

Using OpenGL to address multiple GPUs has also been tricky. Apple have only Just started rolling out dual GPU code (for FCP X).

If Apple feels they will be able to more easily rewrite core OS X functionality in Metal (vs OpenGL) - this would mean an initial Jump in performance - and then speed improvements that are also tied to GPU performance increases.

Nvidia believe the base speed-up for the PASCAL GP100 will be between 3 and 10 times. (16nm Finfet)
When AMD are due to release there 2nd gen Hybrid Mem Cube Mid 2016 (1st gen in the next fortnight) they to are expected to have a similarly jump in performance vs today's technology.

I am therefore going to guess that:
1) OS X (with Metal) may be more efficient on the same Hardware vs Windows.
2) At the end of 2016 - the OS that can better leverage GPUs and help developers integrate GPUs will be the 'top dog'

I will also wonder if Intel will panic .... and think that a 10% increase in performance for Xeon will look poor vs what Qualcomm are rolling out :)

AJ
 
Will this automatically have an effect on every application, including third party, in the Mac ecosystem? Or do developers have to write code specifically for this?

Developers will have to rewrite their code/applications to take advantage of Metal. It won't "automatically" improve applications that haven't been optimized for Metal.

No free lunch here.
 
I am therefore going to guess that:
1) OS X (with Metal) may be more efficient on the same Hardware vs Windows.

Windows has DirectX 12 which does the same thing. And Vulkan, the OpenGL equivalent of Metal. Linux will support Vulkan too.

2) At the end of 2016 - the OS that can better leverage GPUs and help developers integrate GPUs will be the 'top dog'

Linux and Windows have the advantage there because you can put more than 2 GPUs in the computer and have them fed via a high speed bus.

It does seem that what Apple has done is create a non-standard equivalent that is a pain for coders to write for unless they write iOS apps too.

It would have been so much better for high-end desktop users if Apple just supported Vulkan and also made their OpenCL implementation work.

But again, they want to sell iPads and little iOS computers.

Bruce Allen
www.boacinema.com
 
When the Mac Pro came out, it seemed like Apple was going to support OpenCL on it really well.

Apple were involved in OpenCL from the beginning and they now had this nice workstation with dual GPUs.

That did not happen.

Apple's OpenCL support is so bad that a bunch of VFX software developers have written an open letter in protest:

I'm not sure what Apple is playing at here. They're shooting themselves in the foot. The hardware isn't the problem, it's their software. Apple software has taken a sharp nose-dive over the past couple years. FCP X is actually making some strides forward, finally, but everything else needs some help. Their OpenCL support is truly laughable and it's not entirely their fault. AMD/ATI has been in charge of OpenCL and OpenGL implementation and optimization on Apple's systems for the past nearly 2 years as part of an agreement to standardize on their GPU hardware. They are totally dropping the ball here. Then again, ATI software and drivers always sucks, even on the PC. It never lets the hardware live up to its abilities. But this is just sad on OS X.

Personally, I am going PC since the apps I use run so much better on it. A $9000 Mac Pro can be thoroughly outperformed by a $4000 PC. It's pretty sad.

I think this is a generally crappy statement and not fair or accurate. With the current state of Apple OpenGL and OpenCL aside, the cost of a name-brand PC workstation with equivalent Xeon CPU and PCIe storage, is pretty similar. Where the Mac Pro falls short is that it has no PCIe expansion or ability to host more than one CPU. I would also contest that a $4K PC isn't going to thoroughly outperform a $9K Mac Pro. Or at least not within applications that are respectively suited to the hardware under consideration. And to get that kick-ass PC for $4K or with that much pricing disparity between it and the Mac, you're going to need to assemble it yourself, making tweaks that no PC vendor would do and stamp a warranty on. By the same logic, a $4K PC is going to outperform that $9K HP workstation just the same....

For as awesome as my latest X99 build is, it still cost quite a bit more than $4K and in apps like Resolve, my 10-core Mac Pro (self upgrade from 4-core) pretty well matches step with it. Actually handles better at some points. I'm about to add another Titan X card into the PC though. Will probably be doing that here in a few minutes. :)

For CG related apps that really try to utilize GPU hardware, the Mac Pro and other Apple systems are obviously going to fall short in comparison to a PC with the latest and greatest Titan X or other GPUs installed. Same goes for the latest and greatest systems from HP or similar. At least with those workstations we can buy sans GPU and install our own though.

Metal is basically an abstraction layer between developers and the GPU. It probably sits on top of OpenGL. It will allow engineers to develop against the GPU without having to know the specifics between each GPU model (nVidia, AMD, etc) and any given computer.

The Metal API is to OS X, what DirectX is to Windows. It gives application developers a more direct route of access to GPU hardware that is actually quite a bit more efficient than OpenGL. It does not sit atop of OpenGL, it co-exists with it, but as I said, is more direct and efficient. While Metal was released on iOS first, it's not directly bearing on mobile app development or a movement of desktop apps to mobile space as some are suggesting. The OS X incarnation of Metal is quite a bit more capable than the iOS API. IMO, this is a great addition to the developer tools available for OS X and really opens up a similar opportunity for the Apple ecosystem that developers have enjoyed on Windows with DirectX for several years.
 
This drives me crazy, why not fully support OpenCL 2.1. I'm a mac guy, i normally do everything on my two mac pro's and one MacBook Pro ... but i've been forced to go dual path (going the z840 on servers and MSI gt80's that have dual gtx 970m for laptops). I really like programming OpenCL, just is a great concept, with apple taking forever to upgrade gpu's and now doing this ... I'll start moving my OpenCL development over to windows(just bums me out, since i prefer developing in the apple Xcode environment). I need to learn a apple version of directx like i need to gain more weight.
 
AMD might have agreed a bargain basement price for the MacPro GPU cards with Apple. Their punt, that with Apples weight behind the Mac Pro, CUDA only software houses would roll out to efficient OpenGL / OpenCL versions and enable AMD to compete with NVidia was largely successful.

I wonder if AMD felt it would made more 'cents if it concentrated on keeping its head above water - for now.
With AMD cards being included in the MacPro regardless if they (AMD/ATI) work on OpenCL 2.0 (or 2.1) - maybe they lack financial incentive to develop.

On the Apple front - perhaps they would prefer that OpenCL 2.x is available across several machines types before they announce it.
https://support.apple.com/en-gb/HT202823

Perhaps they are keeping OpenCL 2.x back for the Next Mac Pro?

Metal : I don't believe that OS X's use of Metal preclude other non-metal APIs from also being used.

If the Anandtech hints have substance - Apple are likely GPUifying low level OS X for speed, and they evidently feel that Metal outperformed OpenCL. Thiey might have even used concepts from OpenCL and / or undocumented OSX Metal functions - I doubt only Apple will ever know.

AJ
 
Back
Top