-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experimental/jlnav plus shuds asktell #1307
base: develop
Are you sure you want to change the base?
Conversation
…tal/class_gens_ask_tell
…tal/class_gens_ask_tell
…erator, asks receive num_points (which defaults to n idle sim workers). batch_size and initial_batch_size attributes of a Generator subclass are also honored
…tal/class_gens_ask_tell
…ance to gen_f field)
…nal persistent gen_f via sends and recvs
…rt persistent_gen upon calling initial_ask
… manager/worker to initialize itself, more adjustments
…oop temp var overwriting import, bump number of "sims"
libensemble/gen_classes/aposmm.py
Outdated
self._n_total_results += len(results) | ||
|
||
if not self._told_initial_sample and self._enough_initial_sample: | ||
self._tell_buf = self._tell_buf[self._tell_buf["sim_id"] != 0] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why getting rid of sim_id 0?
…in initial_sample_size check, initing/fixing sim_ids to be -1, and can specify nworkers as kwarg to aposmm class
…n optimas when roughly enough initial sample points have been slotted in
… the last ask, another important indicator is that the last point produced has been returned to the gen. this gets us past the initial sample now, but now aposmm seems to return empty arrays?
libensemble/generators.py
Outdated
) | ||
else: | ||
self.inbox.put((tag, None)) | ||
self.inbox.put((0, np.copy(results))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll note some of these copies are presumably not needed if using a process. Its convenient for keeping it easy to swap between process and thread. But that could also be dealt with by using a function.
self._told_initial_sample = False | ||
|
||
def _slot_in_data(self, results): | ||
"""Slot in libE_calc_in and trial data into corresponding array fields. *Initial sample only!!*""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is what you want:
self._tell_buf[self._n_buffd_results:self._n_buffd_results + len(results)] = results
…aposmm tiny changes for slotting in data back from the waket/optimas workflow
|
||
H, persis_info, _ = workflow.run() | ||
|
||
# Perform the run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move comment up?
* Use QComm in QCommProcess for comms * Remove thread locked comm in executor * Add conditional code for executor forwarding * Remove extra setup() call * Use correct outbox queue
use macOS-supported queue condition
…d when data goes into gen.
Swap "sim_id" with "_id" when data leaves gen and vice-versa. For ask/tell standard
See checklist in #1307 (review)