AMD Vega Hardware Reviews

It never was a bad idea, but with new GPUs every single year and performance increasing by leaps and bounds, why bother with the hassle? Promote everything to FP32 and move on to the next task. But now that the performance gains have slowed down and we can't just throw more joules at the problem, suddenly everyone has to start thinking about efficiency again.
Also, lets not forget that mobile gaming, whether on phones/tablets or laptops not necessarily plugged in, or as it grows in volume the Switch is ever increasing its share of rendered pixels. And, as pointed out, performance per Watt aren't making fantastic strides anywhere.
Ivory tower attitudes are cute, but they don't solve the problems. We are talking about games and not life-support systems. Small errors just don't matter.
 
I find the idea that FP16 is good enough for pixel shaders and compute shaders rather funny. Developers need to consider what shader is actually doing and in general only parts of the shader will be run in FP16. That's why yes vertex shaders always required at least FP32, and pixel shaders were FP24+. Calculating texture addresses for example simply won't be accurate in FP16 for textures larger then 2048. And even in graphics you can't just say "well the color will be slightly off", you could sample a wrong part of the texture for example.
So just as in DX9 there was an option for developers to use half data type within shaders this option is back with DX11.1. And now there's PC GPU hardware support coming back. But there is nothing stopping hardware from simply promoting FP16 to FP32.
I agree that pure FP16 isn't good enough for most pixel/compute shaders. It is however enough for simple image processing shaders (such as blur kernels). But these shaders are generally bandwidth bound, so 2x ALU rate doesn't speed them up at all (but fp16 still saves power). Mixed FP16 & FP32 is the main use case, but it requires lots of knowledge and effort to pull off. You need to know your numeric ranges and FP specifics to understand the problem cases. And you need to avoid FP16<->FP32 conversions at any cost (conversion = ALU cost and temp register bloat). This is especially tricky to get right in HLSL, because HLSL doesn't support 16 bit constant buffer values and doesn't support 16 bit groupshared memory types. There are hacks around these limitations however, but writing good cross-platform 16 bit code in HLSL just isn't possible at the moment. Hopefully SM 6.1 fixes these issues. Vulkan has vendor extensions to fix these issues, but no generic solution either.
 
I would not be surprised if there was a mixed precision showcase game presented at Siggraph.
 
Regardless, I don't think it's all the rage at all. Not in the PC gaming space, at least. Even in the console world, the fact that Scorpio doesn't have it may be a significant blow to its adoption.
Has MS actually confirmed this, or is it just assumption at this point?
 
Why would Unreal Engine to postpone use of FP16 when competitors like Id are embracing FP16 in their next gen engines.

To downplay Vega's 2*FP16 throughput advantage over Pascal cards. Because Epic favors one IHV over another, which is pretty much a historical fact at this point. Tim Sweeney himself is pretty straightforward regarding this issue.
As soon as Volta (or whatever comes after it) brings 2*FP16 throughput, it'll appear on Unreal Engine. Just not even a second before that.



I find the idea that FP16 is good enough for pixel shaders and compute shaders rather funny. Developers need to consider what shader is actually doing and in general only parts of the shader will be run in FP16. That's why yes vertex shaders always required at least FP32, and pixel shaders were FP24+. Calculating texture addresses for example simply won't be accurate in FP16 for textures larger then 2048. And even in graphics you can't just say "well the color will be slightly off", you could sample a wrong part of the texture for example.
So just as in DX9 there was an option for developers to use half data type within shaders this option is back with DX11.1. And now there's PC GPU hardware support coming back. But there is nothing stopping hardware from simply promoting FP16 to FP32.
Can you point to a post - just one post - in this forum that suggest FP16 alone is good enough for pixel shaders?
 
To downplay Vega's 2*FP16 throughput advantage over Pascal cards. Because Epic favors one IHV over another, which is pretty much a historical fact at this point. Tim Sweeney himself is pretty straightforward regarding this issue.
As soon as Volta (or whatever comes after it) brings 2*FP16 throughput, it'll appear on Unreal Engine. Just not even a second before that.
I hardly consider that a reason to postpone introduction of FP16. Also considering Pascal is for all intents "last gen", I'd assume they will consider FP16 development now for inclusion in future games. Frankly I don't see any frantic development efforts beyond Volta which to me indicates Nvidia already has something in mind (who knows maybe something to do with tensor cores).
 
I hardly consider that a reason to postpone introduction of FP16. Also considering Pascal is for all intents "last gen", I'd assume they will consider FP16 development now for inclusion in future games. Frankly I don't see any frantic development efforts beyond Volta which to me indicates Nvidia already has something in mind (who knows maybe something to do with tensor cores).
Considering there is zero support currently for FP16*2 beyond Vega and no indication that the gaming development community is moving that direction for certain workloads (no console support), that Volta consumer versions would have been designed 2+ years ago, and the usual product segmentation that Nvidia pursue, there's a very good chance there will be no support for it in GV104 and lower.

AMD added it to Vega to try and make a one-size-fits-all GPU (I assume) because they don't have the resources for a product stack like Nvidia, so they're addressing the professional market for deep learning and gaming at the same time. From what we've seen so far, that decision has come with some serious drawbacks in size and power.
 
But vertex shaders always needed to be FP32 IIRC.
Not necessarily depending on what was being rendered. Early culling passes that don't reuse the results could probably get away with FP16. Along with normals for the same purpose.

Particles where accuracy may be less of an issue.

Tessellation, with hair specifically, was demoed at the first(?) Capsaicin event with FP16 doubling hair rendering. TressFX 4.0 just hit GPUOpen a few days ago. So as @CarstenS mentioned, a demo seems rather likely. Hair especially is often limited to one character so it could be a significant addition. Not difficult to cripple framerates there. Even cloth physics could probably use it.

Has MS actually confirmed this, or is it just assumption at this point?
I believe it's an assumption. Possibly not exposed for backwards compatibility, but randomly appears following a future software/hardware release.

Considering there is zero support currently for FP16*2 beyond Vega and no indication that the gaming development community is moving that direction for certain workloads (no console support), that Volta consumer versions would have been designed 2+ years ago, and the usual product segmentation that Nvidia pursue, there's a very good chance there will be no support for it in GV104 and lower.
That was my thinking as well. We'd have seen a larger dev push otherwise as it would provide Nvidia with a means to encourage upgrades. Not to mention all the people pushing FP16 as exclusive to compute.
 
Kyle from HOCP has the RX Vega, reviews should appear at the end of the month.

https://hardforum.com/threads/vega-rumors.1933112/page-65#post-1043126932
img_20170722_175313-jpg.31498
 
Last edited:
Considering there is zero support currently for FP16*2 beyond Vega and no indication that the gaming development community is moving that direction for certain workloads (no console support)

PS4 Pro and Nintendo Switch both have FP16*2 throughput-per-ALU. There are reports of developers having used FP16 operations on the PS4 Pro already, such as VooFoo in Mantis Burn Racing and DICE in Frostbite 3 for both Battlefield 1 and ME: Andromeda. And these are games that released their Pro versions at the same time as the console released.
I have zero doubts that the ICE team has been developing and spreading FP16-friendly shader examples to all 1st and 2nd party developers of PS4 games.
 
So, Kyle will be showing a video for a blind test with RX Vega/FreeSync and the 1080Ti/GSync in his own house, AMD requested he does it with 1080, but he chose 1080Ti. He received the sample from ASUS, did the test then returned it, it was an engineering sample representative of the final RX Vega.
https://hardforum.com/threads/amd-r...i-g-sync-coming-soon.1940447/#post-1043127153

Seems odd. Unless it's priced the same as the Ti, I don't know why you'd compare that way. I suppose the thought is best on best (aligning flops?), but really it comes down to price brackets.
 
Back
Top