AMD Could Do DLSS Alternative with Radeon VII through DirectML API
There is an interesting development, as you know the GeForce RTX graphics cards have tensor cores, dedicated cores for optimizing and accelerating anything AI and Deep Learning. A spawn from that technology for gaming is DLSS, which NVIDIA is marketing strongly. With the October 2018 update for Windows 10, Microsoft has released the DirectML API for DirectX 12.
ML stands for Machine Learning - and makes it possible to run trained neural networks on any DX12 graphics card. Basically, the Deep Learning optimization or algorithm if you will, becomes a shader that can be run over the traditional shader engine, without a need for tensor cores. In an interview with AMD they mention that the team is working on this and it seems, Radeon VII seems very well suited for the new API. Japanese website 4gamer.net spoke with AMD marketing manager Adam Kozak, AMD is currently testing DirectML with Radeon VII and was positively impressed by the results, and that is exciting news for AMD offering them an AI/DL alternative.
While AMD is testing this on Radeon VII, logic obviously dictates that it would work well on Radeon RX Vega 64 and Radeon RX Vega 56 as well. This allows, for example, an alternative implementation to Nvidia's DLSS.
Only 1+1=2
Of course, should this become an actual supported thing, then it can't be addressed AMD alone, this question remains: will game developers actually implement, experiment and integrate support for DX ML into games?
It also has to be said, it works reversed, DirectML could also make use of Nvidia's Tensor cores, certainly giving them an advantage. As the Radeon card would see a performance hit, whereas the RTX cards can simply offload the algorithm towards its Tensor cores. Time will tell, but this certainly is an interesting development as long as your graphics card is powerful enough, of course.
AMD Could take Back 30% of the Processor Market - 09/26/2018 07:55 AM
Good times for AMD. Intel is under a lot of scrutinies lately, scandals with their top-tier staff, issues with 14nm production, delays at 10nm and vulnerabilities are only a few of them. Meanwhile...
AMD Could Potentially Get 19B investment - 02/11/2015 10:48 AM
More news from AMD today as it seems the company might get a nice cash injection. Loongson Technology, a CPU joint venture between Beijing-based chip designer BLX IC Design Corp, the Chinese Academy ...
AMD could be restructuring once more - 10/06/2014 10:04 AM
BSN reported earlier that AMD might be preparing one more round of restructuring, a pretty significant one as well. The reorganization would be announced later this month. Sources claim the restruct...
AMD could ship 28nm GPUs in December - 10/18/2011 10:45 AM
We can confirm this rumor as AMD has been 'carefully' talking about it. AMD might still be planning to introduce some 28nm GPUs in the second week of December. It's expected that these chips will be ...
AMD could ship 8 million Llano APUs this year - 08/05/2011 10:22 AM
AMD is doing well with Llano alright, Sources at motherboard makers told DigiTimes that AMD shipped about 1 million Llano APUs in June and 1.3-1.5 million units in July. Total shipments for 2011 are e...
Senior Member
Posts: 11808
Joined: 2012-07-20
Is it possible by MS DXR to assign 1 GPU for Ray-tracing calculation while primary GPU handles the gaming? like PhysX in the old days?
Asking if MS DXR API can support this task .
So in future you can get GPU like Vega64/1080TI and you add RX 580 for ray-tracing to reduce the performance impact?
Not with Fake raytracing which is shader based. Real raytracing done purely through compute, easy.
But those pixels which are to be raytraced are part of scene, not some special list.
But SLi/CFX will work. Thing is that with this "hybrid raytracing" all cards need same scene and data used. Which may show some memory restrictions effects. (And card to card data transfer limitations.)
@dr_rus : Thing here is that while Tensor cores are not part of shaders, RT is. Therefore offloading task to another GPU would help.
Senior Member
Posts: 3529
Joined: 2007-04-17
OK, so Lets say 2080TI+2080TI For 4K High FPS gaming if you just won the lottery

Just asking from the Code perspective, to see if in future we gonna be back to multi-GPU rigs.
It's a lot easier to parallelize raytraycing than rasterization so the more raytraycing a game will use - the higher capacity it will have to utilize several GPUs.
@dr_rus : Thing here is that while Tensor cores are not part of shaders, RT is. Therefore offloading task to another GPU would help.
Not sure what you mean by "shaders". Both RT and tensors are used through shaders.
Senior Member
Posts: 11808
Joined: 2012-07-20
It's a lot easier to parallelize raytraycing than rasterization so the more raytraycing a game will use - the higher capacity it will have to utilize several GPUs.
Not sure what you mean by "shaders". Both RT and tensors are used through shaders.
Tensors are additional and separate transistors outside shaders => shader code and tensor code can be executed simultaneously. RT is part of shader units and can't be executed at same time.
Secondly, dx-r is not true raytracing, it is just more advanced shader code.
Senior Member
Posts: 3529
Joined: 2007-04-17
Both RT cores and tensor cores are present inside the same streaming multiprocessor as main SPs/SIMDs (you really shouldn't call them "shaders") and all three are built from separate transistors. Theoretically all three units should be able to run in parallel but on Turing this is limited (by available intra-SM bandwidth and data paths most likely) in such a way that RT and SIMDs can run in parallel but tensors and SIMDs can't (hence this frame graph).
Shader code is any code and any code can be whatever "true" or not raytracing code too. DXR can be used for full path tracing (which is what I assume you mean by "true raytracing") just as well as some hybrid raster+RT solutions (like that of BFV) - it all depends on the code. DXR has no limitations here.
Senior Member
Posts: 14091
Joined: 2004-05-16
Is it possible by MS DXR to assign 1 GPU for Ray-tracing calculation while primary GPU handles the gaming? like PhysX in the old days?
Asking if MS DXR API can support this task .
So in future you can get GPU like Vega64/1080TI and you add RX 580 for ray-tracing to reduce the performance impact?
You'd lose BVH performance as it shares some data with raster, so you'd either need to redo everything on 2nd GPU or copy that data (essentially start RT later in the frame) but y ou'd gain some trace performance (you start later but the actual cost of RT in terms of total time is less).
If you have an entirely raytraced scene you'd probably see some benefit as the time to frameout is entirely dependent on the ray calcs and less-so on BVH but as it currently stands it seems like BVH generation takes some significant portion of time (a lot of DICE's optimizations focused on simplifying the BVH and starting it earlier).
I think it would be a lot of work from a development standpoint for relatively little gain in performance on current workloads. I also agree with dr_rus that you wouldn't see much on a 580 as the time to sync the data outweighs any performance advantage you'd see in RT calc with that card.