Increasing the concurrency/parallelism for a nested model #191
Unanswered
jstewa-snl
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I'm trying to run a nested model that basically does sampling within sampling and return the mean and standard deviation of the inner_method responses to the outer_method. Below is the dakota input that I currently have for this setup. It currently runs ok and returns the expected mean and standard deviation. However, with this setup I can only get 1 outer sample to run at a time with the 5 inner samples running concurrently. What I'd like to do is increase the evaluation throughput and run, for example, 10 simulations at the same time, i.e., 2 samples from the outer_method each with the 5 inner samples. After increasing the computing resources, I've tried setting evaluation_concurrency = 10 (doesn't make sense, but I tried it) and not setting an evaluation concurrency and let dakota automatically determine things (it only runs 1 job at a time). I've been running dakota 6.21 in serial since the actual simulations being performed are parallel simulations.
Any ideas on how to increase the concurrency/parallelism with this setup, if possible?
----------------------------------------------------------------------------
Top-level settings
environment
tabular_data
tabular_data_file = "result.txt"
top_method_pointer = "outer_method"
----------------------------------------------------------------------------
Method specification and settings
method
id_method = "outer_method"
output
verbose
sampling
samples = 10
seed = 13579
sample_type
lhs
refinement_samples = 10
model_pointer = "outer_model"
method
id_method = "inner_method"
output
verbose
sampling
sample_type
lhs
samples = 5
model_pointer = "inner_model"
----------------------------------------------------------------------------
Mapping of variables to responses through an interface
model
id_model = "outer_model"
nested
sub_method_pointer = "inner_method"
primary_variable_mapping = "a0"
primary_response_mapping = 1.0 0.0
0.0 1.0
variables_pointer = "outer_variables"
responses_pointer = "outer_responses"
model
id_model = "inner_model"
single
interface_pointer = "interface"
variables_pointer = "inner_variables"
responses_pointer = "inner_responses"
----------------------------------------------------------------------------
Parameter sets to be iterated by a particular method
variables
id_variables = "outer_variables"
active
design
mixed
continuous_design = 1
descriptors = "a"
lower_bounds = -1.0
upper_bounds = 1.0
variables
id_variables = "inner_variables"
active
design
mixed
continuous_state = 1
descriptors = "a0"
discrete_design_range = 1
descriptors = "x"
lower_bounds = 1
upper_bounds = 1000
----------------------------------------------------------------------------
How model function evaluations are performed
interface
id_interface = "interface"
analysis_drivers = "driver.inp"
fork
parameters_file = "params.inp"
results_file = "results.out"
parameters_format
aprepro
results_format
standard
file_save
work_directory
named = "WorkDirs/workdir"
directory_tag
directory_save
asynchronous
evaluation_concurrency = 5
----------------------------------------------------------------------------
Model output data returned by an interface
responses
id_responses = "outer_responses"
descriptors = "mu" "sigma"
response_functions = 2
no_gradients
no_hessians
responses
id_responses = "inner_responses"
descriptors = "energy"
response_functions = 1
no_gradients
no_hessians
----------------------------------------------------------------------------
Beta Was this translation helpful? Give feedback.
All reactions