Skip to content
This repository has been archived by the owner on Jun 24, 2022. It is now read-only.

Serial vs parallel #8

Closed
AshtonSBradley opened this issue Apr 20, 2017 · 3 comments
Closed

Serial vs parallel #8

AshtonSBradley opened this issue Apr 20, 2017 · 3 comments

Comments

@AshtonSBradley
Copy link

AshtonSBradley commented Apr 20, 2017

If I run a large batch of trajectories on one machine, I can easily reach a limit where I have too many to fit in memory, and I start seeing a major IO lag. You have some write to file features now. What I am wondering is: if I want to run say 10^6 trajectories on one node (maybe this is happening on each node of a cluster for example), how should I manage the trajectories? Should I just step through sequential calls to like sol1 = solve(...), sol2 = solve(...) where each batch is manageable within memory, have each one write to file, and then aggregate the results? [I assume I would have to be careful to make the random noise seeds different here?]. Or should I just ask for the number of trajectories I want, and let solve() handle everything in a parallel environment? I am just wondering if there is any convenient way to handle this situation...

@ChrisRackauckas
Copy link
Member

I was thinking you can use output_func(sol,i) to write a CSV like sol$i.csv, and then have a post analysis script which gathers all of those up. Same will be able to be done with JLD when it can save functions again.

Any suggestions to make this easier?

@ChrisRackauckas
Copy link
Member

You can write to CSVs and then use this brand new package to stitch it all together and do analysis in parallel:

https://discourse.julialang.org/t/ann-juliadb-jl/3564
https://juliadb.org/

@ChrisRackauckas
Copy link
Member

There are many tools for this now, including JuliaDB, CSV output, #13 , reductions, etc. I think in the general form this is complete, and specifics can be addressed as more concise issues.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants