Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
6

What is the best hardware setup to minimize run time?

asked 2015-08-10 13:39:22 -0600

Jeff Landreth gravatar image

updated 2015-11-07 14:03:52 -0600

I see some recommendations that tend to indicate high processor speeds and that the software can really only run on one core unless you are running parallel simulations.
What are the recommendations for v8.1? Has this changed in v8.2 or 8.3?

edit retag flag offensive close merge delete

5 Answers

Sort by » oldest newest most voted
6

answered 2015-08-10 13:51:01 -0600

updated 2016-01-12 12:47:07 -0600

You are correct that the only real way to use multiple processors is to run simultaneous simulations. There are (as of this post) no algorithms in the EnergyPlus source code that take advantage of parallel processors. Depending on your simulation, there could be a few hardware related bottlenecks:

  1. CPU: The most obvious way to speed up calculations is to find a faster CPU. See the specific answers by @Mark Adams and @JasonGlazer for more details.
  2. Disk Drive (for read/write operations): If your input file is large, or you are asking for a lot of output variables, reading and writing to the hard disk can take a significant amount of time. Solid-state disks are much faster than the standard mechanical drives.
  3. Memory: For very large problems, you may need more memory than you have in RAM. In these cases, the computer may resolve to start writing to the hard disk which can really slow things down. More memory will really help if you are running a building with lots of zones and/or surfaces, or multiple simulations at the same time.
edit flag offensive delete link more

Comments

1

Just to follow up on item 2, I have a solid state card drive, but have been caught before when my IDF file was on the network. You can't define your local drive as a 'scratch disc'. If your files are on a network, copy it to your local drive to run.

David Goldwasser gravatar imageDavid Goldwasser ( 2015-08-10 14:33:54 -0600 )edit

FWIW, there was some limited multi-threading (via OpenMP) in previous versions of EnergyPlus. We removed it because it incurred an overhead of 5-10% when it was not used and actually slowed things down when multiple simulations were run in parallel. We could revisit multi-threading in the future using a lower-overhead platform like TBB or even pthreads, but for now we are focusing on single-threaded optimizations that benefit all simulations with no overhead. As @Mark Adams noted below, we are currently trying to leverage SSE and AVX vector instructions with promising initial results.

__AmirRoth__ gravatar image__AmirRoth__ ( 2015-08-11 08:20:52 -0600 )edit

I just installed OpenStudio 2.2.0 which installs EnergyPlus 8.7.0. Would this install take advantage of AVX if I have that capability on my machine? How about the Radiance install?

Determinant gravatar imageDeterminant ( 2017-09-10 12:10:09 -0600 )edit

@Neal Kruis, Specifically how would one diagnose item #3.Memory, to determine if it is an issue?

Molly Curtz gravatar imageMolly Curtz ( 2018-03-28 11:34:25 -0600 )edit

@Molly Curtz, You can use either task manager or resource monitor on windows to see what percent of your memory a specific task (e.g., EnergyPlus.exe) is using: https://www.digitalcitizen.life/how-u...

Neal Kruis gravatar imageNeal Kruis ( 2018-04-17 12:35:06 -0600 )edit
4

answered 2015-08-10 15:13:09 -0600

updated 2017-08-07 04:18:47 -0600

If you are running only a single simulation at a time, you should look for a processor with the highest possible GHz rating (including the Max Turbo Frequency). There are many high end processors that are 3.8-4.2 GHz.

Advanced User: My next suggestion is to have an Intel fourth generation or later processor and compile EnergyPlus yourself, but add "-march=native" to the compile flags. This will allow EnergyPlus to take full advantage of the more advanced architecture of these newer processors and more specifically be able to use AVX and AVX 2.0 instruction sets, which doubles the vectorization pipeline on the processor. Then in a year or so when AVX-512 comes out, it will be another doubling of the pipeline. In theory these advanced instruction sets should help EnergyPlus and decrease runtime, but your mileage my vary.

Then like others have mentioned, have plenty of RAM and ideally a SSD hard drive. I will say that an SSD hard drive, even if sometimes a marginal speed improvement for EnergyPlus, is a HUGE win for usability in general. It is by far the biggest bang for your buck and most noticeable speed improvement in easily the past 10+ years.

edit flag offensive delete link more
4

answered 2015-08-10 13:52:10 -0600

No changes in the recommendations. All processors are basically Intel at this point and basically the same speed, plus or minus 25%. I would make sure you have plenty of memory—8GB if you want to do multiple runs in parallel. Although if you need to do a lot of runs in parallel, you probably want to go to the cloud via a service like JEPlus, APIDAE, EnergyPlus Cloud, or by firing up your own OpenStudio server instance. Oh, solid-state disk also helps with I/O but just plain RAM is more important.

edit flag offensive delete link more
4

answered 2015-08-11 01:14:05 -0600

updated 2015-08-11 01:20:02 -0600

I understand your question is specifically geared toward using EnergyPlus in the standard way and therefore about pure hardware. The other answers cover that well already, no need to expand.

I think it's still somewhat relevant to mention that you could try to break up your workflow in three distinct phases, and gains would be especially important during the development/debugging stage:

  • Diagnostic runs: Start by first having two run periods: one in the winter, one in the summer. Either for sizing periods only, or a week of time. You'll be able to catch most runtime errors and warnings, and you will be able to analyze the output to see if your model is behaving like you expect it to. And it'll be much faster than a full year.
  • After fixing it, then you might want to do some preliminary runs and look into job splitting, such as running 12 parallel 1-month simulation, or even just running one week of each month. Gains of 3 to 6 times in runtime - for 12 1-month simulations - have been found while deviation was only a couple of percent (Garg et al, 2011). This is more than accurate enough to play with your design to improve the building and see where you stand.
  • Once satisfied, to reduce any bias and errors introduced during preliminary runs, you can do a final run once in full on a single thread.

Some (re)sources:

edit flag offensive delete link more

Comments

1

@Julien Marrec, that is a very nice answer from a workflow standpoint! Let me add that Autodesk's EnergyPlus Cloud, APIDAE from BUILDlabs, and JEPlus will do job splitting for you. And at least APIDAE—but probably the other two also—will sew up the results into a single set of EnergyPlus output files. If you what you are really looking for is to minimize the runtime of a single annual simulation, that is probably your best bet at this point.

__AmirRoth__ gravatar image__AmirRoth__ ( 2015-08-11 08:12:06 -0600 )edit
3

answered 2015-08-10 14:36:14 -0600

I have been running a bunch of EnergyPlus 8.3 simulations on a variety of processors lately and assuming that you have 2GB of memory for each simultaneous simulation that you are running, the biggest factor is the processor speed. I would recommend i7 (third or fourth generation at least). Overclocking helps some. I have not tested any i5 and the i3 that I tested was very slow. I have not gotten my hands on a fifth gen i7 yet but their specs make me think they will be a significant speed boost.

For simulations that I am doing at least, the I/O is a small amount of the total time so a solid state drive had no significant impact.

I have also been using Amazon to run some simulations and have found that c4.large instances are almost as fast as a fourth gen i7 and five hours cost less than a buck and can run two simultaneous simulations each.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

 

Question Tools

2 followers

Stats

Asked: 2015-08-10 13:39:22 -0600

Seen: 854 times

Last updated: Aug 07 '17