DGDenoise

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

Re: About DGDenoise

Post by admin »

A smaller edge on Maxwell it seems. Let's see what gonca comes up with on his 1070.

Thanks for your testing, Sharc.
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

a = 2 for DGDenoise. I assume quality would suffer a lot for a = 1, but I haven't tried it.
DAE avatar
Sharc
Moose Approved
Posts: 231
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

Is the speed noise agnostic, or does it somehow depend on the kind and strength of the actual noise?
Anon17: Your source (colorbar) is noise free as I understand.
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

The kingdom is yours, sire
Persistence and talent pay off
I'll say it again --- separate license?
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

Sorry about the delay. When I got home from work and the news got right on it. (stopped part way for dinner)

x_32
KNLM is about 1fps
DGDenoise is 118.9fps

Code: Select all

Log created with:           AVSMeter 2.4.9 (x86)
Script file:                C:\Users\LUIS\Desktop\DGDenoise.AVS


[OS/Hardware info]
Operating system:           Windows 10 (x64) (Build 14393)
CPU (brand string):         Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz
CPU (code name):            Broadwell-E (Core i7)
CPU instruction sets:       MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, FMA3, AVX, AVX2
CPU clock (measured):       3675 MHz
CPU cores / Logical cores:  8 / 16
Video card:                 NVIDIA GeForce GTX 1070
GPU / VPU version:          GP104 / VP8
Video memory size:          8192
OpenCL version:             OpenCL 1.2 CUDA
Graphics driver version:    21.21.13.7633 (ForceWare 376.33) WHQL / Win10 64


[Avisynth core info]
VersionString:              AviSynth 2.60, build:Mar 31 2015 [16:38:54]
VersionNumber:              2.60
File version:               2.6.0.6
Interface Version:          6
Multi-threading support:    No
Linker/compiler version:    6.0
Avisynth.dll location:      C:\Windows\SysWOW64\avisynth.dll
Avisynth.dll time stamp:    2015-03-31, 06:40:58 (UTC)
PluginDir2_5 (HKLM, x86):   C:\Program Files (x86)\AviSynth\plugins


[Clip info]
Number of frames:                 7194
Length (hh:mm:ss.ms):     00:05:00.050
Frame width:                      1920
Frame height:                     1080
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               7194 (0 - 7193)
FPS (min | max | average):      74.69 | 120.3 | 118.9
Memory usage (phys | virt):     217 | 310 MiB
Thread count:                   9
CPU usage (average):            6%

GPU core clock | memory clock:  1873 | 1901
GPU usage (average):            80%
VPU usage (average):            22%
GPU memory usage:               557 MiB

Time (elapsed):                 00:01:00.482


[Script]
LoadPlugin("C:\Program Files (Portable)\dgdecnv\DGDecodeNV.dll")
DGSource("T:\IMPORTS\test.DGI", fieldop=0)
DGDenoise(strength=0.1)


x_64

KNLM is about 100 fps
DGDenoise is 206.5 fps

Code: Select all

Log created with:           AVSMeter 2.4.9 (x64)
Script file:                C:\Users\LUIS\Desktop\DGDenoise.AVS


[OS/Hardware info]
Operating system:           Windows 10 (x64) (Build 14393)
CPU (brand string):         Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz
CPU (code name):            Broadwell-E (Core i7)
CPU instruction sets:       MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, FMA3, AVX, AVX2
CPU clock (measured):       3668 MHz
CPU cores / Logical cores:  8 / 16
Video card:                 NVIDIA GeForce GTX 1070
GPU / VPU version:          GP104 / VP8
Video memory size:          8192
OpenCL version:             OpenCL 1.2 CUDA
Graphics driver version:    21.21.13.7633 (ForceWare 376.33) WHQL / Win10 64


[Avisynth core info]
VersionString:              AviSynth+ 0.1 (r1576, x64)
VersionNumber:              2.60
File version:               2.6.0.5
Interface Version:          5
Multi-threading support:    No
Linker/compiler version:    11.0
Avisynth.dll location:      C:\Windows\System32\AviSynth.dll
Avisynth.dll time stamp:    2014-01-03, 23:11:18 (UTC)
PluginDir+   (HKLM, x64):   C:\Program Files (x86)\AviSynth+\plugins64+
PluginDir2_5 (HKLM, x64):   C:\Program Files (x86)\AviSynth+\plugins64


[Clip info]
Number of frames:                 7194
Length (hh:mm:ss.ms):     00:05:00.050
Frame width:                      1920
Frame height:                     1080
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               7194 (0 - 7193)
FPS (min | max | average):      85.23 | 209.3 | 206.5
Memory usage (phys | virt):     236 | 700 MiB
Thread count:                   12
CPU usage (average):            6%

