diff --git a/experiments/jobscripts/testing/lin_sep_threaded.sh b/experiments/jobscripts/testing/lin_sep_threaded.sh
index 9c7dfa85010a5c2e9f7cc39e68f860c059bfb9a6..be7aa826ce7ae60fd125b127541840f6ac9f1cd5 100644
--- a/experiments/jobscripts/testing/lin_sep_threaded.sh
+++ b/experiments/jobscripts/testing/lin_sep_threaded.sh
@@ -1,11 +1,11 @@
 #!/bin/bash
 
 #SBATCH --job-name="Grid-search Linearly Separable (ECCCo)"
-#SBATCH --time=01:00:00
-#SBATCH --ntasks=20
-#SBATCH --cpus-per-task=20
+#SBATCH --time=00:30:00
+#SBATCH --ntasks=14
+#SBATCH --cpus-per-task=14
 #SBATCH --partition=compute
-#SBATCH --mem-per-cpu=2GB
+#SBATCH --mem-per-cpu=4GB
 #SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
@@ -13,4 +13,4 @@ module load 2023r1 openmpi
 
 source experiments/slurm_header.sh
 
-srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=linearly_separable output_path=results mpi grid_search n_individuals=100 threaded > experiments/grid_search_linearly_separable.log
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=linearly_separable output_path=results mpi grid_search n_individuals=20 threaded > experiments/grid_search_linearly_separable.log
diff --git a/experiments/jobscripts/tuning/generators/california_housing.sh b/experiments/jobscripts/tuning/generators/california_housing.sh
index ded42416d9d6248053740b2346adde10ac52123d..772c8117374b24c8e2764168c62329840af230f9 100644
--- a/experiments/jobscripts/tuning/generators/california_housing.sh
+++ b/experiments/jobscripts/tuning/generators/california_housing.sh
@@ -1,14 +1,16 @@
 #!/bin/bash
 
 #SBATCH --job-name="Grid-search California Housing (ECCCo)"
-#SBATCH --time=02:00:00
-#SBATCH --ntasks=100
-#SBATCH --cpus-per-task=1
+#SBATCH --time=01:00:00
+#SBATCH --ntasks=20
+#SBATCH --cpus-per-task=20
 #SBATCH --partition=compute
-#SBATCH --mem-per-cpu=8GB
+#SBATCH --mem-per-cpu=2GB
 #SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
 
-srun julia --project=experiments experiments/run_experiments.jl -- data=california_housing output_path=results mpi grid_search n_individuals=20 store_ce > experiments/grid_search_california_housing.log
+source experiments/slurm_header.sh
+
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=california_housing output_path=results mpi grid_search threaded n_individuals=10 > experiments/logs/grid_search_california_housing.log
diff --git a/experiments/jobscripts/tuning/generators/circles.sh b/experiments/jobscripts/tuning/generators/circles.sh
index 5d926be318ea6e36a363dd7df1169e6f60af0b51..f9bc0129051401e6a05c9847cddd50cce62b6aa8 100644
--- a/experiments/jobscripts/tuning/generators/circles.sh
+++ b/experiments/jobscripts/tuning/generators/circles.sh
@@ -1,14 +1,16 @@
 #!/bin/bash
 
 #SBATCH --job-name="Grid-search Circles (ECCCo)"
-#SBATCH --time=02:00:00
-#SBATCH --ntasks=100
-#SBATCH --cpus-per-task=1
+#SBATCH --time=01:00:00
+#SBATCH --ntasks=30
+#SBATCH --cpus-per-task=30
 #SBATCH --partition=compute
-#SBATCH --mem-per-cpu=8GB
+#SBATCH --mem-per-cpu=1GB
 #SBATCH --account=research-eemcs-insy
 #SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
 
 module load 2023r1 openmpi
 
