From 2f773751aa09481b5332c24ad0a8d6afd93e5888 Mon Sep 17 00:00:00 2001 From: relf Date: Wed, 20 Dec 2023 15:23:52 +0100 Subject: [PATCH] Re-introduce Lhs optim parallel processing --- doe/src/lhs.rs | 14 ++++++++++++++ ego/src/lhs_optimizer.rs | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doe/src/lhs.rs b/doe/src/lhs.rs index 4eb1447e..50659f81 100644 --- a/doe/src/lhs.rs +++ b/doe/src/lhs.rs @@ -393,4 +393,18 @@ mod tests { let sample2 = lhs.sample(5); assert_abs_diff_ne!(sample1, sample2); } + + #[test] + fn test_lhs_clone_different() { + let xlimits = array![[-1., 1.]]; + let rng = Xoshiro256Plus::seed_from_u64(42); + let lhs = Lhs::new(&xlimits) + .kind(LhsKind::Classic) + .with_rng(rng.clone()); + let lhs1 = lhs.clone(); + let s1 = lhs1.sample(10); + let lhs2 = lhs.clone(); + let s2 = lhs2.sample(10); + assert_abs_diff_ne!(s1, s2); + } } diff --git a/ego/src/lhs_optimizer.rs b/ego/src/lhs_optimizer.rs index a00642b0..9bba6ae2 100644 --- a/ego/src/lhs_optimizer.rs +++ b/ego/src/lhs_optimizer.rs @@ -3,7 +3,7 @@ use egobox_doe::{Lhs, LhsKind, SamplingMethod}; use ndarray::{Array1, Array2, Axis, Zip}; use ndarray_rand::rand::{Rng, SeedableRng}; use rand_xoshiro::Xoshiro256Plus; -//use rayon::prelude::*; +use rayon::prelude::*; #[cfg(not(feature = "blas"))] use linfa_linalg::norm::*; @@ -150,6 +150,7 @@ impl<'a, R: Rng + Clone + Sync + Send> LhsOptimizer<'a, R> { // Make n_start optim let x_optims = (0..self.n_start) + .into_par_iter() .map(|_| self.find_lhs_min(lhs.clone())) .collect::>();