GPU core clock | memory clock:  1886 | 1901
GPU usage (average):            64%
VPU usage (average):            37%
GPU memory usage:               647 MiB

Time (elapsed):                 00:00:34.831


[Script]
LoadPlugin("C:\Program Files (Portable)\dgdecnv\x64 Binaries\DGDecodeNV.dll")
DGSource("T:\IMPORTS\test.DGI", fieldop=0)
DGDenoise(strength=0.1)


AND THE NEW HEAVYWEIGHT CHAMP IS DGDenoise!

Kinda wish I had forked over the extra money for 1080 to see the numbers
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

gonca wrote: AND THE NEW HEAVYWEIGHT CHAMP IS DGDenoise!
I still have some more tricks up my sleeve. Stay tuned.

License will be standard DG tools, for loyal DG users.
DAE avatar
Sharc
Moose Approved
Posts: 231
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

I did some more tests with a noisy interlaced 720x576i videofile source, encoded with x264 CRF=17. The results may be specific for this type of source and my system, but here my findings:

Case / filter / speed (fps) / file size (MB)
1 / none / 16.40 / 36.7
2 / --nr 1000 / 16.74 / 25.0
3 / KNLMeansCL(0,2,3,3.0) / 14.94 / 30.9
4 / KNLMeansCL(0,2,3,3.0) plus --nr 1000 / 15.07 / 21.4
5 / DGDenoise(strength=0.06) / 14.80 / 30.9
6 / DGDenoise(strength=0.06) plus --nr 1000 / 15.19 / 21.3

Bottom line:

- KNLMeansCL(0,2,3,3.0) is much the same as DGDenoise(strength=0.06) w.r.t. filesize, speed and visual quality
- adding --nr increases(!) the encoding speed slightly (1% …3%)
- adding --nr reduces the filesize significantly (by 30%) and improves visual quality without noticeable loss of details or sharpness (the same file size with the external filter alone would blur the picture / loose details more)
- --nr xxx seems to complement the external filters (KNLMeansCL or DGDenoise) nicely.
- Overall the combination of the external with the internal noise filter wins in every aspect.

These conclusion may be specific for this kind of (low quality) source though.
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Thanks, Sharc. I suspect that the encoding is swamping the denoising here with respect to performance timing. I think it's better to test without encoding, in order to compare the denoising performance. Nevertheless, your report on the results of --nr is interesting and valuable.

Anyway, I just unrolled the loops in my kernel, increased the number of registers some more, and told ptxas to use fast math. This increased the frame rate for rat.avs from 110 fps to 184 fps (>60% improvement)! I'll test it a bit and then slipstream it.
So, the current scorecard for me is:

DGDenoise(): 184 fps
KNLMeansCL(d=0): 59 fps

DGDenoise is now 3 times faster than KNLMeansCL on my lowly 1050Ti. It will be fun to see gonca's results.
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

x_32 288.0 fps

Code: Select all

Graphics driver version:    21.21.13.7633 (ForceWare 376.33) WHQL / Win10 64


[Avisynth core info]
VersionString:              AviSynth 2.60, build:Mar 31 2015 [16:38:54]
VersionNumber:              2.60
File version:               2.6.0.6
Interface Version:          6
Multi-threading support:    No
Linker/compiler version:    6.0
Avisynth.dll location:      C:\Windows\SysWOW64\avisynth.dll
Avisynth.dll time stamp:    2015-03-31, 06:40:58 (UTC)
PluginDir2_5 (HKLM, x86):   C:\Program Files (x86)\AviSynth\plugins


[Clip info]
Number of frames:               105884
Length (hh:mm:ss.ms):     01:13:36.245
Frame width:                      1920
Frame height:                     1080
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               105884 (0 - 105883)
FPS (min | max | average):      93.58 | 299.7 | 288.0
Memory usage (phys | virt):     220 | 289 MiB
Thread count:                   9
CPU usage (average):            7%

GPU core clock | memory clock:  1886 | 1901
GPU usage (average):            54%
VPU usage (average):            48%
GPU memory usage:               529 MiB

Time (elapsed):                 00:06:07.630


[Script]
LoadPlugin("C:\Program Files (Portable)\dgdecnv\DGDecodeNV.dll")
DGSource("T:\IMPORTS\test.DGI", fieldop=0)
DGDenoise(strength=0.1)
x_64 283.0 fps

Code: Select all

Graphics driver version:    21.21.13.7633 (ForceWare 376.33) WHQL / Win10 64


[Avisynth core info]
VersionString:              AviSynth+ 0.1 (r1576, x64)
VersionNumber:              2.60
File version:               2.6.0.5
Interface Version:          5
Multi-threading support:    No
Linker/compiler version:    11.0
Avisynth.dll location:      C:\Windows\System32\AviSynth.dll
Avisynth.dll time stamp:    2014-01-03, 23:11:18 (UTC)
PluginDir+   (HKLM, x64):   C:\Program Files (x86)\AviSynth+\plugins64+
PluginDir2_5 (HKLM, x64):   C:\Program Files (x86)\AviSynth+\plugins64


[Clip info]
Number of frames:               105884
Length (hh:mm:ss.ms):     01:13:36.245
Frame width:                      1920
Frame height:                     1080
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               105884 (0 - 105883)
FPS (min | max | average):      82.64 | 295.5 | 283.0
Memory usage (phys | virt):     249 | 684 MiB
Thread count:                   9
CPU usage (average):            7%

GPU core clock | memory clock:  1886 | 1901
GPU usage (average):            53%
VPU usage (average):            47%
GPU memory usage:               565 MiB

Time (elapsed):                 00:06:14.156


[Script]
LoadPlugin("C:\Program Files (Portable)\dgdecnv\x64 Binaries\DGDecodeNV.dll")
DGSource("T:\IMPORTS\test.DGI", fieldop=0)
DGDenoise(strength=0.1)
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Looks good, gonca.

When are you buying that 1080?
DAE avatar
Sharc
Moose Approved
Posts: 231
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

Nice speed improvement also for Kepler with latest slipstream: from 26.91 fps to 44.43 fps :D
Edit: or 72fps on bobbed source.
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Good to hear, Sharc, thank you.
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

admin wrote:Looks good, gonca.

When are you buying that 1080?
Might have to wait a while.
I just built this system a month ago
Side note
DGDenoise saturates my cpu during encodes, (it runs at 100%) so no bottleneck
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

I'll save my pennies. I think there are some really kick-ass cards for $2000+.

The unexpected speed is making me think about porting other filters to CUDA. MV tools?

I'm just off to replace my CPU cooler on my backup machine. Wish me luck. :?
DAE avatar
Sharc
Moose Approved
Posts: 231
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

admin wrote:The unexpected speed is making me think about porting other filters to CUDA. MV tools?
QTGMC on CUDA would be phantastic 8-)
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

admin wrote:I'll save my pennies. I think there are some really kick-ass cards for $2000+.
https://www.newegg.ca/Product/Product.a ... 5TY22N0704
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Darn, it's out of stock.

My i7-980X machine lived through the cooler swap and 1050Ti upgrade. Into the case tomorrow.

Do you folks worry about hot NBs?
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

When I OC I check CPU and general MotherBoards temps. I don't recall at actually ever looking at specific temps like NB.
You're running a 980 so your motherboard isn't that old. If it gets too hot it should throttle or reboot automatically, unless you disable that in BIOS.
What kind of temps are you referring too
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

I can touch the heat sink for 10 seconds, so I'm guessing 65-70 degC. I googled for "X58 northbridge hot" and it's not unusual. Spec allows up to 100 degC but that seems extreme. I may add a spot cooler, or maybe the case fan will be enough. This is a no-name Chinese LGA1366 X58 mobo. Works great though.

I still have a perfectly good Core2 Duo Win10 machine in the closet. I think there's a GTX 720 in there. Can't bring myself to decommission it. One day...off to CPU heaven.

What do you do with all your older systems, gonca? Salvation Army? :lol:
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Sharc wrote:
admin wrote:The unexpected speed is making me think about porting other filters to CUDA. MV tools?
QTGMC on CUDA would be phantastic 8-)
That's why I mentioned mvtools. :wow:
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

My new system replaced my old i7-3930k system and I am about to replace my i5 LG1151 HTPC.
I am going to re purpose parts to build a server and then I might put the remaining parts together and give it away to somebody as is.
Or I might salvage some of the parts to start a second server (can never have too many)
Normally I just give away my old machines, storing them in the outdoor shed isn't a good idea (as I found out when I was younger)
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

C'mon, tell us about the shed.
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

The shed had no heat and wasn't rain proof
Put a computer in there for temporary storage, and when I went to get it, well it was a little rusty, shall we say.
Amazing how many metallic components are inside a computer
By the way, Power Supplies don't work too good after having ice inside of the unit
User avatar
admin
Site Admin
Posts: 4449
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

It's good to see that you have learnt your lesson from those early traumatic experiences. ;)
User avatar
gonca
Curly Approved/Moose Approved
Posts: 956
Joined: Sun Apr 08, 2012 6:12 pm

Re: About DGDenoise

Post by gonca »

Yeah, I learned my lesson.
If I want a new system I just store the old spare outside, give it a couple of bad weather days (I am in Toronto, Canada) and there you go.
Darn it, old one is not really usable anymore
Post Reply