Jump to content

More info on AMD's Super Resolution: machine learning based?

igormp

Summary

A patent from 2019 by AMD detailing a little bit about their DLSS competitor was made public yesterday, and it does seem to use machine learning, just like DLSS does.

 

Quotes

Quote

[…]  A super resolution processing method is provided which improves processing performance. The method includes receiving an input image having a first resolution, generating linear down-sampled versions of the input image by down-sampling the input image via a linear upscaling network and generating non-linear down-sampled versions of the input image by down-sampling the input image via a non-linear upscaling network. The method also includes converting the down-sampled versions of the input image into pixels of an output image having a second resolution higher than the first resolution and providing the output image for display. […]

 

Image

 

My thoughts

Since that's somewhat old, we can't be sure that's the solution they'll be using in their final product. Nevertheless, it gives us an insight on what they were working, which is deep learning-based, just like DLSS.

I wonder how would that idea fare on a GPU without Tensor cores/Matrix cores (only available on instinct GPUs), and how bad it would be on a CPU. There's also no mention of how they'd deal with the temporal issues of supersampling, showing only the solution required for a single frame.

 

Sources

Patent

Images

Videocardz

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

I suspect they are going to continuously improve their implementation over time. So even if the launch version does not have machine learning AI as detailed in this patent, I bet it would come down the line as a way of improving the image quality further....

Link to comment
Share on other sites

Link to post
Share on other sites

I've heard some rumors say its already better than DLSS 1.0 or lower resolutions with AA (which it better be) as they are low bars
but also that its a lot easier to add in

Good luck, Have fun, Build PC, and have a last gen console for use once a year. I should answer most of the time between 9 to 3 PST

NightHawk 3.0: R7 5700x @, B550A vision D, H105, 2x32gb Oloy 3600, Sapphire RX 6700XT  Nitro+, Corsair RM750X, 500 gb 850 evo, 2tb rocket and 5tb Toshiba x300, 2x 6TB WD Black W10 all in a 750D airflow.
GF PC: (nighthawk 2.0): R7 2700x, B450m vision D, 4x8gb Geli 2933, Strix GTX970, CX650M RGB, Obsidian 350D

Skunkworks: R5 3500U, 16gb, 500gb Adata XPG 6000 lite, Vega 8. HP probook G455R G6 Ubuntu 20. LTS

Condor (MC server): 6600K, z170m plus, 16gb corsair vengeance LPX, samsung 750 evo, EVGA BR 450.

Spirt  (NAS) ASUS Z9PR-D12, 2x E5 2620V2, 8x4gb, 24 3tb HDD. F80 800gb cache, trueNAS, 2x12disk raid Z3 stripped

PSU Tier List      Motherboard Tier List     SSD Tier List     How to get PC parts cheap    HP probook 445R G6 review

 

"Stupidity is like trying to find a limit of a constant. You are never truly smart in something, just less stupid."

Camera Gear: X-S10, 16-80 F4, 60D, 24-105 F4, 50mm F1.4, Helios44-m, 2 Cos-11D lavs

Link to comment
Share on other sites

Link to post
Share on other sites

 

7 minutes ago, GDRRiley said:

I've heard some rumors say its already better than DLSS 1.0 or lower resolutions with AA (which it better be) as they are low bars
but also that its a lot easier to add in

Ya. The rumors I heard are that the image quality is better than DLSS 1.0... but that DLSS 2.0 quality mode still has an edge

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Humbug said:

I suspect they are going to continuously improve their implementation over time. So even if the launch version does not have machine learning AI as detailed in this patent, I bet it would come down the line as a way of improving the image quality further....

The problem is that they're really late to the game, so everyone expects something good given the time they had, which causes them to take even more time to refine what they have, and so on.

Even though DLSS 1.0 was kinda shit, it was the only thing available and had no competitors, so it could evolve freely only getting better against its previous versions, while AMD has to play catch up with what nvidia has, which gets even harder considering that their sw department is really lacking, and they have almost no R&D geared towards ML.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, GDRRiley said:

I've heard some rumors say its already better than DLSS 1.0 or lower resolutions with AA (which it better be) as they are low bars
but also that its a lot easier to add in

Don't trust rumors. Especially not one a# empty and unverifiable as that. Wait and judge it with your own eyes (or better yet, an objective measurement). 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, igormp said:

Since that's somewhat old, we can't be sure that's the solution they'll be using in their final product.

Do not assume that because a patent exists it will ever be used. Many companies will patent anything that is patentable as it might be worth something to someone else.

 

1 hour ago, LAwLz said:

Wait and judge it with your own eyes (or better yet, an objective measurement). 

Stick with using eyes for this type of comparison. What looks good or not is more complex than what objective measurements can reliably provide. It will likely be the case that people wont even agree on what looks best.

 

Earlier today I watched part of a video comparing Metro Exodus with it's recent Enhanced Edition, and the differences and tradeoffs between native rendering, DLSS 1, and DLSS 2 were interesting to say the least.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, porina said:

Stick with using eyes for this type of comparison. What looks good or not is more complex than what objective measurements can reliably provide. It will likely be the case that people wont even agree on what looks best.

Maybe in a blind test. I don't trust that people can be objective when doing these comparisons. I am fairly sure that in non-blindtests I already know which people will say AMD's implementation is superior to Nvidia regardless of how the image actually looks. 

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, porina said:

Stick with using eyes for this type of comparison. What looks good or not is more complex than what objective measurements can reliably provide. It will likely be the case that people wont even agree on what looks best.

 

Earlier today I watched part of a video comparing Metro Exodus with it's recent Enhanced Edition, and the differences and tradeoffs between native rendering, DLSS 1, and DLSS 2 were interesting to say the least.

I'd be curious to see this as a "blind" test like they recently did with DLSS. 

I'm not actually trying to be as grumpy as it seems.

I will find your mentions of Ikea or Gnome and I will /s post. 

Project Hot Box

CPU 13900k, Motherboard Gigabyte Aorus Elite AX, RAM CORSAIR Vengeance 4x16gb 5200 MHZ, GPU Zotac RTX 4090 Trinity OC, Case Fractal Pop Air XL, Storage Sabrent Rocket Q4 2tbCORSAIR Force Series MP510 1920GB NVMe, CORSAIR FORCE Series MP510 960GB NVMe, PSU CORSAIR HX1000i, Cooling Corsair XC8 CPU block, Bykski GPU block, 360mm and 280mm radiator, Displays Odyssey G9, LG 34UC98-W 34-Inch,Keyboard Mountain Everest Max, Mouse Mountain Makalu 67, Sound AT2035, Massdrop 6xx headphones, Go XLR 

Oppbevaring

CPU i9-9900k, Motherboard, ASUS Rog Maximus Code XI, RAM, 48GB Corsair Vengeance LPX 32GB 3200 mhz (2x16)+(2x8) GPUs Asus ROG Strix 2070 8gb, PNY 1080, Nvidia 1080, Case Mining Frame, 2x Storage Samsung 860 Evo 500 GB, PSU Corsair RM1000x and RM850x, Cooling Asus Rog Ryuo 240 with Noctua NF-12 fans

 

Why is the 5800x so hot?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, porina said:

Stick with using eyes for this type of comparison. What looks good or not is more complex than what objective measurements can reliably provide. It will likely be the case that people wont even agree on what looks best.

There are some objective measurements that are really good though. My favorite is VMAF, but other classical ones such as PSNR, SSIM and STRRED are good, specially when used together.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, igormp said:

There are some objective measurements that are really good though. My favorite is VMAF, but other classical ones such as PSNR, SSIM and STRRED are good, specially when used together.

I made my comment based on experience in the audio domain, where similarly there were various tools promising to give you a MOS value that correlates with real human testing. Generally they weren't that bad, but you often had strict constraints on the conditions involved. 

 

I'm not familiar with the video side but it is not a stretch that similar problems would exist. Skimming through the VMAF link they say it works per-frame, and they use averaging to gain some temporal information. One of the potential artefacts with upscaling is (lack of) temporal stability, which can cause annoying flickering. That model will be blind to that.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/21/2021 at 3:08 PM, igormp said:

I wonder how would that idea fare on a GPU without Tensor cores/Matrix cores (only available on instinct GPUs), and how bad it would be on a CPU.

This won't be done on the CPU, simply because of the inefficiency of doing so. Sending that much data from the GPU framebuffer (~53MB per frame at 4k) to the CPU and back will take a not-insignificant amount of time. And this problem only gets worse and worse the higher your framerate. At 100fps, this transfer alone would be using a third of the bandwidth provided by an x16 PCI-E 4.0 link, leaving much less time per frame for any processing at either end and likely restricting the feature to systems with that full 4.0x16 link available. (That is unless you were to introduce a frame delay, but that would be rather unpopular in fast paced titles...)

 

Instead, it will almost certainly be done on the general compute cores of the GPU (the "stream processors") thereby saving time and eliminating any out-of-card problems. But this has the drawback of pulling those resources away from other parts of the rendering process, because "serving" a trained AI model isn't free. It still requires a not-insignificant amount of resources and, as before, this demand will scale with the framerate. DLSS doesn't have this problem - all this work is offloaded to the tensor cores (of which there are plenty), meaning the technique doesn't have an impact on the rest of the rendering pipeline.

 

What this all means is that AMD's job is harder than Nvidia's. Lets say in a hypothetical scenario that both the 3090 and 6800xt get an identical 100fps in a title normally. If DLSS provides a theoretical 25% uplift, then the 3090 runs it at 125fps. However if AMD SR also provides a 25% theoretical uplift, but at the cost of using 3% of the GPU, then the 6800xt would be sitting at ~121fps - a real-world uplift of 21%.

 

Which means that if AMD SR is to try and compete with DLSS, then it needs to be better than DLSS in order to be equal with it. As such my expectations for it are... limited. I want them to succeed, but given AMD's nonexistant history with AI I'm not expecting miracles. As such, I'm worried that AMD will sacrifice image quality for fps (for the benchmarks) which - as DLSS 1.0 showed - people aren't going to be happy with, further giving the technology a bad rep and therefore reducing its adoption rate by game devs.

CPU: i7 4790k, RAM: 16GB DDR3, GPU: GTX 1060 6GB

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, tim0901 said:

This won't be done on the CPU, simply because of the inefficiency of doing so. Sending that much data from the GPU framebuffer (~53MB per frame at 4k) to the CPU and back will take a not-insignificant amount of time. And this problem only gets worse and worse the higher your framerate. At 100fps, this transfer alone would be using a third of the bandwidth provided by an x16 PCI-E 4.0 link, leaving much less time per frame for any processing at either end and likely restricting the feature to systems with that full 4.0x16 link available. (That is unless you were to introduce a frame delay, but that would be rather unpopular in fast paced titles...)

I wasn't the one who mentioned it'll be done on a CPU, the patent itself did so. And you can achieve zero-copy inference when you have integrated GPUs that share RAM with the CPU itself, so the overhead between transfers is also a non-issue.

You're also assuming this is only meant for games, whereas one could also use it to supersample videos and other kinds of media (as seen on the nvidia shield). For that case, it should be doable on a CPU as long as their inference times are good enough, and, as you said, it'll probably sacrifice image quality in order to achieve good enough frame rates.

 

Other than that, I agree with what you said. AMD has a poor track record when it comes do anything ML, their consumer platforms lack any dedicated hardware for matrix FMA (only available in their instinct lineup, with no proper software support either), and saying that their solution will be platform agnostic makes me really wonder how well it'll work. I wouldn't doubt it they were relying on DirectML to achieve their results, but then you'll be locked onto Windows-based platforms.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

People are willing to give AMD a pass for 1 time. They've done so for ray tracing on RX 6000 cards and I think they are willing to forgive it for this feature too. They kinda did the same for DLSS too. It did the promising, but poorly. DLSS 2.0 did deliver and people are happy. Same is expected from AMD now. If they can pull it off first time, great, but I have doubts they will.

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/22/2021 at 1:00 AM, CephDigital said:

Huh. Me taking AI modules for uni is being useful! I can somewhat understand that patent and how it works.

are you able to dumb it down pls for people like me

✨FNIGE✨

Link to comment
Share on other sites

Link to post
Share on other sites

19 hours ago, igormp said:

I wasn't the one who mentioned it'll be done on a CPU, the patent itself did so. And you can achieve zero-copy inference when you have integrated GPUs that share RAM with the CPU itself, so the overhead between transfers is also a non-issue.

 

Indeed I hadn't considered iGPUs. Certainly there it would make more sense to run on the CPU - especially on consoles where you have a fixed set of hardware.

 

19 hours ago, igormp said:

You're also assuming this is only meant for games, whereas one could also use it to supersample videos and other kinds of media (as seen on the nvidia shield). For that case, it should be doable on a CPU as long as their inference times are good enough, and, as you said, it'll probably sacrifice image quality in order to achieve good enough frame rates.

Yes, because DLSS can't do this. Even DLSS 2.0 requires information provided by the game outside of the video signal - this is why it can't be enabled as a driver-level feature that works on every game out there. The Nvidia shield doesn't use DLSS to upscale video - it uses its own AI model to do this - which adds up with the marketing for the feature not mentioning DLSS anywhere.

 

As far as AMD's marketing is concerned, we've seen no reason to suggest that video upscaling is a feature enabled by AMD SR either - everything they've mentioned has been purely centred on gaming. So yes, I am assuming this is for gaming, as we've no evidence to suggest otherwise. The patent just uses the phrase "video stream" - never getting more specific than that - so suggesting that the final product will be able to upscale video as well as gaming signals is pure speculation at this time. It is, after all, just a patent, meaning there's no guarantee that anything written on it will ever come to market.

 

That being said, I can't see any reason why AMD couldn't create a solution to match the upscaling found in the Nvidia Shield - the limiting factor would be their own AI capabilities. The Shield doesn't have tensor cores - even the 2019 models are using a Maxwell-based GPU - so any upscaling there will be performed using CUDA.

CPU: i7 4790k, RAM: 16GB DDR3, GPU: GTX 1060 6GB

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, SlimyPython said:

are you able to dumb it down pls for people like me

Unfortunately not, Im no good at explaining things xD

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/21/2021 at 2:08 PM, igormp said:

Matrix cores

Matrix cores?

matrix.jpg

Wow,that name 😄

Lisa Su should wear an outfit from the movie with the sunglasses and everything at the launch event.

A PC Enthusiast since 2011
AMD Ryzen 7 5700X@4.65GHz | GIGABYTE GTX 1660 GAMING OC @ Core 2085MHz Memory 5000MHz
Cinebench R23: 15669cb | Unigine Superposition 1080p Extreme: 3566
Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×