AWS Thinkbox Discussion Forums

Vray hybrid on AWS?

Curious if anyone has gotten this working - I thought it was a none issue, but something is going wonky on my jobs today. I submitted the vrscene file using the “vray rt(cuda)” render engine selection, as that is how I believe you get hybrid working through Deadline. However, the Linux AMI’s keep crapping out, and I can’t figure out why. Obviously they don’t have a video card, but I would have thought they’d fall back to the cpu. However, they fail out, giving me:

2018-03-20 22:48:59: 0: STDOUT: [2018/Mar/20|22:48:59] Loading light map from file "/mnt/Data/U4de81062dd1a43b3b551c71b9468c33b/SHEPLEY/15-NOTRE-DAME/3d-cad/textures/DRAFT1_ADD.vrlmap"... 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Light map loaded successfully. 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Running RTEngine 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Initializing CUDA renderer (single kernel version)... 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] NVIDIA CUDA not found. V-Ray GPU can run with C++/CPU device only 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Querying for CUDA devices... 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Using all available CUDA GPU devices. Not using CUDA CPU, it should be selected explicitly! 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] error: There is no device supporting at least CUDA 2.0! 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] warning: initDevices() failed. Please check that your system has compatible GPU devices installed. 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Average rays per light cache sample: inf (min 1, max 1) 2018-03-20 23:04:59: 0: STDOUT: [2018/Mar/20|23:04:59] Using premultiplied light cache. 2018-03-20 23:04:59: 0: Done executing plugin command of type 'Render Task'

I’m assuming this is a linux issue, as I have multiple windows machines (granted, not headless) running this fine with both onboard and add in graphics cards.

GPU instances on AWS need to be paired with a matching Amazon Machine Image containing NVIDIA GRID drivers (when running g2 and g3 instances). The errors you are getting tell you “there are no CUDA devices”, but they really mean “no NVIDIA drivers supporting the GPUs were found”.

You could start an instance with the Deadline Linux AMI with Redshift Stand-alone (as it already has both Deadline and NVIDIA drivers), and just install V-Ray stand-alone on it. Then create a custom instance from that.

Alternatively, you can start with a Linux instance with NVIDIA GRID drivers (it is a free AMI published by NVIDIA) and install everything required.

I wonder if there is a way to do this without starting my own ami? I’m just nervous this a bit above my head.

vlado seems to indicate it can be done with a command, just not sure how to do it via deadline and linux:

forums.chaosgroup.com/forum/v-r … pot-fleets

Oh, that’d be an easy test. Just add it to the job’s environment:

for key i entered “export” and value I entered “VRAY_OPENCL_PLATFORMS_x64=c++/cpu” but still got:

[code]=======================================================
Error

[2018/Mar/21|15:19:26] error: There is no device supporting at least CUDA 2.0!
at Deadline.Plugins.PluginWrapper.RenderTasks (System.String taskId, System.Int32 startFrame, System.Int32 endFrame, System.String& outMessage, FranticX.Processes.ManagedProcess+AbortLevel& abortLevel) [0x002c8] in :0

=======================================================
Type

RenderPluginException

=======================================================
Stack Trace

at Deadline.Plugins.SandboxedPlugin.d (Deadline.Net.DeadlineMessage aqc) [0x00242] in :0
at Deadline.Plugins.SandboxedPlugin.RenderTask (System.String taskId, System.Int32 startFrame, System.Int32 endFrame) [0x000df] in :0
at Deadline.Slaves.SlaveRenderThread.c (Deadline.IO.TaskLogWriter agy) [0x0073e] in :0
[/code]

2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] SDTree statistics: 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Total number of faces stored: 1701395 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Max tree depth: 46 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Average tree depth: 27.4733 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Number of tree nodes: 552301 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Number of tree faces: 4970296 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Number of tree leafs: 244976 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Average faces/leaf: 20.2889 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Memory usage: 162.44 MB 2018-03-21 15:02:13: 0: STDOUT: [2018/Mar/21|15:02:13] Building static SD trees took 618 milliseconds 2018-03-21 15:03:41: 0: STDOUT: [2018/Mar/21|15:03:40] Loading light map from file "/mnt/Data/U4de81062dd1a43b3b551c71b9468c33b/SHEPLEY/15-NOTRE-DAME/3d-cad/textures/DRAFT1_ADD.vrlmap"... 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Light map loaded successfully. 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Running RTEngine 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Initializing CUDA renderer (single kernel version)... 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] NVIDIA CUDA not found. V-Ray GPU can run with C++/CPU device only 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Querying for CUDA devices... 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Using all available CUDA GPU devices. Not using CUDA CPU, it should be selected explicitly! 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] error: There is no device supporting at least CUDA 2.0! 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] warning: initDevices() failed. Please check that your system has compatible GPU devices installed. 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Average rays per light cache sample: inf (min 1, max 1) 2018-03-21 15:19:26: 0: STDOUT: [2018/Mar/21|15:19:26] Using premultiplied light cache. 2018-03-21 15:19:26: 0: Done executing plugin command of type 'Render Task'

