Page 1 of 2

Re: Failure to run

Posted: Wed Oct 30, 2019 12:33 pm
by TCmullet
Resolution of video lately is 720p60, but have successfully (FOR YEARS) done 1080p60 and 1080i30.

Resolution of video MONITOR is 1920 x 1080.

Re: Failure to run

Posted: Wed Oct 30, 2019 12:34 pm
by Rocky
Your experiences of the past are not helpful. We are trying to solve your current situation.

Please try with a basic script loaded into VirtualDub2 and report your result:

LoadPlugin(".../DGDecodeNV.dll")
DGSource("your DGI file")

If you think the card is bad, then try the other one! Another question you failed to answer: What is that card?

GPU-Z is a popular GPU utility. You can find it with google.

Here's another question: What version of Avisynth are you running?

Re: Failure to run

Posted: Wed Oct 30, 2019 12:45 pm
by TCmullet
Shockingly, this works:

LoadPlugin("C:/Program Files (x86)/AviSynth+/plugins/DGDecodeNV.dll")
DGSource("2019-10-16.1800.wv.IN-v-MD.gl4-2-6.720p60.btn.c2-tv.ed-14m.dgi")

But if I leave off the loadplugin line, it fails as before. Something wrong with my plugins access?

Re: Failure to run

Posted: Wed Oct 30, 2019 12:54 pm
by Rocky
TCmullet wrote:
Wed Oct 30, 2019 12:45 pm
Shockingly, this works:

LoadPlugin("C:/Program Files (x86)/AviSynth+/plugins/DGDecodeNV.dll")
DGSource("2019-10-16.1800.wv.IN-v-MD.gl4-2-6.720p60.btn.c2-tv.ed-14m.dgi")

But if I leave off the loadplugin line, it fails as before. Something wrong with my plugins access?
It's not shocking at all!

You are apparently picking up a bad version of DGDecodeNV.dll from one of your Avisynth+ plugins directories, or you have a bad DLL in your DLL search path.. I don't know how you configured the Avisynth+ paths. I always recommend direct loading and getting rid of multiple copies of the DLL laying around.

Re: Failure to run

Posted: Wed Oct 30, 2019 12:58 pm
by TCmullet
Uh, somehow my brief testing failed. (Maybe I didn't close things out enough after the failure.,)

Now when all I have is the DGSource line, it works.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:00 pm
by TCmullet
Here's my current script that fails:

# Test-DGSource.avs

SetMemoryMax(1024)
global svp_scheduler=true
global threads=4
global svp_cache_fwd=threads+10
SetMTMode(3,threads)

#LoadPlugin("C:/Program Files (x86)/AviSynth+/plugins/DGDecodeNV.dll")
DGSource("2019-10-16.1800.wv.IN-v-MD.gl4-2-6.720p60.btn.c2-tv.ed-14m.dgi")

Re: Failure to run

Posted: Wed Oct 30, 2019 1:01 pm
by TCmullet
Those "sets" and "globals" have worked for years, even on this PC. Could it be that a recent Windows Update has messed with the ability to use multiple threads?

A significant difference between this PC (which has the error) and my better one is this: This PC is i5 with 4 cores. The other is Xeon 4-core plus 4 hyperthreads (total 8 threads). And much more system memory and a 192 cuda-core card.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:18 pm
by Rocky
SetMTMode() is not an Avisynth+ thing, so it looks like some holdover from 2.6MT. Are you sure you are running Avisynth+? Make a script with just Version() and that will tell you.

You cannot multithread DGSource(). That may be why you run out of memory.

Refer to the Avisynth+ documentation for multithreading in Avisynth+.

Add those lines back one-by-one to see which causes failure.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:24 pm
by TCmullet
When the DGSource("....dgi") is the only line (or only line that is not commented out), then it works fine. BUT it dos not work fine IF I reload in Vdub via F2. I learned awhile back that apparently due to small number of cuda-cores, I need to fully close the current file (script) and open it freshly. On this PC I cannot have a script that has DGSource open multiple files. For that I have to use my bigger PC. (More cuda cores, more everything.) Maybe if I get a card that has more cudas, then this PC too will be able to open 4 DGSources at once. (Sometimes I DO need that many.)

Those sets and globals have been necessary for certain functions, and were set up several years ago. I've propagated them harmlessly, and then when they've been needed, they were already in place.

But my Ransack run (which I gave a screen shot of) shows that there are no stray DGDecodeNV.dlls floating around.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:27 pm
by Rocky
Your last post is totally unresponsive to my last post. You still haven't even told me what version of Avisynth you run.

You are all confused about what you call "cudas". We'll get much further if you listen to me and follow my instructions. I'll close the thread if you keep ignoring my questions and suggestions.

"But my Ransack run (which I gave a screen shot of) shows that there are no stray DGDecodeNV.dlls floating around."

What? :o You showed earlier that you had at least 4 copies, one with a bad size. Anything beyond one correct copy is rogue.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:31 pm
by TCmullet
I didn't see your reply until after my reply.

Could you please explain what you mean by DGSource cannot multi-thread. (I know what multi-threading is, and I can guess that DGSource was not designed to operate that way.) But what is happening when I do run DGSource and it seems to run fine on the Xeon? (I want to understand why I've not had a problem on the Xeon PC. It DOES have 24GB of ram vs the problem machine that has only 12GB.)

I will troubleshoot line by line when I have a chance. In the meantime, I'll have to kill those lines so I can get this i5 turning out stuff again.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:34 pm
by TCmullet
Rocky wrote:
Wed Oct 30, 2019 1:27 pm
You still haven't even told me what version of Avisynth you run.

I'll close the thread if you keep ignoring my questions and suggestions.
I didn't see that you asked that (version of Avisynth). I'll have to figure out how to find that out.

I'm not ignoring things. It was a bad day for me to jump into this; have other fires to fight outside of computers. Thanks for your patience. (But sometimes, I give another response and don't see that you responded already and I don't catch it til later. I do try to refresh the page before I start typing a new comment.)

Re: Failure to run

Posted: Wed Oct 30, 2019 1:39 pm
by Rocky
Script multi-threading and multi-filter-instance are not the same thing! I regret that I do not have time to educate you on basic stuff.

I told you how to get your Avisynth version.

You want to know why it doesn't fail on the Xeon? I have no idea because I don't know what GPU it has or how much memory the GPU has. You keep giving CPU details when it is the GPUs that matter.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:40 pm
by TCmullet
"Version()" gives me:

AviSynth 2.60, build:Feb 20 2015 [03:16:45]

"Script multi-threading and multi-filter-instance are not the same thing!" I never said they were. I'll hunt for where you said how to find version. But I did remember the basic "version()" script. I do not claim to be an avisynth master.

Re: Failure to run

Posted: Wed Oct 30, 2019 1:43 pm
by TCmullet
I'm sure all multi-threading for DGSource is done down at the cuda level (not processor level), transparent to the calling application (DGSource).

Re: Failure to run

Posted: Wed Oct 30, 2019 1:49 pm
by Rocky
It is pointless to multithread DGSource() because there is only one decoder on the GPU. All it will do is consume extra memory and add CUDA context switching overhead.

Avisynth+ has the ability to specify multithreading per filter. DGSource() would be serialized while the others can be multithreaded. I imagine that you can do that in 2.6MT somehow.

Seems to me your whole setup is chaotic, which isn't too surprising since you uncritically bring things forward to new environments. In one of your posts you load a plugin from an Avisynth+ directory, but you tell me that you are using 2.6, which I suppose is really 2.6MT. I can't make any sense out of it, and when I ask for clarification you ignore me or just give further chaotic things for me to scratch my head over.
I'm sure all multi-threading for DGSource is done down at the cuda level (not processor level), transparent to the calling application (DGSource).
There you go with more chaos. You think Avisynth controls CUDA parallelism? Hey, it's a video decoder, it uses the video engine, of which there is only one.

And no answer to my question about the GPU in the Xeon machine.

Re: Failure to run

Posted: Thu Oct 31, 2019 9:58 am
by TCmullet
The graphics card in the Xeon is Quadro FX 3800. 192 cudas. (Much larger than the 16 at hand.)

Seeing as you brought it up, I have dug into the past to try to review where things went. I started with DGSource either 2014 or 15. Then in 2017, I had to install the SVP player and/or software. They had switched to Avisynth+ (emphasis on the plus). When I did so, some of my scripts (a class of them) were bombing. It turns out that under some circumstances, I needed something that could only run under MT. So after they helped me identify the spagetti of Avisynth versions and dlls scattered about and consolidating it all, we concluded that I should freshly install the SVP package, including Avisynth+, which includes critical libraries I need for their features, then simply overlay the Avisynth itself with the MT version. Then my needed routines would work again. I've stuck with this setup since then. So my system is MUCH less chaotic and purposeful than it was in 2017.

When I spoke of multitasking with cudas, I was merely referring to the fact that the single engine of which you speak coordinates all the cuda cores to operate in PARALLEL with each other. So 100 cores can do 10 times the work compared to if you only had 10. Perhaps "parallel processing" was the correct term. But I DID know that DGSource uses the cuda cores, which I didn't know or suspect when I first got it. (I thought it was strictly an algorithmic solution, i.e., totally done with programmer code against the computer's CPU. But yes, if you can get some of the work done by the graphics processors, by all means!)

I have guessed that because DGSource relies on graphics processors (cuda cores), that my lack of cores is why multi-instances of DGSource bomb, whereas the abundance of cores (by comparison) in the FX 3800 allows many DGSources to be open at once. So in the rare cases I need two or more DGSources, I use the Xeon. Heck, I can't even use Vdub F2 on the weak PC. Have to manually close and re-open the script. Maybe getting rid of MT stuff at the top will help that.

Re: Failure to run

Posted: Thu Oct 31, 2019 10:19 am
by Bullwinkle
Snort! The video engine does not "coordinate the cuda cores". That is so full of it. Poopy. Nobody dares call me poopy!

The problem is you do not listen, which tells me trolling, narc, or stupid. Fat lady is singing for you.