Announcement

Collapse
No announcement yet.

Windows workstations & Linux renderfarm

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Windows workstations & Linux renderfarm

    Hi all,

    As explained in the title we have 2 workstations on Windows 7 pro x64, and planned to get some CPU rendernodes with Fedora 22 workstation.
    VRay 3.0 Workstation on workstation (obviously) and Vray 3.0 Standalone on rendernodes installed.

    So is it possible to get DR working?
    How to tranfer assets and textures as our server is mapped differently on windows and linux?

    Thanks in advance for your answer.
    Regards.

    Jonathan

  • #2
    So no idea anyone about cross-platform rendering?

    Comment


    • #3
      Probably the most straight forward solution is to use the option for automatic transfer of assets.

      See here for info about DR options: http://docs.chaosgroup.com/display/V...butedRendering
      See here for info about some DR specific environment variables you may need to set: http://docs.chaosgroup.com/display/V...ment+Variables
      And a minimal tutorial http://docs.chaosgroup.com/display/V...uted+Rendering

      Unfortunately the docs are not complete in regards to DR+transfer assets, but will try to improve the situation.

      For other solutions you'll probably need a render manager application.
      V-Ray developer

      Comment


      • #4
        Hi Petrov,

        I'm so sorry for the late answer, really too much work, but anyway thank you for this tips!
        I was aware about the "transfert assets" option that came with Vray 3.0 DR, but it's not exactly what we need...

        As we are also using Amazon EC2 Instances (fedora 22 x64) for cloud rendering and all our data are already pushed on Amazon S3 buckets, we need more something like a "path mapping".
        Something able to tell when lauching DR jobs :

        - if on windows, the path to the "sourceimages" folder is :

        Z:/WORK/PROJECTS/sourceimages

        - if on linux, the path to the "sourceimages" folder is :

        /mnt/WORK/PROJECTS/sourceimages

        - and so on, for all the other folders (proxy, scene, etc...)

        We can already achieve that with Thinkbox Deadline for rendering frames for a shot, but not with VRay for rendering stills with DR activated...

        So if you have any idea it would be great!
        Thanks in advance.

        Regards.

        Jonathan

        Comment


        • #5
          Hi again Petrov,

          In the links that you provided, something interesting is the environment variable called "VRAY_ASSETS_PATH"...
          But on our EC2 Instances (fedora 22 x64), I forgot to tell you that VRay 3.0 is installed as Standalone.

          So is there a more simple way to tell VRay (only on our EC2 Instances) : if you receive a job, change all paths beginning with "Z:/" for "/mnt/" ?

          Thanks again for your help.
          Regards.

          Jonathan

          Comment


          • #6
            Hm,

            Then probably the only solution is to use environment variables when you specify the paths for assets.
            The paths you should use would look something like: ${PROJECT_ROOT}/sourceimages/mytexture.png.
            Then you set the variable on windows to be "Z:/WORK/PROJECTS/" and on linux "/mnt/WORK/PROJECTS/".

            Hope this won't be that hard to use.
            V-Ray developer

            Comment


            • #7
              Great to hear that kind of solution Petrov,

              Well, as for each project we use the "File > Set Project..." fonction on Maya and use relative path for all our assets ; I think that we don't need to set variable environment for our Windows Workstations, right?
              And so, do we really need to use this string "${PROJECT_ROOT}" for each asset path in Maya?

              Correct me if I'm wrong, and on linux Renderstations we need to set that new environment variable each time we change the project to render?

              So my questions are :
              - What environment variable do we need to change on linux? (because according to your documentation "VRAY_ASSETS_PATH" seems to not work with VRay Standalone...)
              - How could we change that environment variable on linux ? (yes, noob question , perhaps with "export PATH=/mnt/WORK/PROJECTS/" in our "~/.bashrc" to set it permanently?)

              Thanks again!
              Regards.

              Jonathan

              Comment


              • #8
                Originally posted by Phantom-Studio View Post
                Well, as for each project we use the "File > Set Project..." fonction on Maya and use relative path for all our assets ; I think that we don't need to set variable environment for our Windows Workstations, right?
                And so, do we really need to use this string "${PROJECT_ROOT}" for each asset path in Maya?
                Using projects and relative paths won't work, because V-Ray for Maya translates the relative paths and turns them in absolute during scene translation phase.
                DR doesn't know about Maya's projects, so V-Ray always uses absolute paths.
                You could probably write a python post translate script to replace the project path with an environment variable, but this is getting a bit complex.

                Originally posted by Phantom-Studio View Post
                Correct me if I'm wrong, and on linux Renderstations we need to set that new environment variable each time we change the project to render?
                You're correct, you have to change the environment variable when you change projects.

                Originally posted by Phantom-Studio View Post
                - What environment variable do we need to change on linux? (because according to your documentation "VRAY_ASSETS_PATH" seems to not work with VRay Standalone...)
                I'm not sure where you've read that VRAY_ASSETS_PATH is not supported by V-Ray Standalone, but this is not correct.
                It is supported and it is use primarily by V-Ray Standalone. The problem is that you have to place all assets directly in the folder pointed by VRAY_ASSETS_PATH.
                You cannot use if to remap asset paths.

                Originally posted by Phantom-Studio View Post
                - How could we change that environment variable on linux ? (yes, noob question , perhaps with "export PATH=/mnt/WORK/PROJECTS/" in our "~/.bashrc" to set it permanently?)
                There are many ways and putting it in ~/.bashrc is one of them.
                Another one is to create different scripts that start V-Ray Standalone for different projects. Then you can place the export command there.

                But generally it depends how you work and how it will be easiest for your use case.
                V-Ray developer

                Comment


                • #9
                  There is another work-around using windows share, but I've not tested it. On windows machines, you can use a standard share, i.e. \\machine\assets. Then on linux, you create /machine/assets and mount the windows share.
                  V-Ray/PhoenixFD for Maya developer

                  Comment


                  • #10
                    Petrov,

                    Thanks for your clear answer, it really helps me!

                    I'm not sure where you've read that VRAY_ASSETS_PATH is not supported by V-Ray Standalone, but this is not correct.
                    You're right, it's my fault, I've read too fast this line from your documentation...
                    "The variables that are valid for V-Ray Standalone only are marked with (standalone)."
                    Sorry about that.

                    The problem is that you have to place all assets directly in the folder pointed by VRAY_ASSETS_PATH.
                    So if I understand well, after setting the new environment variable, VRay will not be able to scan subfolders of this new path?
                    And all the assets (textures, proxy, ies, etc...) need to be in the same folder?
                    If yes, it will be quite annoying as we use differents folders to keep everything well organized...
                    And there is not another environment variable in order to make this kind of remap path?

                    Another one is to create different scripts that start V-Ray Standalone for different projects. Then you can place the export command there.
                    That's clever! Thanks for the tips, we will do like that!

                    Regards.

                    Jonathan

                    Comment


                    • #11
                      Hi Ivanov,

                      Thanks for your help!

                      On windows machines, you can use a standard share, i.e. \\machine\assets. Then on linux, you create /machine/assets and mount the windows share.
                      But our structure seems to be too complex for this kind of path, let me explain :

                      - We are 2 people in 2 differents cities
                      - 1 x workstation with all the datas on a Qnap NAS TS-670-Pro in location n°1
                      - 1 x workstation with all the datas on a Qnap NAS TVS-671 in location n°2
                      - the 2 Qnap NAS are synced in 2-ways.

                      Hope this help!
                      Regards.

                      Jonathan

                      Comment


                      • #12
                        Originally posted by Phantom-Studio View Post
                        So if I understand well, after setting the new environment variable, VRay will not be able to scan subfolders of this new path?
                        And all the assets (textures, proxy, ies, etc...) need to be in the same folder?
                        If yes, it will be quite annoying as we use differents folders to keep everything well organized...
                        And there is not another environment variable in order to make this kind of remap path?
                        Yes, if you use VRAY_ASSETS_PATH you have to place all assets in a single folder, without subfolders.
                        VRAY_ASSETS_PATH needs to be set only on the slave machines.

                        If you specify the environment variable in the name of the asset then you can keep your folder structure,
                        but you'll have to fix the paths in all nodes in the Maya scene (probably using some script or the File Path Browser).
                        V-Ray developer

                        Comment


                        • #13
                          Ok, great!

                          If you specify the environment variable in the name of the asset then you can keep your folder structure
                          That will fit all our needs! And we already use FilePathBrowser.

                          Everything is clear for us now, thanks to you Petrov!

                          Regards.

                          Jonathan

                          Comment


                          • #14
                            Hi Petrov,

                            The paths you should use would look something like: ${PROJECT_ROOT}/sourceimages/mytexture.png.
                            Then you set the variable on windows to be "Z:/WORK/PROJECTS/" and on linux "/mnt/WORK/PROJECTS/".
                            We follow and test your above workaround, and just to let you know : it works like a charm!
                            So great!

                            But about DR with Amazon EC2 instances, we have to figure out why we have connection timeout and no DR jobs received...
                            Even if we open TCP and UPD ports 20207.

                            1) We don't know what kind of IP to enter for Amazon EC2 Instance in the distributed Rendering Tab on our workstation.
                            As they can have :

                            - Private DNS = ip-172-31-xx-xx.ec2.internal
                            - Private IP = 172.31.xx.xx
                            - Public DNS = ec2-54-173-xxx-xx.compute-1.amazonaws.com
                            - Public IP = 54.173.xxx.xx
                            - Elastic IP = same as Public IP

                            So which one to choose?
                            Obviously we tried with Public IP with no success...

                            2) Do we need to open another port in the firewall to let DR jobs passing trought?

                            3) Can we set Connection Timeout with greater values? (as we are not in a local network and going throught internet for rendering)

                            4) Is there a way to ping as a dummy DR jobs? Just to see if it's running well.

                            5) Perhaps setting a VPN can also be a solution...

                            Thanks again for your help and advices.
                            Regards.

                            Jonathan

                            Comment


                            • #15
                              1. If you have ping and nmap -p 20207 <ip> work then this is the IP you should enter. nmap is a unix tool to test if a port is open or not.
                              2. I don't think so, I think that tcp 20207 should be enough.
                              4. Yes, you can use the vraydr_check tool to see if a server is running and what version it is.
                              5. Yes, but it will require some additional setup
                              V-Ray developer

                              Comment

                              Working...
                              X