Announcement

Collapse
No announcement yet.

How are cpu lanes handled with rt?

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

  • How are cpu lanes handled with rt?

    If I ran additional gpus on my ws with 1x pcie riser extenders to help with active shade rt cuda rendering, would rt be slowed down by the 1x pcie speed, or do the gpus need to plugged into the MB?

    I'm wondering if a 40 lane cpu is not needed.

  • #2
    We have not made any tests, so I can't tell for sure.
    In theory, with "production-like" settings (high rays per pixel, high ray bundle size) there should be not delay. With more "interactive" settings (low rays per pixel, low ray bundle size) there could be some slowdown, probably not too much.

    Best,
    Blago.
    V-Ray fan.
    Looking busy around GPUs ...
    RTX ON

    Comment


    • #3
      Thanks Blago. I think the questions I'm having now require more learning on my part...so I'll look into doing more research. My goal now, is to speed up my workstation workflow with multi gpus, so some of the slowdowns can be sped up.

      Comment


      • #4
        yes i was wondering this too. Are there any discussions or studies showing the limitations of vray GPU rendering with on demand mip mappging? I'm interested in maximum poly count and high res textrures to help determine the minimum ram needed. Something not unlike the GPU benchmark blog post. Thanks!

        Comment


        • #5
          Originally posted by iancamarillo View Post
          yes i was wondering this too. Are there any discussions or studies showing the limitations of vray GPU rendering with on demand mip mappging? I'm interested in maximum poly count and high res textrures to help determine the minimum ram needed. Something not unlike the GPU benchmark blog post. Thanks!
          I hope I remember that correctly, but million polygons should be ~250MB. If you use motion blur, specific anisotropy or some other features this can get (a lot) more.
          V-Ray GPU does great job optimizing textures - we always use HDR textures for displacement and lights for example, but for textures you can go with 8bit ones (there is setting for that in the RT Settings Tab). Your memory usage will be 1 byte per channel * 3 channels (R, G, B) * Width * Height bytes.

          If you have all-white alpha or no alpha at all, V-Ray GPU will use only 3 channels, not 4. Also, if your texture happens to be monochrome, it will use only 1 channel. Thats without on-demand.

          It gets more optimized with on-demand - depending on how far the texture is from the camera it might use (Width/2), (Height/2) sizes or even smaller (divide by 4, 8 and so on).
          Also, there is some memory allocated for internal needs, but with V-Ray GPU architecture it is not too much. And we don't keep the frame buffer on the GPU, so you can render whatever resolution you like with as many render elements as you want. And of course, you can have instancing and procedural textures (which are basically free in terms of memory).

          Best,
          Blago.
          Last edited by savage309; 13-03-2017, 01:22 PM.
          V-Ray fan.
          Looking busy around GPUs ...
          RTX ON

          Comment


          • #6
            Wow that's very interesting to know. Thank you

            Comment


            • #7
              Originally posted by savage309 View Post
              I hope I remember that correctly, but million polygons should be ~250MB. If you use motion blur, specific anisotropy or some other features this can get (a lot) more.
              V-Ray GPU does great job optimizing textures - we always use HDR textures for displacement and lights for example, but for textures you can go with 8bit ones (there is setting for that in the RT Settings Tab). Your memory usage will be 1 byte per channel * 3 channels (R, G, B) * Width * Height bytes.

              If you have all-white alpha or no alpha at all, V-Ray GPU will use only 3 channels, not 4. Also, if your texture happens to be monochrome, it will use only 1 channel. Thats without on-demand.

              It gets more optimized with on-demand - depending on how far the texture is from the camera it might use (Width/2), (Height/2) sizes or even smaller (divide by 4, 8 and so on).
              Also, there is some memory allocated for internal needs, but with V-Ray GPU architecture it is not too much. And we don't keep the frame buffer on the GPU, so you can render whatever resolution you like with as many render elements as you want. And of course, you can have instancing and procedural textures (which are basically free in terms of memory).

              Best,
              Blago.
              Thanks, Blago. Regarding PCIE transfer requirements.

              Is the size of the file an indication of what the PCIE lane will need? For example, let's say I have a file size of 250 MB, if I render using rt cuda in production mode, the PCIE lane would only need 250 MB (lets use per second time scale). Once the 250 MB is transfered to the GPU, the card takes over, calculates and renders the image, and transfers the image back to either the VFB or writes a file.

              The reason I'm asking, is I'm trying to determine what my scenes would need for the PCIE transfer requirement, and how to speed up test rendering in production mode on my workstation for my workflow using additional GPU's.

              For example, if I had a GPU plugged into my MB at 8x PCIE 3 speed for my monitors, could I get away with adding more GPU's at slower PCIE speeds, like 4x at PCIE 3, if they are only needing the scene file transfer requirement to help with a test production render. Even at 1x PCIE 3, I think that is 950-ish MB/s, so 1x PCIE 3 would be more than enough, if the largest requirement was only to transfer the file size.

              This would help me figure out what my scenes would need, what I could add in terms of additional GPU power, and what my CPU and MB could handle, or if I need a bigger WS, what to get, taking into account future expandability. TIA

              Comment


              • #8
                The scene is transferred only once and this is not a bottleneck.

                After the scene is transferred, we start transferring render requests and render results over the PCIe. If you have low ray bundle size / rays per pixel, and/or fairly simple scene (that produces result very quick), we send requests/results fairly often over the PCIe, and it can to some extend become a bottleneck.
                In general, the PCIe is not from crucial importance for V-Ray GPU, since we transfer only the render results and render requests, which are not large amount of data.

                Best,
                Blago.
                V-Ray fan.
                Looking busy around GPUs ...
                RTX ON

                Comment


                • #9
                  Originally posted by savage309 View Post
                  The scene is transferred only once and this is not a bottleneck.

                  After the scene is transferred, we start transferring render requests and render results over the PCIe. If you have low ray bundle size / rays per pixel, and/or fairly simple scene (that produces result very quick), we send requests/results fairly often over the PCIe, and it can to some extend become a bottleneck.
                  In general, the PCIe is not from crucial importance for V-Ray GPU, since we transfer only the render results and render requests, which are not large amount of data.

                  Best,
                  Blago.
                  Is that for active shade or production, or both?

                  Comment


                  • #10
                    The kernel itself is the same between production and active shade, so both.
                    The main difference between Active Shade in Production is that in Active Shade we detect scene changes, and that in Production we allow Light Cache as GI engine and On-demand textures (those at some point could be made for Active Shade as well though).

                    Also, we have different default settings (rays per pixel / ray bundle size) for RT GPU depending on if it used for Production or Active Shade ... but basically thats it.

                    Best,
                    Blago.
                    V-Ray fan.
                    Looking busy around GPUs ...
                    RTX ON

                    Comment


                    • #11
                      Originally posted by savage309 View Post
                      The scene is transferred only once and this is not a bottleneck.

                      After the scene is transferred, we start transferring render requests and render results over the PCIe. If you have low ray bundle size / rays per pixel, and/or fairly simple scene (that produces result very quick), we send requests/results fairly often over the PCIe, and it can to some extend become a bottleneck.
                      In general, the PCIe is not from crucial importance for V-Ray GPU, since we transfer only the render results and render requests, which are not large amount of data.

                      Best,
                      Blago.
                      Would you say the file size dictates the bulk of the transfer...in other words, the render requests would be smaller than the scene file size? This would be a good measure for determining a benchmark so to speak.

                      Comment


                      • #12
                        Originally posted by biochemical_animations View Post
                        Would you say the file size dictates the bulk of the transfer...in other words, the render requests would be smaller than the scene file size? This would be a good measure for determining a benchmark so to speak.
                        Sorry, I am not sure if I understood the question well.

                        Best,
                        Blago.
                        V-Ray fan.
                        Looking busy around GPUs ...
                        RTX ON

                        Comment


                        • #13
                          Well, lets say I have a scene file size of 250 MB...upon render, 250 MB gets transferred to the gpu for rendering and you said render requests. Would you say the following render requests are less than 250 MB?

                          Comment


                          • #14
                            Yes, the sizes of those "requests" depend only on ray bundle size and rays per pixel settings and usually is small. Those requests are simply a bunch of rays, that need to be traced.

                            Best,
                            Blago.
                            V-Ray fan.
                            Looking busy around GPUs ...
                            RTX ON

                            Comment


                            • #15
                              Originally posted by savage309 View Post
                              Yes, the sizes of those "requests" depend only on ray bundle size and rays per pixel settings and usually is small. Those requests are simply a bunch of rays, that need to be traced.

                              Best,
                              Blago.
                              Ok, but what would you say would be the largest transfer...the scene? Is that the same size as the max file size?

                              Comment

                              Working...
                              X