Number of processors

6 replies [Last post]
graham-s-wright
Offline
Joined: 12/25/2012

I rented some time on a different computer, a server with 8 cores. It's running windows 7 home premium service pack 1, 64 bit. The device manager does indeed show 8 processors, Intel Xeon 2.13 GHz. (The guys even opened the case and showed me the two huge heat sinks.) But in BEopt I can only set the number of processors as high as 4. Any idea why that would be? I installed the EnergyPlus 64 bit version.

The internet said run msconfig.exe to make sure the hyperthreading is turned on. In that program as well, the highest it would go is 4. Any clues appreciated. The thing is only running half as fast as my laptop.

shorowit
Offline
BEopt developer
Joined: 09/27/2011

The value in BEopt is obtained from Microsoft .NET and is the number of logical processors (i.e., it accounts for physical processors, cores, and hyperthreading). So your problem is definitely not specific to BEopt.

That said, here are a couple things you might do:

  • In your BIOS, there should be a section related to CPUs and hyper-threading. Make sure it all seems correct.
  • In msconfig, go to Boot > Advanced Options and uncheck the 'Number of Processors' checkbox.
  • Go into the device manager and make sure that it doesn't indicate any driver or hardware problems related to your CPUs.
  • Try the fix described here: http://www.tomshardware.com/forum/339659-28-cannot-cores

Good luck.


Scott Horowitz
Residential Buildings Group
National Renewable Energy Laboratory

graham-s-wright
Offline
Joined: 12/25/2012

Thanks for the quick answer I will try these.

graham-s-wright
Offline
Joined: 12/25/2012

Ah, it turned out they had installed Windows 7 Home which was limiting it to one of the two quad-core CPU chips. They reinstalled Windows 7 Ultimate and now BEopt can use all 8. They said these Xeons aren't new enough to do two threads each.

graham-s-wright
Offline
Joined: 12/25/2012

Related question: Is there a 32 processor limit on BEopt? I am trying to run it on Amazon ec2 virtual machines (Windows Server 2016 Base). No matter whether I pick Instance types with 32, 48, 64, or 72 processors, the most I can choose in the BEopt settings is 32. Installing .NET framework doesn't make a difference.

shorowit
Offline
BEopt developer
Joined: 09/27/2011

There's some good background information in the answer posted at http://www.volatileread.com/Thread/Index?id=26.

In short, it looks like the .NET framework is limited to seeing 32/64 cpus. Since we currently only distribute a 32-bit compiled version of BEopt, it's constrained to 32 cpus. We could look into switching over to 64-bit, which should allow 64 cpus.

Scott


Scott Horowitz
Residential Buildings Group
National Renewable Energy Laboratory

graham-s-wright
Offline
Joined: 12/25/2012

Good idea maybe. There does seem to be some limit on the amount of parallelism that BEopt can exploit? When I run it on machines with 4 or 8 cores it seems to be running 100% flat out whenever I check it, but on 32 cores it fluctuates more I think (see CPU screen shot from one of those Amazon ec2 instances). I suppose more is still better but there might be some diminishing returns on # processors?

AttachmentSize
Screen Shot 2018-02-12 at 7.15.24 PM.png 389.97 KB

This Web site is powered by renewable energy.