Jump to content
Mr. Konstantin Kreutzer

Using multiple Cores without creating Designs in Advance

Recommended Posts

Hi everyone,

 

since we are planning to run various optimization processes with a respectable number of variations it would be great to use two or more processor-cores.

The way we are doing it right now is to enable asynchronous update, which works fine. There is just one tiny inconvenience left.

Activating asynchronous update leads inevitably to CAESES preparing all the variations before starting the actual calculation. It means that one has to wait for CAESES to stop the remaining "stil-to-evaluate"-designs after canceling the overnight-calculations in the next morning (using a conservative number of expected designs because the calculation time is not always very predictable). This can consume a bit of time.

 

If there is an easy (maybe one-click?) solution to start a Design-Engine using multiple cores without creating all the designs in advance?

 

 

Thanks!

Konstantin

Share this post


Link to post
Share on other sites

Hi Konstantin,

 

Actually, CAESES does not wait for all variants to be created before starting the calculations. The calculations are started while variants are created. This can be verified by setting an executable that basically does nothing but block (e.g. by setting an editor like notepad [for windows] in the functionscalculator sample). Now when you start the variation, notepad (well multiple notepads, actually) will pop up while the designs are being created. For every notepad that is closed, a new one will appear, also while the variants are being created. So, in addition, designs where the external computation has finished will be updated also while other designs are still being created.

 

Maybe I misunderstood your issue, though.

 

Best regards,

Arne

Share this post


Link to post
Share on other sites

Hi Konstantin,

 

Actually, our forum moved servers today, so our last to answers were lost. Here's your last reply from 10:42

 

----------------------------------------------------------------------
Hi Arne,

thanks for answering so quickly. To be completely sure I tried it once again with asynchronous update and it is true, CAESES starts the calculations (with respect to the given number of maxinum instances) while preparing ALL the remaining desings in advance.

Not that it is a major problem but after an overnight/weekend-calculation, there is not unlikely a bunch of unfinished designs left. And stoping them takes time. My question is therefore, can one somehow easily avoid to prepare all desings in advance, so that unpatient users do not have to wait while stoping the pending designs? I hope I described my issue in an understandable way.

Best regards,
Konstantin
----------------------------------------------------------------------

Share this post


Link to post
Share on other sites

And this was my answer:

 

Hi Konstantin,

 

Right now, CAESES tries to save as much time as possible by doing as much in parallel as possible. To be honest, your workflow to just start a DesignEngine with a very high number of designs and to stop it at a (pretty much) random point in time to work with the results obtained until then, is not exactly the most common one (at least I have not seen it before).

 

I do get your point, though. We will be thinking about adding an option for DesignEngines to limit the number of pending designs. Once that limit is reached, the engine would pause variant creation and continue once the results roll back in (keeping the set limit, of course). Would that meet your requirements?

 

Best regards,

Arne

Share this post


Link to post
Share on other sites

Hi Arne,

 

thanks for answering that quickly. If there is nothing like an instant-solution, I think it would be an overkill to add an extra-option. In this case I just have to get better in predicting the calculation time. But anyhow, thanks for the offer!

Concerning my workflow: Provided that your computation power is limited as well as your amount of time, wouldn´t it be the best to run a Sobol with a number of variants that exceeds (in the best case just a bit) the expected calculations which can be computed in the given time?

 

Best regards,

Konstantin

Share this post


Link to post
Share on other sites

Hi Konstantin,

 

Too late ;), 4.0 will have that option.

 

I didn't say that there is anything wrong with your approach, it's just not very common.

 

Usually, the Sobol is used to get a clearer picture of the problem space since it allows to explore the design space more or less completely. The results are then used as the basis for the formal optimization e.g. by using the TSearch. Actually, I know of one user who does something similar to your approach (i.e. just run a lot of variations and see where that goes), but he does it because he has "too much" computation power and would not be able to use that by running formal optimizations. That is usually done by using the Ensemble Investigation, though, in order to be able to control the variants that are created.

 

I am not an expert user, only a developer so all I can talk about is what I see others do with CAESES.

 

Anyways, in 4.0 you will be able to limit the number of pending designs during a design engine run.

 

Best regards,

Arne

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...