Announcement

Collapse
No announcement yet.

Environment Variable to use all CPU cores

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

  • Environment Variable to use all CPU cores

    Hey guys,
    we have a little problem with animation scenes sent to the farm via Pulze Render Manager. After a certain task time (around 8h), the 3dsMax process sets itself to use only 1 of 56 cores. So frame times are extremely high. Right now it is unknown if the problem is caused by Pulze (because their support is abysmal) or V-Ray.
    In the past, processor affinity for V-Ray could be set by an environment variable, right? Is this still the case? Would an environment variable override anything else, in case Pulze is able to change it scene based? Ideally, we would love to have our farm render at 100% all the time.

    Click image for larger version

Name:	Pulze_Usage_v02.jpg
Views:	542
Size:	72.1 KB
ID:	1183592
    Click image for larger version

Name:	Pulze_Usage_v01.jpg
Views:	457
Size:	109.9 KB
ID:	1183593
    https://www.behance.net/Oliver_Kossatz

  • #2
    Hi, thanks for posting. The env. variable is read during the host application start-up. So if we have set it prior to rendering I don't see how we could change it midterm. I would say Pulze is managing it's jobs externally rather than having anything to do with the scenes or V-Ray.
    Vladimir Krastev | chaos.com
    Chaos Support Representative | contact us

    Comment


    • #3
      Ok. So how can I set the environment variable to a specific amount of cores?
      https://www.behance.net/Oliver_Kossatz

      Comment


      • #4
        If you have set up an environment variable this will remain as a setting during the whole rendering session. So if a job is using all cores in the first 8 hours and then continues rendering but using 1 core this sounds more like an external intervention not related to the scene or V-Ray.
        Vladimir Krastev | chaos.com
        Chaos Support Representative | contact us

        Comment


        • #5
          If you want to test the environment variable, it can be found here. VRAY_NUM_THREADS and you then set the number you need. Make sure to delete it if you do not need to use it.
          Vladimir Krastev | chaos.com
          Chaos Support Representative | contact us

          Comment


          • #6
            Also, the environment variable won’t change the affinity mask of the process as shown in the screenshot. The process would still have all CPUs selected, but would simply use fewer threads and thus not saturate all CPUs.

            Very strange that it only happens to the later frames, rather than all the time.

            Comment


            • #7
              the environment variable won’t change the affinity mask of the process as shown in the screenshot
              I can confirm this, just tested it.

              It is important to know if the change is happening at the 8th hour every time or is it related to the frame count or to find some other dependencies if any.
              Vladimir Krastev | chaos.com
              Chaos Support Representative | contact us

              Comment


              • #8
                Do you possibly have some utility designed to lighten the load on the computer that is set to auto-adjust the affinity mask if a process uses more than a certain amount of CPU for a certain amount of time. I think there are a few things that can do this (Process Lasso I think, among others). Useful tools, except when they are fighting against you

                Comment


                • #9
                  Just a quick info: This problem was caused by Pulze and it's processor affinity management.
                  https://www.behance.net/Oliver_Kossatz

                  Comment

                  Working...
                  X