Announcement

Collapse
No announcement yet.

2 Max, 2 GPU, 2 Fast, 2 Furious!

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

  • 2 Max, 2 GPU, 2 Fast, 2 Furious!

    Hi there,

    I'm curious so I did some tests... with rather interesting results about Animation Rendering


    Why this? Because...

    ... During rendering the GPU does not work @100% continuously.

    For example, when switching to the next image.
    The code not only seeks the GPU; it also uses the CPU, it reads and writes data on disk and in memory, needs time to execute commands, etc.
    And during that time the GPUs are not used!

    I thought about how to fill those blanks to optimize the use of GPU and so I thought to make two images simultaneously. When GPU not used for the first image, it will be for the second one! And vice-versa.
    The secret: 2 Max instances!


    Now, here are my tests and their results.


    The Context:
    • - target: rendering 20 frames from non-static animation (particleFlow: fallin bolt nuts)
    • - resolution: 1920*1080
    • - render passes: 100
    • - light samples: 3
    • - max depth: 16
    • - Depth of field: Off
    • - Glare: Off
    • - Tone mapping: On
    • - vignetting: 5.0
    • - image blur: 1.0
    Click image for larger version

Name:	Planche-contact-001.jpg
Views:	1
Size:	1.15 MB
ID:	4130


    TEST 1: All-in-one
    3dsMax Instances: 1

    GPUs: 2

    Frames: 20 (0 to 19)
    Results:
    Rendering Time: 11min 32s

    GPU #1 usage: 93%
    GPU #1 vram usage: ~900
    GPU #2 usage: 94%
    GPU #2 vram usage: ~700
    TEST 2: Split animation. Open same scene on a second Max instance and just change frames range (e.g. First half and Second half).
    3dsMax Instances: 2

    GPU on Max#1: GPU#1
    Frames on Max#1:
    10 (0 to 9)

    GPU on Max#2: GPU#2
    Frames on Max#2:
    10 (10 to 19)
    > Both rendering started simultaneoustly

    Results:
    Rendering Time Max#1: 9min 58s
    GPU #1 usage: 94%
    GPU #1 vram usage: ~1100

    Rendering Time Max#2: 10min 19s
    GPU #2 usage: 95%
    GPU #2 vram usage: ~900
    TEST 3: Same as Test 2, but with both GPUs on both instances.
    3dsMax Instances: 2

    GPU on Max#1: Both
    Frames on Max#1:
    10 (0 to 9)

    GPU on Max#2: Both
    Frames on Max#2:
    10 (10 to 19)
    > Both rendering started simultaneoustly

    Results:
    Rendering Time Max#1: 9min 45s
    Rendering Time Max#2: 9min 49s

    GPU #1 usage: 98%
    GPU #1 vram usage: ~1200
    GPU #2 usage: 99%
    GPU #2 vram usage: ~1000
    Conclusions:

    Time to complete animation rendering:

    TEST 3: 9min49s. Both GPUs on 2 instances is better for lite scenes. Better optimization for GPU usage; more fast but more vram usage too.
    TEST 2: 10min19s. Separate GPU for each instances produced no real optimization for GPU usage but is a good compromise between rendering speed and vram usage.
    TEST 1: 11min32s. Both GPUs on 1 instance stay the better option for High poly scene which needs more vram. "Low" GPU usage; more "slow" but more free vram.



    Thanks for reading. May this help You.


    ...
    NEXT TESTS: Static animation
    Last edited by Sylk; 09-26-2016, 06:05 AM.
    Software: FStormRender: 1.5.0h | Drivers NV: 456.71 | 3dsMax: 2020.3 | Windows: 10 x64
    Hardware: Gpu: GTX1080 Phoenix GLH | Cpu: i7-2600k@4.5GHz | Ram: 16GB | SSD: Samsung 860 Pro

  • #2
    Hmm... what did you gain from this? The render times are mere seconds apart.

    Comment


    • #3
      Hmm... gain of 1min43s for 20 frames, then how many for thousands?
      Software: FStormRender: 1.5.0h | Drivers NV: 456.71 | 3dsMax: 2020.3 | Windows: 10 x64
      Hardware: Gpu: GTX1080 Phoenix GLH | Cpu: i7-2600k@4.5GHz | Ram: 16GB | SSD: Samsung 860 Pro

      Comment


      • #4
        so for 2000f (1mn20s) of animation, you gain approximatively 4h !
        it's huge.
        It would be great to know why ?

        Comment


        • #5
          Originally posted by kahein View Post
          It would be great to know why ?
          I explained why:

          Why this? Because...

          ... During rendering the GPU does not work @100% continuously.

          For example, when switching to the next image.
          The code not only seeks the GPU; it also uses the CPU, it reads and writes data on disk and in memory, needs time to execute commands, etc.
          And during that time the GPUs are not used!

          I thought about how to fill those blanks to optimize the use of GPU and so I thought to make two images simultaneously. When GPU not used for the first image, it will be for the second one! And vice-versa.
          Clearly, with test 3 set, both GPU are used to 99-100% for 100% of time.
          Software: FStormRender: 1.5.0h | Drivers NV: 456.71 | 3dsMax: 2020.3 | Windows: 10 x64
          Hardware: Gpu: GTX1080 Phoenix GLH | Cpu: i7-2600k@4.5GHz | Ram: 16GB | SSD: Samsung 860 Pro

          Comment

          Working...
          X