Trying now with the full “export VRAY_OPENCL_PLATFORMS_x64=c++/cpu” as the value and will report back. I feel like I’m missing something here though?

Also, its odd to me that there is a 20minute gap to load the light map - which is only like 200mb. Just seems weird?

Yup, I’m an idiot:

key:
VRAY_OPENCL_PLATFORMS_x64

value:
c++/cpu

Heh. It happens.

Did that make it a lot happier? We can add that as yet another option, but I’d really rather V-Ray gracefully fell back after throwing some kind of obvious warning about it.

I think the best if we do go the Deadline override route would be to put it in the plugin config similar to what we do with Nuke interactive licenses. I think it’s fairly error prone in case you do buy some GPUs and forgot you set the machine to not use them…

Yeah, definitely easier this way I suspect. I’ve also figured out its a bit easier and clean to add it into the AWS portal env variable rather than the job ones - just keeps the job clean on my windows farm (and them able to self determine whether they use gfx card, cpu, or both).

Not a bad idea!

Charles just informed me that embedded vrscene files aren’t parsed :cry:

I was hoping there was a more simple explanation for why my people were popping in textureless, but this makes sense. Not sure how I’m going to handle this project I’m working on right now though… :question:

Can you merge them somehow? I did some quick Googling and didn’t come up with much.

Recursive remapping is something that will require some serious re-architecting and I’m not sure what kind of difficulties it’ll pose. Likely each plugin would need to support it differently.

Will give it a go - and by that I mean I’ll copy and paste the text from one to another and see what happens :laughing:

is this anything? docs.chaosgroup.com/display/VRA … -Ray+Scene

specifically this

Hmmmmmmmmmm! That might be something. I wonder if they have similar that would work outside of Maya.

I just wanted to bump this - I have had some luck with simple vrscene files and manually combining them in a text editor. Basically, I would just compare the original file and the embedded file with notepad++, and copy over the differences once it came to listing meshes and what not. This is not a great solution and I realistically can’t use it in production because its so manual BUT possible.

I think a real hangup for us right now is that:

We use a ton of vrscenes. Vrmesh’s are a bit hit or miss, so last year I made the decision that all proxies shall be vrscenes. At the time, and even now knowing this, I stand by the decision - vrscene’s have materials locked into them, they can have light also locked into it, and are totally platform agnostic. This is super useful for us transferring a tree or hi-res furniture from 3ds Max to SKP without having to rebuild the materials in SKP manually (which is what you have to do with vrmesh). vrmesh’s do have the material info saved in the actual 3d file that it references via a multi-material, which means that vrmesh’s do work with AWS, however, I can’t seem to find a great way to convert vrscene to vrmesh without having to rebuild all the materials (tried it, it sucks)

However, because of this, and because a vrscene as a proxy is not parsed, then the mesh info is usually rendered correctly, but not the material info because AWS doesn’t see it. For us, right now, this means I have to bring on other solutions for cloud rendering as I just can’t stop using all the proxies.

My big question is I’m not sure if I should change course or if we think this WILL be supported on AWS - perhaps some sort of parsing parser full of parses could be implemented for the impending vrscene russian doll.

Given the cuts we got from our adventure with just one vrscene file (and thanks for helping us to fix those rough edges), the idea of walking the tree is a bit scary to me, but I’ll bring it up.

One thing that makes these sorts of workflows really feasible for us is when the app in question is able to map paths itself. Maya has dirmap, and the Modo dev team provided us code that walks the tree in-memory at render time. What would be perfect is if V-Ray standalone could take a number of arguments for remapping internally and apply them when loading files which would benefit the whole VFX community instead of just Deadline users.

I can’t promise anything on this side, but I’ll talk to the right people about remapping file hierarchies.

as an anecdote, I tried out the vray cloud beta the other day - and guess who also does not parse embedded vrscene files? Vray cloud is super super basic right now, but I’m guessing they are struggling with the same thing and will need to write in the hooks into core (or something) to get it all working. Shame, vrscene’s are so great, and we finally have cloud rendering up and running

Privacy | Site terms | Cookie preferences