Announcement

Collapse
No announcement yet.

Vray next using AVX extensions?

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

  • Vray next using AVX extensions?

    I found that my xeon lowers CPU clock, when using vr4. Xeons AVX offset is locked, you can't avoid that (maybe v3 custom bios can do that, but unsure). So, the question - vr4 uses AVX ?

    53Ghz vs 44Ghz for rendering.

    VrayBenchmark doesn't low my CPU clocks.

    P.S. Arnold behaves the same, was very surprised. Maybe there's smth inside new compilers ?

    Also found this:

    Haswell was the first "wide" core from Intel (256-bit FP). In order to preserve power, the Power Management Unit (PMU) power gates the upper 128-bit of the FP when 256-bit instructions are not executed. In somewhere between August and September of 2014 Intel changed the behavior of the Turbo on Haswell. Previously the Turbo behavior was identical regardless if the upper 128-bit of the FP was executing or not (i.e same clocks for 128-bit and 256-bit workloads). In the microcode released in September 2014 the Turbo behavior was changed significantly, from static to workload dependant. In this microcode and all the newer ones the Turbo clocks are exactly the same for 128-bit workloads as before, but significantly lower for 256-bit workloads. On my CPU the difference is 400MHz.
    I just can't seem to trust myself
    So what chance does that leave, for anyone else?
    ---------------------------------------------------------
    CG Artist

  • #2
    V-Ray doesn't use AVX instructions.
    Would you please let us know the exact model of the CPU?
    Also, are we talking about different CPU models here or just for one model?
    Svetlozar Draganov | Senior Manager 3D Support | contact us
    Chaos & Enscape & Cylindo are now one!

    Comment


    • #3
      Tried haswell - doesn't low that much. But broadwell is different, it has avx turbo mode, tho I don't know if it works properly for ES version, like me using atm.

      It is 2699v4 ES.

      P.S. Same drastic CPU speed lowering is for arnold, corona, but not mantra or vray 3.x
      I just can't seem to trust myself
      So what chance does that leave, for anyone else?
      ---------------------------------------------------------
      CG Artist

      Comment


      • #4
        Thanks for the details, fortunately we got production version of the same processor into our environment which allows us to run the same benchmarks.
        We confirm that there is a some difference between version 3.x and 4.x but according to our test the difference is about 100MHz.
        Here is the result from VRayBenchmark test: https://ftp.chaosgroup.com/support/s...3_17-05-50.jpg
        And here is the one from V-Ray Next for 3dsMax: http://ftp.chaosgroup.com/support/sc...3_17-43-57.jpg

        Please note that the processor frequence doesn't fall bellow the base minimum, which for this processor is 2200MHz.
        Another very important information which this test give us is that newer version of V-Ray actually loads the CPU better, this is confirmed exactly by that difference.
        It's normal behaviour to see drop into CPU frequency when the CPU is better utilized. In your case however the drop goes beyond the actual minimum - this is indeed strange but we cannot guess why exactly it is happening.

        What we could confirm that V-Ray Next works fine with production version of 2699v4, we don't see any unexpected behaviour.

        A side note about the reporting issues on ChaosGroup forums or email. It would be nice if you could provide us all the details that you have regarding any of topic you would like to discuss with us.
        We have found very important information from the test you performed on the following thread:
        http://forum.ixbt.com/topic.cgi?id=8:25338-110
        It would have been great if we had that information in advance instead of finding it by accident later during the troubleshooting.
        Last edited by svetlozar.draganov; 13-08-2018, 08:25 AM.
        Svetlozar Draganov | Senior Manager 3D Support | contact us
        Chaos & Enscape & Cylindo are now one!

        Comment


        • #5
          I'm not sure, there's more information, than I sent to google group, where I saw no reply at all Like with CPU madness with difference between compiling instances ([q] Huge huge difference between updating instances (win7/win10)).

          And still, I think there's some avx code here. My CPU doesn't drop its speed, when avx disabled (I tried https://www.tomshardware.com/reviews...de,5461-2.html). So, even when you tell, vr4 doesn't use avx - I think it uses it. Maybe, avx is inside the embree core.

          P.S. My CPU is es, so maybe turbo avx doesn't work Saaaad.
          I just can't seem to trust myself
          So what chance does that leave, for anyone else?
          ---------------------------------------------------------
          CG Artist

          Comment


          • #6
            Here are some results from i7-930. This processor doesn't support AVX instructions, if V-Ray Next has any AVX code it would simply crash.
            Click image for larger version  Name:	2018-08-14_12-29-18_%282%29.jpg Views:	1 Size:	366.0 KB ID:	1007005
            3.6 Click image for larger version  Name:	vray_3_60_%283%29.jpg Views:	1 Size:	579.2 KB ID:	1007006
            Next Click image for larger version  Name:	vray_next_%281%29.jpg Views:	1 Size:	548.5 KB ID:	1007007

            Few things could be noticed here.
            1.V-Ray Next is definitely faster than 3.x
            2.There is a difference in the Processor MHz between 3.x and 4.x. V-Ray Next utilize the CPU better and as a consequence CPU works on less MHz.
            3.MHz never drops below the minimum.

            This is how V-Ray is expected to work on any production CPU. ES CPUs are not the same as Production ones so such discrepancies are not so unexpected.
            Svetlozar Draganov | Senior Manager 3D Support | contact us
            Chaos & Enscape & Cylindo are now one!

            Comment


            • #7
              What made you think, that the more CPU is used - the less CPU clocks should be ?

              From vr4 what's new:

              including optimized vector calculations using SSE 4.2 and customized Intel® Embree ray tracing library 2.13
              So, this makes me think is the key difference between vr3 and vr4.

              Next -
              The kernels are optimized for the latest Intel® processors with support for SSE, AVX, AVX2, and AVX-512 instructions. Embree supports runtime code selection to choose the traversal and build algorithms that best matches the instruction set of your CPU.
              - so, it doesn't always mean, that embree kernel will crash, if it won't find AVX.

              Just plz tell me how to turn off AVX choice embree making Just to be sure... I think it is not that hard to debug this

              P.S. Found this, hope it will work....
              To enable or disable AVX instructions you can use this commands:

              Enable AVX: bcdedit /set xsavedisable 0

              Disable AVX: bcdedit /set xsavedisable 1
              and this
              https://software.intel.com/en-us/art...pment-emulator

              edit

              turned off avx, now aida fpu stresstest runs at full speed, tho vray is still running at 2.0, so that makes me think, embree reads cpuid without os...
              Last edited by Paul Oblomov; 14-08-2018, 04:36 AM.
              I just can't seem to trust myself
              So what chance does that leave, for anyone else?
              ---------------------------------------------------------
              CG Artist

              Comment


              • #8
                Hi Paul,

                I'm the main maintainer of Embree in V-Ray Next. Allow me to answer a few of your questions:

                1. What Embree supports and how we build it for shipping are two different things. Yes, Embree does support runtime ISA detection, and if the library was built with AVX support it could detect and use AVX when available. But I assure you we do not ship AVX-enabled Embree builds as part of our official releases.

                2. Re CPUs clocks and their relation to CPU load -- CPU frequency management is a function of two factors -- power delivery and thermals, on individual-core level as well as on package level. A CPU core processing a larger workload per unit of time (what we casually refer as 'working harder') may and often does increase its power draw and from there -- its thermal dissipation. The main reason AVX causes drops of the CPU base frequencies is that the CPU performs considerably more work per unit of time when doing 256-wide SIMD computations, so even frequencies otherwise deemed as 'base' cannot be guaranteed. But AVX is not the sole differentiation -- one can make a CPU freq drop from a higher boost level to a lower boost level (which is what we observe with V-Ray Next vs V-Ray 3.6 in the range of ~100MHz) just by utilizing the CPU resources better -- i.e. perform computations more intensively. By its nature V-Ray is a very computationally-heavy software, so we constantly strive to improve its computational density, for instance, by extensively using SSE4.2 in Next. Anyhow, if you're inclined to read up further on CPU freq control, an elaborated account on the subject could be found here: https://software.intel.com/en-us/for...s/topic/710250

                Now, the main issue I see in your case, is that your ES CPU does drop below its non-AVX base freq, as *if* it detects AVX during rendering. But as I already mentioned, we don't ship AVX-enabled Embree, nor do we build other Next code with AVX enabled. Moreover, our tests on stock E5-2699v4 do not exhibit the freq drops observed on your ES.

                That said, we cannot make any guarantees about the compiler runtime (AKA CRT) used by V-Ray -- it usually comes pre-built to us and our users alike, and we have no control over what the CRT does when it detects AVX. The CRT that we ship V-Ray Next with on Windows is a new one we have not shipped with before. So I see the following options for you:

                1. To rule out any Embree interference (not just by Embree itself, mind you, but by the entire code path that uses Embree in the first place), you can do something simple -- just disable Embree in the V-Ray Settings tab -- 'Use Embree' checkbox.
                2. To see what the new CRT does on your system, and whether it utilizes 256-bit SIMD, would take an instrumented build of V-Ray Next where we track the XState of all rendering threads, but that will require both time and your thorough cooperation, and is definitely not a simple test.

                Best regards,

                Martin Krastev
                V-Ray Core developer

                Comment


                • #9
                  Well, I saw some insides regarding some microcode updates intel did to broadwell and haswell cores. But, to make things clear - f.e can we compile vr4 without that wide simd instructions Smth like vr3 is compiled against? Why I was mentioning avx was coz I'm not that good at compilers and all the stuff. Phx utilizing all my cores without any drops, like mantra or older vr3. So, I thought maybe thrs smth with avx, wide sse4 instructions or smth like that. Corona too drop my cpu to its knees. So, if thers smth that can be done to shed some light on that 'issue' - I'm ready. I even have kubuntu as my second os. Would be wonderful, if we somehow get in touch (if you dont mind of course).

                  I hope it wont take much time to compile vr4 like it was done for v3. Even most of the features are not there or somehow got cut...
                  I just can't seem to trust myself
                  So what chance does that leave, for anyone else?
                  ---------------------------------------------------------
                  CG Artist

                  Comment


                  • #10
                    While we don't use AVX instructions intentionally, we switched to the Microsoft C++ compiler for V-Ray Next (it gives us slightly better performance), and the C++ library of Microsoft may use AVX instructions if those are available. We don't really have control over this, unfortunately.

                    Best regards,
                    Vlado
                    I only act like I know everything, Rogers.

                    Comment


                    • #11
                      All vr4 builds are affected ? Or I have to try some older ones ?
                      I just can't seem to trust myself
                      So what chance does that leave, for anyone else?
                      ---------------------------------------------------------
                      CG Artist

                      Comment


                      • #12
                        They are all affected. I can get you a build with Intel C++ to test out, just let me know which Max version.

                        Best regards,
                        Vlado
                        I only act like I know everything, Rogers.

                        Comment


                        • #13
                          2019 or 2017

                          I found you post, that affected are beyond the end of jan. Tho, I don't have beta lic anymore
                          I just can't seem to trust myself
                          So what chance does that leave, for anyone else?
                          ---------------------------------------------------------
                          CG Artist

                          Comment


                          • #14
                            Eager to get that build

                            edit

                            Tried older builds - same
                            vray_adv_40102_max2017_x64_27962
                            Last edited by Paul Oblomov; 15-08-2018, 03:57 AM.
                            I just can't seem to trust myself
                            So what chance does that leave, for anyone else?
                            ---------------------------------------------------------
                            CG Artist

                            Comment


                            • #15
                              So, to clear things up:

                              vray4 not using avx, just lower cpu speed and nothing can be done ?
                              I just can't seem to trust myself
                              So what chance does that leave, for anyone else?
                              ---------------------------------------------------------
                              CG Artist

                              Comment

                              Working...
                              X