Parallel particle evaluation
See original GitHub issueIs your feature request related to a problem? Please describe. I know I have an expensive function to evaluate, I am doing a simulation based optimization of a hyper parameter space. I am planning to use HPC environment because of this. Can particles be evaluated in parallel? Synchronously or even asynchronously? I thought an approach similar to this would be interesting (let me know if article is inaccessible).
Describe the solution you’d like
A switch to enable threads for particle evaluations. In particular, I am fine with firing off os.system()
commands and waiting for return.
Describe alternatives you’ve considered I supposed I could write a sub-script that executes the swarm in parallel, evaluates the target function for each particle, and returns those values to the optimizer. This wouldn’t allow for async optimization. Also, I could also try to write another optimizer, one that takes an option for the number of parallel particles.
What is the best way to go here? Still digging into this API currently.
Issue Analytics
- State:
- Created 5 years ago
- Comments:27 (17 by maintainers)
Top GitHub Comments
@danielcorreia96 - I think Lj is referring to you not me here 😄
@ljvmiranda921 @danielcorreia96 May I provide some thoughts of mine to the design issue. I feel like we should decouple the parallel particle evaluation and the optimizers such that one would still have access to it when he builds his own optimizer. To be honest, I don’t know if this is even possible but the optimizers should have as little of additional functionality compared to the backend as possible, shouldn’t they?