Author: bugman Date: Mon Oct 14 20:18:44 2013 New Revision: 21100 URL: http://svn.gna.org/viewcvs/relax?rev=21100&view=rev Log: Merged revisions 21099 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r21099 | bugman | 2013-10-14 20:18:11 +0200 (Mon, 14 Oct 2013) | 11 lines Modified the Monte Carlo simulation printout behaviour for the minimisation related user functions. This is to help in fixing bug #21190 (https://gna.org/bugs/?21190). This includes the calculate, grid_search, and minimise user functions. The new multi-processor is_queued() method is used to determine if the optimisation code of the specific analysis has queued rather than run the calculations. If queued, the 'Simulation X' text will not be printed out. This avoids printing out all the text at the start before anything has happened. The specific multi-processor optimisation code must provide it's own printouts when each calculation is complete. ........ Modified: branches/relax_disp/ (props changed) branches/relax_disp/pipe_control/minimise.py Propchange: branches/relax_disp/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Mon Oct 14 20:18:44 2013 @@ -1,1 +1,1 @@ -/trunk:1-21097 +/trunk:1-21099 Modified: branches/relax_disp/pipe_control/minimise.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/pipe_control/minimise.py?rev=21100&r1=21099&r2=21100&view=diff ============================================================================== --- branches/relax_disp/pipe_control/minimise.py (original) +++ branches/relax_disp/pipe_control/minimise.py Mon Oct 14 20:18:44 2013 @@ -54,14 +54,14 @@ # Deselect spins lacking data: overfit_deselect() + # Get the Processor box singleton (it contains the Processor instance) and alias the Processor. + processor_box = Processor_box() + processor = processor_box.processor + # Monte Carlo simulation calculation. if hasattr(cdp, 'sim_state') and cdp.sim_state == 1: # Loop over the simulations. for i in range(cdp.sim_number): - # Print out. - if verbosity: - print("Simulation " + repr(i+1)) - # Status. if status.current_analysis: status.auto_analysis[status.current_analysis].mc_number = i @@ -70,6 +70,10 @@ # Calculation. calculate(verbosity=verbosity-1, sim_index=i) + + # Print out. + if verbosity and not processor.is_queued(): + print("Simulation " + repr(i+1)) # Unset the status. if status.current_analysis: @@ -80,10 +84,6 @@ # Minimisation. else: calculate(verbosity=verbosity) - - # Get the Processor box singleton (it contains the Processor instance) and alias the Processor. - processor_box = Processor_box() - processor = processor_box.processor # Execute any queued commands. processor.run_queue() @@ -120,14 +120,14 @@ # Deselect spins lacking data: overfit_deselect() + # Get the Processor box singleton (it contains the Processor instance) and alias the Processor. + processor_box = Processor_box() + processor = processor_box.processor + # Monte Carlo simulation grid search. if hasattr(cdp, 'sim_state') and cdp.sim_state == 1: # Loop over the simulations. for i in range(cdp.sim_number): - # Print out. - if verbosity: - print("Simulation " + repr(i+1)) - # Status. if status.current_analysis: status.auto_analysis[status.current_analysis].mc_number = i @@ -136,6 +136,10 @@ # Optimisation. grid_search(lower=lower, upper=upper, inc=inc, constraints=constraints, verbosity=verbosity-1, sim_index=i) + + # Print out. + if verbosity and not processor.is_queued(): + print("Simulation " + repr(i+1)) # Unset the status. if status.current_analysis: @@ -146,10 +150,6 @@ # Grid search. else: grid_search(lower=lower, upper=upper, inc=inc, constraints=constraints, verbosity=verbosity) - - # Get the Processor box singleton (it contains the Processor instance) and alias the Processor. - processor_box = Processor_box() - processor = processor_box.processor # Execute any queued commands. processor.run_queue() @@ -209,6 +209,10 @@ # Deselect spins lacking data: overfit_deselect() + # Get the Processor box singleton (it contains the Processor instance) and alias the Processor. + processor_box = Processor_box() + processor = processor_box.processor + # Single Monte Carlo simulation. if sim_index != None: minimise(min_algor=min_algor, min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter, constraints=constraints, scaling=scaling, verbosity=verbosity, sim_index=sim_index) @@ -216,10 +220,6 @@ # Monte Carlo simulation minimisation. elif hasattr(cdp, 'sim_state') and cdp.sim_state == 1: for i in range(cdp.sim_number): - # Print out. - if verbosity: - print("Simulation " + repr(i+1)) - # Status. if status.current_analysis: status.auto_analysis[status.current_analysis].mc_number = i @@ -228,6 +228,10 @@ # Optimisation. minimise(min_algor=min_algor, min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter, constraints=constraints, scaling=scaling, verbosity=verbosity-1, sim_index=i) + + # Print out. + if verbosity and not processor.is_queued(): + print("Simulation " + repr(i+1)) # Unset the status. if status.current_analysis: @@ -238,10 +242,6 @@ # Standard minimisation. else: minimise(min_algor=min_algor, min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter, constraints=constraints, scaling=scaling, verbosity=verbosity) - - # Get the Processor box singleton (it contains the Processor instance) and alias the Processor. - processor_box = Processor_box() - processor = processor_box.processor # Execute any queued commands. processor.run_queue()