TheKitchenAbode

Processor Core Usage In Chief ?

Recommended Posts

I am trying to better understand the new capabilty to set the processor cores for Raytrace. Apologize for the length of this post.

 

Prior to X7 I assume that processor core managment was left to windows. My research into this indicates that windows by default makes all cores availabe to all running processes. There are also other peramiters such as priority that I assume windows also uses when managing throughput for best overall performance.

 

With X7 we can now define the number of cores. My initial asumption of this was that now I can direct windows to isolate those cores for the exclusive use of Raytrace and therefore the remainig core(s) are the only one(s) available for windows to manage.

 

Some other research I was doing indicates that in Windows there are already settings such as Affinity that allows me to assign cores to a specific program through the task manager. It is however my understanding that this does not isolate the cores but instead it tells windows that when managing all of the cores that it can only split the core specified program processing between the avaiable cores up to the programs defined limit. Under this scenario you are restricting the core defined program and that other processes not only have access to those cores but also have exclsive use of any additional cores that the defined core program does not have access to use.

 

Prior to X7 my system while running a Raytrace was obviously affected but it appeared that windows was on its own managing things reasonably well. Immediately after upgrading to X7 my system instantly demostrated a very noticable lag when running a Raytrace. The default Raytrace core setting is set to maximum cores. If I reduce this I can reduce this lag, which is how I came to my initial assumption that you are dedicating cores to Raytrace.

 

Now I'm a very curious sole so I fired up my computer, loaded a Raytrace with cores set at 4, my max. Brought up the task manager and obsereved the cpu graph for each core. As one would expect all four cores ran at essentialy 100%. Good so far, lets try 3 cores. Not what I was expecting which was 3 cores running 100% and 1 core runing near idle. Instead all cores were processing, 3 cores were runing around 80% and 1 core around 50%. Set cores down to two. All cores were still processing, 2 around 80% and the other 2 around 50%. Now 1 core. 1 core runing 80%, 1 core around 60% and the remaing 2 around 25%. From this I have to conclude that the Raytrace core assignment is not what we think it is. All cores are still being used, it seems to just force a redistribution which appears to be more of a cpu % usage control and not a core usage control.

 

To verify this I set the Raytrace cores back to 4. This time I used the windows affinity seting to assign core usage to Chief and rant the Raytraces again. 4 cores assigned, all 4 cores ran 100%. 3 cores assigned, 3 cores 100% 1 core idle. 2 cores assigned, 2 cores 100% 2 cores idle. 1 core assigned, 1 core 100% 3 cores idle. Exactly what I would expect.

 

Also, when the affinity cores were lower than the max. Then there was no effect when changing core assignment through Chief. The affinity settings over ruled.

 

Raytrace times were essentially the same and matched each core assignment whether they were set through Chief or Windows. I am wondering though if the difference in the way Chief manages cores compared to that of windows may be why we are experiencing these quirky slowdowns.

 

Hope so, otherwise I did all of this for nothing. Well not completly for nothing at least my curiosity seems to be satisfied for the moment.

 

Thanks for reading,
Graham

 

 

 

Share this post


Link to post
Share on other sites

The terminology in the dialog is technically inaccurate, but conveys the idea of what is happening reasonably well using terminology that most are familiar with.

 

What we do is more accurately described as controlling the number of threads being used by the ray tracer.

 

A thread is an OS level concept that says everything that is executed in a single thread is independent of other threads. Which allows the OS to assign the work to a single core or to spread it out over multiple cores if desired.

 

We leave the core assignment to the OS since we think the OS is better suited to manage that allocation than we are.

Share this post


Link to post
Share on other sites

Thanks Doug for explaining what is actually being done here. Can't let the "technically inaccurate" comment pass by. I'm no more technically inaccurate than the Raytrace Dialog DBX terminology "Number of Cores Used". :)

 

I ran some other tests comparing the thread approach versus the core assignment method.  Agree that the thread approach appears to run smoother, the core assignment demonstrated lag sooner than the thread approach. Regardless of which approach was being utilized everything was running smoothly until all of the cores maxed out at 100%. Had some other programs running in the background with a Raytrace. There was still some available headroom so I started jumping around tabs & library items to load things up. A very noticeable lag was occurring once the cores all reach 100%. Ran this procedure twice and was able to get X7 to crash both times while flipping through the catalog.

 

Graham

Share this post


Link to post
Share on other sites

Graham,

 

The generally preferred norm for RT is to set the system to use less than all cores.  IOW, if your system has 8 cores - set RT to use only 7.  This will leave a core free for other programs.  That's usually sufficient but if you have other needs you could limit RT to 6 or 5, etc.  IAE, the fewer cores RT has available the slower the RT will be.

Share this post


Link to post
Share on other sites

Joe - I have a quad core with the core always set to 3 max. I am just playing around here to see what it takes to bog down X7 or make it crash. I've been able to crash consistently 5 times now. Using core set at 4, 3 & 2. Error message below. Always crashes when I am flipping through the catalogs.

 

 

..\source\ChiefQtApplication.cpp(174): Error #272000999

" Assertion failed: An unexpected error occurred. You should use "Save As" to save your current work in a NEW FILE and restart this program."

4/27/2015 4:56:06 PM

Build: 17.1.2.2x32

 

Graham

Share this post


Link to post
Share on other sites

Doug,

 

Graham is using the 32 bit version of X7.  Could that be the problem?

Share this post


Link to post
Share on other sites

Just ran the same test with X6. All cores maxed out at 100% while running a Raytrace. Tab switching was fast a smooth catalogs came up quick, no real sign of lag.

 

There is a definite difference in X7.

 

This has been run on three different systems, all quad core. I also have the 64 bit version on other systems, same result.

 

It seems to happen only when the cores are maxed out. With a lot of multi tasking this is going to happen quite frequently.

 

Graham

Share this post


Link to post
Share on other sites

Just downloaded the 64 bit version to the same system that I rand the 32 bit.

 

Seems to be smoother, but was still able to generate this crash.

 

..\source\ChiefQtApplication.cpp(174): Error #272000999

" Assertion failed: An unexpected error occurred. You should use "Save As" to save your current work in a NEW FILE and restart this program."

4/27/2015 5:52:19 PM

Build: 17.1.2.2x64

 

Graham

Share this post


Link to post
Share on other sites

Graham,

 

There was a similar problem with Library Browsing on systems with Intel HD Graphics.  Basically it was related to having a 3D view displayed and then displaying a 3D preview of a Library Symbol.  I'm not sure if that's been fixed or if's related but the problem you are having is not repeatable on my system with an NVidea Graphics Adapter.

Share this post


Link to post
Share on other sites

Joe - I am using a Nvidia GeForce 650 Ti on this system. Another has a discrete Nvidia Geforce 310m mobile graphics adapter and another has integrated intel.

 

The only thing I find so far is that the better the system the more you have to push it to generate a crash. This would be expected as it only shows when the systems are being stressed out.

 

Graham

Share this post


Link to post
Share on other sites

Have you updated the Video Drivers?  None of those seem like current state of the art and the Drivers could well be out of date.

Share this post


Link to post
Share on other sites

Joe - I keep my systems as up to date as possible, all auto update features are active and all windows versions are current. I should stress here that this crash is only something that I can induce by really putting my systems under severe stress. Under normal usage I rarely encounter a problem. However since X7 this has happened several times without me purposely doing anything special, at this point I can only assume that this stressing has always occurred at times during normal usage even prior to the release of X7. For reasons unknown to me it seems that X6 was able to handle this better. I  also have X6 and ran a comparison with X7 on the same system. X6 definitely appeared to run smoother and faster than X7 under the same type of stressing and I could get X7 to crash repeatedly.

 

Was driven to explore this from reading the other post concerning X7 Performance - Crashes?. Tech was expressing difficulty as they could not replicate their experience and users though experiencing problems could not find any specific association to help guide tech. What I have found may or may not be the cause, it is however something that can be replicated at least on my systems.

 

Please keep in mind that many users including myself use Chief for far less demanding work than others. For myself I only need to render interiors, primarily kitchens & baths. I appreciate and often envy those users with truly cutting edge systems and understand that their work load justifies and requires this. It would however be a shame if these types of systems are required in order to do my type of work.

 

Graham

Share this post


Link to post
Share on other sites

The 32 bit version can run out of memory and crash. Assuming that isn't the case, which it doesn't appear to be, it would be good for you to get with our support team and walk them through the steps to reproduce the crash.

 

