It would be nice if OpenBeagle support OpenMP. Today (and in the future) most computers have more than 1 computing unit. If you want to get most of OpenBeagle, multi-threading should be implemented. I think OpenMP should be the most easy way to implement mt.
gumaster@gmail.com
OpenMP is currently being implemented in 5 of the majors OpenBEAGLE operators : Crossover, Evaluation, Mutation, Selection and StatsCalculations. The modifications are on the SVN repository to activate OpenMP you have to define, in the cmake phase, BEAGLE_USE_OMP_R to obtain reproductible results or BEAGLE_USE_OMP_NR for maximum performance.
One thing to know is that this is only experimental developpement and we cannot garanty any reproductibility even when using BEAGLE_USE_OMP_R.
Also a restriction to Operators that derivate from CrossoverOp, MutationOp, SelectionOp or EvaluationOp MUST NOT modify any internal members dureing their operation, otherwise Segmentation Fault are garantied.