-
Notifications
You must be signed in to change notification settings - Fork 59
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
Parallelization #45
Comments
Despite the major changes I tried to pull in #43 , parallelization of the entire population is not that hard to implement, using the |
I do not think that My goal is to make some sort of universal parallelization pipeline that would be configured to a specific computational topology, and the used to run any evolutionary algorithm. The computational pipeline should have some simple interface and comprehensive syntax, input |> ga(fitness = objFunc, mutation = inversion) |> Distributed(ncores = 10) or maybe even some simple DSL, @local ga(input, mutationRate = 0.2, tolIter = 20) do
population |> roulette |> inversion |> offspring
end |
I understand what you're saying, but the |
Which you already doing in #43 😉 Anyway, I think the right approach would be to start compartmentalizing code of evolutionary functions. |
The #49 should provide a easier way of implementing parallelized versions of existing algorithms by introducing a series of new states with appropriate parallel |
An easy approach to parallelisation which would be useful, is to ask the user (caller) to calculate the fitness for many individuals at once. Then the user can simply parallelise that call themselves (using whatever means is appropriate for their machine) and minimal changes are required in this package. i.e. what I am suggesting is simply that the user provides a function which must internally iterate over teh population. In a simple case I could already use this directly and parallelise through e.g. a call to |
That might work. Currently, the fitness evaluation done by |
Hi, nice package! Have there been any update on the parallelisation? |
I added a simple override for multi-threaded fitness evaluation: https://wildart.github.io/Evolutionary.jl/dev/tutorial/#Parallelization.
|
Hi! I'm trying to implement parallelization following the first link, but when I download the package and check Evolutionary.Options(), parallelization is not listed. Actually, "rng" and "callback" are also missing. Do you know what might be the reason? Thanks! |
Just want to follow up and saw that allowing value functions to be able to use Distributed would be great addition. I think the threading helps but doesn't allow you to evaluate multiple samples from the population simultaneously |
Consider parallelization of the algorithms in multiple modes:
The text was updated successfully, but these errors were encountered: