Print

Print


Hello everyone,

   Nutshell of my request: I'm looking for examples or experience with anyone 
running MASON instances in multiple threads in ECJ and getting the results out 
of the MASON instance for fitness purposes

   Background/request: I'm working on a project where I'm doing some 
evolution with ECJ (version 20) using MASON (version 15) to run simulations.  
However the model I'm trying to run on MASON take a very long time, so I 
thought I'd try to speed up by running MASON in multiple threads.  I 
understand that ECJ can do evaluations in multiple threads, and in theory I can 
just run MASON in these multiple threads.  Normally one can get the results 
from MASON via a static method/variable in SimState class.  However since I 
want to run multiple MASON instances in multiple threads, I can't really use a 
static variable/method, so I'd need to use class variable in the MASON 
instance.  However because of the way MASON instances are instantiated and 
run (within the doLoop() method in the SimState class, there is no obvious or 
easy access to the instance itself.  I can probably work around by copying 
most of the code in the doLoop() into my code so I'd have access to the 
MASON instance.  But before I do that, I just wanted to check to see if anyone 
here has worked with ECJ and MASON where ECJ run multiple MASON 
instances in multiple threads and able to get results from all these 
simulations?

   Thanks everyone!
   Chewning