It is possible the crash is associated with threaded operations inside of Chief. A test would be to turn off "Optimize for Multi-Core CPUs" in preferences and see if you can reproduce the crash that way. If you can't that narrows down the possible areas.

 

Thanks for the stress test. This something we do in testing, but everyone does things a bit differently so knowing exactly what you did is helpful.

Share this post


Link to post
Share on other sites

Just downloaded the 64 bit version to the same system that I rand the 32 bit.

Seems to be smoother, but was still able to generate this crash.

..\source\ChiefQtApplication.cpp(174): Error #272000999

" Assertion failed: An unexpected error occurred. You should use "Save As" to save your current work in a NEW FILE and restart this program."

4/27/2015 5:52:19 PM

Build: 17.1.2.2x64

Graham

Did you send the report in? I am not able to reproduce the crash, I tried on 2 systems, with multiple 3D views, plan view, 1 raytrace going, 1 raytrace queued, generating 3D views, flipping through the library, CPUs maxed, fans screaming away and nothing. If you send the report in we can look at the action report and maybe better able to determine what is going on. When you get the assertion failure, there should be a send report button, just press it and we will have an action report. How easy is that?

Share this post


Link to post
Share on other sites

A test would be to turn off "Optimize for Multi-Core CPUs" in preferences and see if you can reproduce the crash that way.

 

I don't see this as an option in preferences. Are you referring to Chief or Windows?

Share this post


Link to post
Share on other sites

Here is where you can change the number of cores being used.

post-314-0-76840800-1430246927_thumb.png

Share this post


Link to post
Share on other sites

Sorry....mis-read the statements.  Here is the "Optimize for Multi-Core CPUs" location

post-314-0-07278300-1430247095_thumb.png

Share this post


Link to post
Share on other sites

Sorry....mis-read the statements.  Here is the "Optimize for Multi-Core CPUs" location

 

Thanks Jared - That's the one I wasn't aware of. Will give it a try and see what happens.

 

Graham

Share this post


Link to post
Share on other sites

With the "Optimize for Multi-Core CPUs" turned off it was quite easy to generate a crash. Sent report to Tech.

 

Had Raytrace set to maximum cores. Was running a Raytrace and then rapidly bouncing between different catalogs in the library. The crash seems to happen only when a catalog does not have enough time to fully display before another catalog is selected. It's as if it has difficulty dealing with multiple catalog requests.

 

Graham

Share this post


Link to post
Share on other sites

Hmmm.....

 

Might be an easy fix.

  disable_mouse - sleep_while_catalog_not_displayed - enable_mouse

or just loop within an error_block.

Share this post


Link to post
Share on other sites

Hmmm.....

 

Might be an easy fix.

  disable_mouse - sleep_while_catalog_not_displayed - enable_mouse

or just loop within an error_block.

 

Ok Joe got me on that one. Can you guide me to that setting and I will give it a try.

 

Graham

Share this post


Link to post
Share on other sites

Ok Joe got me on that one. Can you guide me to that setting and I will give it a try.

 

Graham

Funny,

 

I was suggesting how it might be fixed by programming, not any user settings.  :D:rolleyes:

Share this post


Link to post
Share on other sites

Thank goodness Joe. I was starting to really sweat up here. :unsure: Thanks for your quick response. I really was starting to click through Chief & Windows settings trying to find it. I really enjoy a challenge but like to think I have at least a chance. :)

Share this post


Link to post
Share on other sites

Thank you, we have your report.  We will be entering a critical bug on this and maybe our developers can fix the issue.  However, I have the identical video card you have and am still not able to repro this crash.  Your driver is a bit old, it is from 7/2/14 9.18.13.4052.  My driver is 2/5/15 9/18/13.4752.  This could be part of it, you should check your other systems as well and see if they are also out of date and update.  X7 uses some of the latest OpenGL commands and it is imperative to have the latest drivers to fully benefit from these newer OpenGL commands for system performance and stability.  We still shouldn't crash, that is bad, and we will see if we can fix this.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Member Statistics

    27996
    Total Members
    6254
    Most Online
    MAP6933
    Newest Member
    MAP6933
    Joined
  • Similar Content

    • By DesignByChad
      Is anyone using MS Surface machine with x12 ? Do you get good speed and graphics rendering?
      Thanks, 
      Chad
    • By carowe
      I just bought a new desktop and two 27” monitors in December and last week signed a contract on a job out of state that will require quite a bit of travel.  I am going to have to get a new laptop but really don’t want to spend a fortune at this point and don’t want to have to buy another license.  Most of my work will be done in my office, but on my trips out there will need to access my CA files, and perhaps work on them. What would be the minimum requirements I would need in order to access my main computer and let it do the heavy lifting on CA?  I use X11 Interiors and will primarily be working on kitchen and bathroom designs for the architect.
    • By PvdPol
      Dear all,
       
      I'm new to the forums and i've tried to find my way in the already existing topics, such as
      - https://www.chiefarchitect.com/products/sysreq.html
      - https://chieftalk.chiefarchitect.com/topic/21934-hardware-recommendations/?tab=comments#comment-179153
       
      I could not find an answer yet, hopefully some of you can help me out.
      I am currently struggling with Chief Architect Premier, ray traces are really slow at 1080P (1 pass takes like 15-30 min)
      Also working for in PBR is making my system really really slow and it is getting frustrating.
      My model is not complex and I think I need an hardware upgrade.
       
      Current machine (Notebook - April 2014)
      X•BOOK 15CL56 NVIDIA GTX770m 3GB, Full HD (+/- 20000 3DMARK) Intel® CoreTM i7-4710MQ (6M Cache, up to 3.50 GHz) - 47Watt (Quadcore) 16GB DDR3L (1600MHz)
        New system specifications (not bought yet)
      AMD Ryzen 7 3700X Boxed MSI X470 Gaming Plus Max Crucial Ballistix Sport LT BLS2K16G4D30AESB  (32GB Ram) Intel 660p 1TB Solidstate drive Graphic card? Nvidia? Any Advice?  
      I think the 32 GB of memory is already an overkill, not sure if this is needed.
      But I'm mostly wondering regarding the choice of CPU and Graphics card
       
      Is this a good setup? What kind of performance improvements can I expect? What would be your advice?
       
      Thank you!
       
      Regards,
      Peter
       
       
       
       
       
       
       
       
    • By winglakedesign
      Hello everyone,  
       
      I am about to purchase a new MacBook Pro.  Mine current MacBook Pro is  2015, Intel Core i5, 2.9 GHz, 8 GB MHz, Intel Iris Graphcs 6100 1536 MB.  Whatever all that means....I get the swirling rainbow often because I run Affinity Photo and Home Designer Architectural along with a few other things being open at the same time...mail, messages, etc.   
       
      So - time to upgrade.  I don't know which is more important to help run programs quickly - Obviously - I would like the upgrades on all - but it's already so expensive so wondering if the combination of standard and some upgrade will be okay.  I have  design business and use Chief Architecture for floor plan and furniture layouts to present to clients. 
       
      1) 2.6GHz 6‑core 8th‑generation Intel Core i7 processor, Turbo Boost up to 4.3GHz (standard)  vs 
      2.9GHz 6‑core 8th‑generation Intel Core i9 processor, Turbo Boost up to 4.8GHz
       
      2) 16GB 2400MHz DDR4 (standards)  memory vs. 
      32GB 2400MHz DDR4 memory
       
      3) Radeon Pro 560X with 4GB of GDDR5 memory (standard) vs
      Radeon Pro Vega 16 with 4GB of HBM2 memory vs 
      Radeon Pro Vega 20 with 4GB of HBM2 memory
       
      I was originally thinking of doing the upgrade to the i9 intel processor - only but then someone mentioned upgrading the graphics card. 
       
      I am sticking with Mac at this time because it's what I know.  Can anyone advise please?  Thank you so much!  
    • By AnotherCADUser
      I've been getting into the rendering and video side of CA. I've been using a Mac with 12gb shared ram, which is ok, but you can see it's not great, esp the frame rate. I want to really get into it with clients so I'm going to get X10 and my son said it should be smooth as with this machine. What do you think?
       
      https://www.dell.com/en-au/shop/dell-laptops/new-inspiron-15-7000-gaming-laptop/spd/inspiron-15-7577-laptop/a511070au