Parallel processing issues for building energy simulation using openstudio

Hi everyone, I’m using openstudio in Ladybug Tools for multi-objective optimization of energy consumption in buildings. Since multi-objective optimization takes a lot of time, I checked the 1.3.0 announcement for improved parallel processing and the ability to set the number of cpu.


  1. When using HB_Model_To_OSM for energy simulation, the task manager shows only one thread working and it took 67 seconds to complete a simulation.

  1. I added and used HB_Run_OSM for energy simulation and it took 56.7 seconds to complete a simulation. Using HB_Run_OSM did reduce the simulation time, but I found that there was still only one thread working on the cpu in the task manager. And I set the cpu count manually, still only one thread is working, so it looks like parallel processing is not implemented.

  • I would like to know if it is possible to implement energy simulation with all CPU threads working simultaneously to reduce simulation time?

  • About the cpu count setting option in the HB_Run_OSM program, I’m not sure if the input is the number of cpu / cpu cores / cpu threads? For example, my computer’s cpu is AMD 3970x (32 cores 64 threads), do I need to input 1 or 32 or 64 ?
    image


I am not sure if I have described my question clearly and I hope to get your answer.
Thanks.

Hi @omen ,

Individual EnergyPlus/OpenStudio models cannot be simulated in parallel (at least not with the current version of EnergyPlus used by Honeybee). The EnergyPlus developers are currently working on some clever ways to make use of parallel processing for individual models but these methods won’t be available for some time and, at their best, these methods can only improve simulation speed by a factor of 2 or 3. The primary reason for this is that, in building energy simulation, the heating and cooling at a given hour necessarily depends on what has already happened in the previous hours. So this requires energy simulations to run with one hour after another, thereby placing a serious limit on what can be parallelized.

So this all begs the question of “why is there a _cpu_count_ on the HB Run OSM component if individual energy models cannot be simulated in parallel?”

This is a good question. If you read the description of the _osm input on this component, you’ll see that the component can actually accept a list of OSM files that have already been exported from the “Model to OSM” component. So, if you connect multiple OSM files to this component, each of these OSM files can be simulated on a separate processor in parallel. This becomes very useful when you have large parametric studies. For example, you want to understand the impact that 10 different glazing ratios have on the EUI of the building. It can also come in handy if you’re trying to simulate several buildings at once, like what you would have in an urban district.

So that’s why the _cpu_count_ is there. Hope that helps.

7 Likes

Hi @chris ,
Thank you for your detailed explanation, I have fully understood the problem and the role of cpu count.

1 Like

Hi @chris
I’m using octopus plugin in combination with ladybugTools to do a multi-objective optimization simulation of building energy consumption, because of the above problem cpu can currently only use one thread to participate in the calculation, I want to make full use of CPU performance, is it possible to build two virtual machines by using VMware software on the computer to perform multi-objective optimization simulation at the same time?

1654656126131

1 Like

That’s a question for the octopus developers. I have never used octopus before and I have generally found that design space visualization (like that which you can do with Design Explorer) has been a bit more useful for my purposes.

Anything helps to speed up things