-srun julia --project=experiments experiments/run_experiments.jl -- data=circles output_path=results mpi grid_search > experiments/grid_search_circles.log
+source experiments/slurm_header.sh
+
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=circles output_path=results mpi grid_search threaded n_individuals=100 > experiments/logs/grid_search_circles.log
diff --git a/experiments/jobscripts/tuning/generators/german_credit.sh b/experiments/jobscripts/tuning/generators/german_credit.sh
new file mode 100644
index 0000000000000000000000000000000000000000..263ac1bd01c0540515b8918450044fab59d48cea
--- /dev/null
+++ b/experiments/jobscripts/tuning/generators/german_credit.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+#SBATCH --job-name="Grid-search German Credit (ECCCo)"
+#SBATCH --time=01:00:00
+#SBATCH --ntasks=30
+#SBATCH --cpus-per-task=30
+#SBATCH --partition=compute
+#SBATCH --mem-per-cpu=1GB
+#SBATCH --account=research-eemcs-insy
+#SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
+
+module load 2023r1 openmpi
+
+source experiments/slurm_header.sh
+
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=german_credit output_path=results mpi grid_search threaded n_individuals=100 > experiments/logs/grid_search_german_credit.log
diff --git a/experiments/jobscripts/tuning/generators/gmsc.sh b/experiments/jobscripts/tuning/generators/gmsc.sh
new file mode 100644
index 0000000000000000000000000000000000000000..729fa36eb47649ea1c81ade7861d917a23f55460
--- /dev/null
+++ b/experiments/jobscripts/tuning/generators/gmsc.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+#SBATCH --job-name="Grid-search GMSC (ECCCo)"
+#SBATCH --time=01:00:00
+#SBATCH --ntasks=20
+#SBATCH --cpus-per-task=20
+#SBATCH --partition=compute
+#SBATCH --mem-per-cpu=2GB
+#SBATCH --account=research-eemcs-insy
+#SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
+
+module load 2023r1 openmpi
+
+source experiments/slurm_header.sh
+
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=gmsc output_path=results mpi grid_search threaded n_individuals=10 > experiments/logs/grid_search_gmsc.log
diff --git a/experiments/jobscripts/tuning/generators/linearly_separable.sh b/experiments/jobscripts/tuning/generators/linearly_separable.sh
new file mode 100644
index 0000000000000000000000000000000000000000..fca9ee05761f5b3757edccdbef5cc92c2814744d
--- /dev/null
+++ b/experiments/jobscripts/tuning/generators/linearly_separable.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+#SBATCH --job-name="Grid-search Linearly Separable (ECCCo)"
+#SBATCH --time=01:00:00
+#SBATCH --ntasks=30
+#SBATCH --cpus-per-task=30
+#SBATCH --partition=compute
+#SBATCH --mem-per-cpu=1GB
+#SBATCH --account=research-eemcs-insy
+#SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
+
+module load 2023r1 openmpi
+
+source experiments/slurm_header.sh
+
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=linearly_separable output_path=results mpi grid_search threaded n_individuals=100 > experiments/logs/grid_search_linearly_separable.log
diff --git a/experiments/jobscripts/tuning/generators/moons.sh b/experiments/jobscripts/tuning/generators/moons.sh
new file mode 100644
index 0000000000000000000000000000000000000000..8d81d33aa027f6a27448929eaa414b8c6bb8bd59
--- /dev/null
+++ b/experiments/jobscripts/tuning/generators/moons.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+#SBATCH --job-name="Grid-search Moons (ECCCo)"
+#SBATCH --time=01:00:00
+#SBATCH --ntasks=30
+#SBATCH --cpus-per-task=30
+#SBATCH --partition=compute
+#SBATCH --mem-per-cpu=1GB
+#SBATCH --account=research-eemcs-insy
+#SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
+
+module load 2023r1 openmpi
+
+source experiments/slurm_header.sh
+
+srun julia --project=experiments --threads $SLURM_CPUS_PER_TASK experiments/run_experiments.jl -- data=moons output_path=results mpi grid_search threaded n_individuals=100 > experiments/logs/grid_search_moons.log
diff --git a/experiments/jobscripts/tuning/generators/synthetic.sh b/experiments/jobscripts/tuning/generators/synthetic.sh
deleted file mode 100644
index 66bcf412e2ca22045d5b32298346299c5b17b1ef..0000000000000000000000000000000000000000
--- a/experiments/jobscripts/tuning/generators/synthetic.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-#SBATCH --job-name="Grid-search Synthetic (ECCCo)"
-#SBATCH --time=05:00:00
-#SBATCH --ntasks=100
-#SBATCH --cpus-per-task=1
-#SBATCH --partition=compute
-#SBATCH --mem-per-cpu=8GB
-#SBATCH --account=research-eemcs-insy
-#SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
-
-module load 2023r1 openmpi
-
-srun julia --project=experiments experiments/run_experiments.jl -- data=linearly_separable,moons,circles output_path=results mpi grid_search > experiments/grid_search_synthetic.log
diff --git a/experiments/jobscripts/tuning/generators/tabular.sh b/experiments/jobscripts/tuning/generators/tabular.sh
deleted file mode 100644
index 3c043ea7ea9d486169a8fcadb3849be59ccfb7e4..0000000000000000000000000000000000000000
--- a/experiments/jobscripts/tuning/generators/tabular.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-#SBATCH --job-name="Grid-search Tabular (ECCCo)"
-#SBATCH --time=04:00:00
-#SBATCH --ntasks=100
-#SBATCH --cpus-per-task=1
-#SBATCH --partition=compute
-#SBATCH --mem-per-cpu=8GB
-#SBATCH --account=research-eemcs-insy
-#SBATCH --mail-type=END     # Set mail type to 'END' to receive a mail when the job finishes. 
-
-module load 2023r1 openmpi
-
-srun julia --project=experiments experiments/run_experiments.jl -- data=gmsc,german_credit output_path=results mpi grid_search n_individuals=25 store_ce > experiments/grid_search_tabular.log
diff --git a/experiments/setup_env.jl b/experiments/setup_env.jl
index 608f6dc037d46e3dcb449f2e4508c5d1cc7e715b..931a3c1e7b2e68fe5410109b179de32c852938ea 100644
--- a/experiments/setup_env.jl
+++ b/experiments/setup_env.jl
@@ -109,6 +109,9 @@ if "mpi" ∈ ARGS
         @info "Multi-processing using MPI. Disabling logging on non-root processes."
         if USE_THREADS
             @info "Multi-threading using $(Threads.nthreads()) threads."
+            if Threads.threadid() != 1
+                global_logger(NullLogger())
+            end
         end
     end
 else
@@ -196,7 +199,7 @@ DEFAULT_GENERATOR_TUNING = (
 "Generator tuning parameters for large datasets."
 DEFAULT_GENERATOR_TUNING_LARGE = (
     Λ = [[0.1, 0.1, 0.1], [0.1, 0.1, 0.2], [0.2, 0.2, 0.2]],
-    reg_strength = [0.0,],
+    reg_strength=[0.0, 0.1,],
     opt = [
         Descent(0.01), 
         Descent(0.05),