-
Notifications
You must be signed in to change notification settings - Fork 40
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
Multiprocessing #486
base: master
Are you sure you want to change the base?
Multiprocessing #486
Conversation
opengate/managers.py
Outdated
output = se.run_engine() | ||
return output | ||
|
||
def run(self, start_new_process=False): | ||
def generate_run_timing_interval_map(self, number_of_processes): | ||
if number_of_processes % len(self.run_timing_intervals) != 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 ? I thought we just divide ALL time_interval by the number_of_processes
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.
Yes, but letting the user define the total number of processes rather than the process per run is more intuitive and will not require an API change if we implement a more advanced splitting scheme in the future. So I think it's better this way.
Yes, but letting the user define the total number of processes rather than the process per run is more intuitive and will not require an API change if we implement a more advanced splitting scheme in the future. So I think it's better this way.
…On Oct 11 2024, at 11:00 am, David Sarrut ***@***.***> wrote:
@dsarrut commented on this pull request.
In opengate/managers.py (#486 (comment)):
> output = se.run_engine()
return output
- def run(self, start_new_process=False):
+ def generate_run_timing_interval_map(self, number_of_processes):
+ if number_of_processes % len(self.run_timing_intervals) != 0:
why ? I thought we just divide ALL time_interval by the number_of_processes
—
Reply to this email directly, view it on GitHub (#486 (review)), or unsubscribe (https://github.com/notifications/unsubscribe-auth/AIFQFYM2QBJ7YWBUP4ELK2TZ26HTVAVCNFSM6AAAAABPVS5KBSVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGNRSGMYTOOBUHE).
You are receiving this because you authored the thread.
|
I figured out a flexible mechanism to merge data back into one single actor output (if data is mergeable: true for images, not true yet for ROOT). Note: FinalizeSimulation() will not have access to engines because they do not exist any more outside of the subprocess. |
…g multiproc in interactive session
New:
Works with test019_phsp_actor -> created a new variant of the test. Still need to create variants of other tests that use ROOT output to check. |
…och time rather than date time str
Enable GATE 10 to split a simulation into multiple parallel processes.
THIS IS WORK IN PROGRESS
First implemented items:
Still missing: