Slave stalls at the end of the very first task

Hello,

machine with ATI Radeon graphic card and GPU render turned on can’t finish the very first task. It stalls in the end.
Slave log looks like this:

And it permanently stops after that. I notice that usually the line “0: INFO: Process exit code: 0” goes after that lines. So maybe it can’t sent o recieve exit code?
Could you help me with that?

It’s Deadline 5.2. Job submits from After Effects. All other PCs with NVIDIA card on board are doing good, thats why I indicated at ATI card. Maybe it causes problems?

Thanks!

We suspect that that is some problems of Adobe dealing with ATI cards, because it goes fine on Nvidia machines.
how i can modify AfterEffects.py in order to end job successfully (shutdown aerender.exe ) and proceed to next task?
I would like deadline to react if STDOUT: Using DXGI: Device: “AMD Radeon R7 200 Series” has dedicated video RAM (MB): 2012

I think the problem here is that AE isn’t exiting as it should. Check and see on the render nodes to see if it keeps running after it says it’s completed.

If you’re getting output files, it should be possible to move on forcefully. I’ll ask around here if there’s a way to get kill AE but also mark it as successful.

So, after talking with people here and thinking about it, Deadline was built on the assumption that applications would eventually finish on their own, or that we would kill them due to failures, so there is no built-in way to stop the application and consider it done.

One way, if you’re very good with Python AND are on OS X, would be to send a ‘term’ signal to AERender, then capture the exit code in CheckExitCode and return if the exit code is for a killed process.

That’s a lot of work. I guess my question is, can you try running AE itself on these problem machines and see if they fail the same way? I think Adobe needs to know of AE locks up when run from the command line with ATI cards. I’m assuming it has something to do with the lack of CUDA.

Dear Support,

things happen on Windows, we don’t have machines with OSX at all. Output files are rendered successfully in fact. Yes, we tried command line render without Deadline - same result. Same thing happens on CC 2014, and of course we’ll report it to Adobe… I am not so good with Python, but i checked SDK and py file AE plugin, and i just wonder, would be possible in theory to run ExitWithSuccess function after in case before render STDOUT returns Using DXGI: Device: “AMD Radeon R7 200 Series” has dedicated video RAM (MB): 2012? As i read in SDK, that function refers to Advanced Plugins, when AE plugin refers to simple. Would just plugin type change introduce this function?

Just in case - i’ve read many argues about Adobe and ATI, but in our case that is Twixtor Adobe Plugin which utilizes not CUDA but OpenCL, and according to our tests, ATI is much faster in that computation comparing to Nvidia, of the same price class.

I asked about something similar to ExitWithSuccess here. We ourselves weren’t sure then if it would work in a SimplePlugin, but I’ve asked the Deadline lead, and he’s fairly sure it will work.

So! What you proposed sounds like a great plan. Certainly worth a try. Do you need direct help to implement this, or will you be able to handle things? Should it exit once the render is done and it is saying how long it elapsed?

It should be something as simple as adding three lines or so:

    def InitializeProcess( self ):
        ...
        self.AddStdoutHandlerCallback( "PROGRESS: Total Time Elapsed.*" ).HandleCallback += self.EndEarly

...

    def EndEarly( self ):
        self.ExitWithSuccess()

Great! Thanks for your help!

Actually because of using Deadline 5 we wrote this:

def InitializeProcess( self ): ... self.AddStdoutHandler( ".*Total Time Elapsed.*", self.EndEarly ) ... def EndEarly( self ): self.ExitWithSuccess()
Now i understand deadline plugins nature :slight_smile:

I’m glad ExitWithSuccess() worked out for you! Now that I know it exists, I might use it everywhere. Much to Ryan’s dismay. :stuck_out_tongue: