By using this site, you agree to our Privacy Policy and our Terms of Use. Close

The new Digital Foundry aticle revel new info about the PS4 GPU.

http://www.eurogamer.net/articles/digitalfoundry-inside-playstation-4

What was intriguing was new data on how the PlayStation 4's 18-compute-unit AMD graphics core is utilised. Norden talked about "extremely carefully balanced" Compute architecture that allows GPU processing for tasks that usually run on the CPU. Sometimes, employing the massive parallelisation of the graphics hardware better suits specific processing tasks.

"The point of Compute is to be able to take non-graphics code, run it on the GPU and get that data back," he said. "So DSP algorithms... post-processing, anything that's not necessarily graphics-based you can really accelerate with Compute. Compute also has access to the full amount of unified memory."

"The cool thing about Compute on PlayStation 4 is that it runs completely simultaneous with graphics," Norden enthused. "So traditionally with OpenCL or other languages you have to suspend graphics to get good Compute performance. On PS4 you don't, it runs simultaneous with graphics. We've architected the system to take full advantage of Compute at the same time as graphics because we know that everyone wants maximum graphics performance."

Leaked developer documentation suggests that 14 of the PS4's compute units are dedicated to rendering, with four allocated to Compute functions. The reveal of the hardware last month suggested otherwise, with all 18 operating in an apparently "unified" manner. However, running Compute and rendering simultaneously does suggest that each area has its own bespoke resources. It'll be interesting to see what solution Sony eventually takes here. 

I'm pretty sure the "Compute" talk is about the increase of the ACE (Automatic Computing Engine) from 2 to 8 in PS4 GPU (the same number to be used in the new GCN 2.0). That make the use of "Compute" nearly 100% efficient even running graphics tasks in parallel. There a increase in the Queue Pipeline from 2 to 8 (like the GCN 2.0 docs)... everything change to more efficient over the actual GCN.

I don't need to say this GPU is new and not only based in the actual GCN (HD 7000).

Low-level access and the "wrapper" graphics API

In terms of rendering, there was some interesting news. Norden pointed out one of the principal weaknesses of DirectX 11 and OpenGL - they need to service a vast array of different hardware. The advantage of PlayStation 4 is that it's a fixed hardware platform, meaning that the specifics of the tech can be addressed directly. (It's worth pointing out at this point that the next-gen Xbox has hardware-specific extensions on top of the standard DX11 API.)

"We can significantly enhance performance by bypassing a lot of the artificial DirectX limitations and bottlenecks that are imposed so DirectX can work across a wide range of hardware," he revealed.

The development environment is designed to be flexible enough to get code up and running quickly, but offering the option for the more adventurous developers to get more out of the platform. To that end, PlayStation 4 has two rendering APIs.

"One of them is the absolute low-level API, you're talking directly to the hardware. It's used to draw the static RAM buffers and feed them directly to the GPU," Norden shared. "It's much, much lower level than you're used to with DirectX or OpenGL but it's not quite at the driver level. It's very similar if you've programmed PS3 or PS Vita, very similar to those graphics libraries."

But on top of that Sony is also providing what it terms a "wrapper API" that more closely resembles the standard PC rendering APIs.

"The key is that it doesn't sacrifice the efficiency of the low-level API. It's actually a wrapper on top of the low-level API that does a lot of the mundane tasks that you don't want to have to do over and over."

The cool thing about the wrapper API is that while its task is to simplify development, Sony actually provides the source code for it so if there's anything that developers don't get on with, they can adapt it themselves to better suit their project.

PS4 didn't use OpenGL or DirectX... there are a close to metal API and another like the OpenGL... seems like the PS3 with the LibGMC (low level / close to metal) and PSGL (based in OpenGL, very similar).