AWS Thinkbox Discussion Forums

GPU Affinity Maya + Redshift + mayapy.exe supported? Crashing

Hi, im running a Python Deadline plugin using mayapy.exe and one of the things the job does is initialize a maya batch instance with maya.standalone.initialize.

When i open a maya file through maya.cmds.file() all the plugins start to load and then i get the following warning: “This slave node couldnt initialize graphics device.”

After that my plugin just tries to run a maya.cmds.playblast() and it renders all black saying that "“Couldnt initialize Playblast Renderer”. But I presume this error is a consequence of the previous one stated above.

The node has the most updated ndvidia drivers for a NVIDIA 2080 RTX Ti and the file uses Redshift which apparently is correctly installed on the node.

If i open a cmd shell and execute the mayapy.exe and the same commands in an empty maya file it playblast correctly and doesnt give any error about the graphics device. The driver is correctly recognized. So i believe it must be something related to the custom python deadline plugin.

Any hints?

One thing worth noting is that the user that executes the jobs in deadline is different from the user ive done the command shell test and the windows permissions are different.

And another thing i just realized is that the node has 4x Nvidia RTX 2080 Ti…could this be the problem? The support for multi-GPU?

Apparently the slave wasnt launched with gpu 0 support. I went to “Modify Worker Properties” and set the number of gpus to 1 and checked gpu 0. Doing this now the plugin initializes correctly the graphics device so cool!, but when i do mc.playblast() i have a mayapy.exe crash with the following stacktrace:

Stack trace:
2019-12-20 10:25:54: 0: STDOUT: DataModel.dll!TtransientPath::operator=
2019-12-20 10:25:54: 0: STDOUT: OGSMayaBridge.dll!TplayblastOGSBridge::getCamera
2019-12-20 10:25:54: 0: STDOUT: OGSMayaBridge.dll!TplayblastOGSBridge::update
2019-12-20 10:25:54: 0: STDOUT: OGSMayaBridge.dll!TplayblastOGSBridge::grabPixels
2019-12-20 10:25:54: 0: STDOUT: AnimUISlice.dll!TanimationEditorCmd::setAnimEditor
2019-12-20 10:25:54: 0: STDOUT: AnimUISlice.dll!TanimationEditorCmd::setAnimEditor
2019-12-20 10:25:54: 0: STDOUT: AnimUISlice.dll!TanimationEditorCmd::setAnimEditor
2019-12-20 10:25:54: 0: STDOUT: AnimUISlice.dll!TanimationEditorCmd::setAnimEditor
2019-12-20 10:25:54: 0: STDOUT: AnimUISlice.dll!TanimationEditorCmd::setAnimEditor
2019-12-20 10:25:54: 0: STDOUT: CommandEngine.dll!TmetaCommand::doCommand
2019-12-20 10:25:54: 0: STDOUT: CommandEngine.dll!TpythonInterpreter::dispatchMayaCommand
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyCFunction_Call
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalCodeEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalCodeEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_GetFuncDesc
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalFrameEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyEval_EvalCodeEx
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyRun_FileExFlags
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyRun_FileExFlags
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyRun_SimpleFileExFlags
2019-12-20 10:25:54: 0: STDOUT: python27.dll!PyRun_AnyFileExFlags

Is there something else to configure? Maybe in Redshift? We are using

Maya 2019
Redshift 2.6.44
Deadline 10.1.0.12

Again, if i run the playblast throught the mayapy.exe using the command shell it works so it must be something deadline related…

The renderer engine im using is DirectX11, because im connecting through a remote windows connection and maya automatically switches to DirectX11 from OpenGL.

The shell test i did worked using DirectX

For what it’s worth, I’ve never been able to perform a playblast in an unattended Maya session. You can look into implementing your own hardware render hook via ogsRender, but honestly I’ve had nothing but annoying issues trying to implement this as well.

This is interesting though. I don’t know how you managed to do this, but I’d be interested in hearing about any updates you may have :slight_smile:

When you’re running these tests, are you submitting using a Python job or a Commandline job? Or is it a pluin you’ve developed yourself?

I wonder if the Commandline job would be the better option here to run mayapy.exe directly, as it’s the simplest plugin we could use here. I have no experience with the workflow you’re describing, but assuming the user the Deadline Worker is running as is able to successfully run the the command things should be working.

If you’ve got some super simple version of this I could test out, I’d be happy to take a swing at duplicating this on our side!

Hi again,
im posting it here so it helps anybody else.

Finally it was a problem with maya. There were no renderable cameras in the scene, but instead of notifying with an error message maya decided it was better to crash with no helpful info.

1 Like
Privacy | Site terms | Cookie preferences