DGSharpen

These CUDA filters are packaged into DGDecodeNV, which is part of DGDecNV.
User avatar
admin
Site Admin
Posts: 4382
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGSharpen

Post by admin » Wed Mar 08, 2017 9:02 pm

I did some tests of DGSharpen versus LSF with corresponding parameters on my 1050Ti.

With no filters the decoding rate for 1080p is 395 fps. Adding DGSharpen drops it to 314 fps. Adding LSF drops it to 225. DGSharpen is thus about twice as fast as LSF.

A similar calculation excluding the decoding for DGDenoise versus KNLMeansCL would show an even greater speedup than previously reported.

I did some extensive research online about available CUDA video filtering implementations. With all due modesty, it seems I am the first guy to get impressive performance results (sorry, I do not consider KNLMeansCL to be impressive in performance). My architecture and optimizations appear to be hitting the sweet spot. Can't wait for my 1080Ti.

I found a CUDA denoising filter for VirtualDub that claimed to implement "Quick NLM" (which I previously rejected due to its artifacting). When I ran it, it produced only black frames. I reckon I could produce black frames at a very high rate. :lol:

Regarding my CUDASynth idea, during the above-mentioned research I found that user "Adub" from another forum has previously suggested a similar idea. He did not ever release anything. Some others have talked about making pipelines by leaving frames in GPU memory. Unfortunately for my current architecture, it's not so easy. To get good performance I need to use texture memory, but it is read-only on the device. I have some ideas to get around that, but I don't know right now what the impact on performance will be versus just copying back to the host and running the following filter in the usual way.

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 698
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGSharpen

Post by gonca » Thu Mar 09, 2017 6:07 am

Easy to suggest or come up with ideas
Implementation is the hard part, and you are implementing your ideas

User avatar
admin
Site Admin
Posts: 4382
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGSharpen

Post by admin » Thu Mar 09, 2017 9:34 am

gonca wrote:Implementation is the hard part
+1

User avatar
admin
Site Admin
Posts: 4382
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGSharpen

Post by admin » Thu Mar 09, 2017 11:12 am

I packaged the CUDA binaries into DGIndexNV and DGDecodeNV as I mentioned earlier. I also converted to PTX and JIT compilation, which means I won't have anything to do for new architectures. Now you won't need any extra CUDA files in the distribution. I'll regression test and slipstream later today. A slipstream a day keeps the cracker away. :lol:

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 698
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGSharpen

Post by gonca » Thu Mar 09, 2017 6:48 pm

Guess I'll be checking it out this weekend, any tests you want me to do?

PS
Haven't forgot about using the iGPU on my new system to check your software like you asked, its just that life got in the way for a few days.
Hopefully I'll have the new system up and running early next week and will test.

User avatar
admin
Site Admin
Posts: 4382
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGSharpen

Post by admin » Thu Mar 09, 2017 7:22 pm

Please just make sure I didn't break anything when I embedded the PTX code for both DGIndexNV and DGDecodeNV. Thanks, gonca. This PTX embedding is good both to be future-proof and to protect my kernels at least a tiny bit. If I really want to get paranoid, I can encrypt the memory representation and decrypt it just before JIT compilation.

Don't worry too much about IMSDK stuff. I am focused on CUDASynth and CUDA versions of MaskTools and MVTools functionality right now.

Tomorrow is launch day for the 1080Ti. I hope to at least score a pre-order somewhere. MSI is looking promising.

I'm working on a bottle of Grant's right now. It has a nice sweetness to it. I usually take it neat but I will try on the rocks too.

My new rule is don't buy any Scotch that comes in a plastic bottle. ;)

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 698
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGSharpen

Post by gonca » Thu Mar 09, 2017 7:34 pm

My new rule is don't buy any Scotch that comes in a plastic bottle. ;)
or in a cardboard box with a plastic liner :cry:

User avatar
admin
Site Admin
Posts: 4382
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGSharpen

Post by admin » Thu Mar 09, 2017 7:47 pm

Oy, I thought they did that only for wine.

Do you like that Laphroigh stuff? I could not abide the overly smoky taste.

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 698
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGSharpen

Post by gonca » Thu Mar 09, 2017 7:51 pm

You're probably right, but in this day and age you never know.
If there is a market, they will try to sell it, some good ol' 5 minute aged stuff (moonshine)
http://www.oocities.org/collegepark/qua ... reech.html
If it isn't sold in a cardboard box it should be
This is what Canadian moonshine is all about
https://search.yahoo.com/search?p=newfo ... h&ei=UTF-8

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 698
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGSharpen

Post by gonca » Sat Mar 11, 2017 12:51 pm

Results
Used my basic settings to encode
Results look awesome
DGDenoise and DGSharpen at default

Speeds
DGSource 541.2 fps >> 1.848 mseconds per frame
DGSource + DGDenoise 258.7 fps >> 3.501 mseconds per frame
DGDenoise 1.653 mseconds per frame >>> 605.0 fps
DGSource + DGDenoise + DGSharpen 205.6 fps >> 4.863 mseconds per frame
DGSharpen 1.362 mseconds per frame >>> 734.2 fps

I also captured 1000 frames from each encode with VDub for comparison. Quality is great

If you wish access to the encoded clips or the caps let me know. I can set something up.

Post Reply