This is a useful change. I might make a slight extension of this. Cheers,
Edward On 21 June 2014 08:42, <[email protected]> wrote: > Author: tlinnet > Date: Sat Jun 21 08:42:47 2014 > New Revision: 24231 > > URL: http://svn.gna.org/viewcvs/relax?rev=24231&view=rev > Log: > Modified super profiling script, to allow input to script, where alternative > version of relax is positioned. > Collected the variables in a list of lists, for better overview. > > Added a print out comment to IT99, to remember the bug. > > Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion > models for Clustered analysis. > > Modified: > > branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/disp_profile_all.py > > Modified: > branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/disp_profile_all.py > URL: > http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/disp_profile_all.py?rev=24231&r1=24230&r2=24231&view=diff > ============================================================================== > --- > branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/disp_profile_all.py > (original) > +++ > branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/disp_profile_all.py > Sat Jun 21 08:42:47 2014 > @@ -41,53 +41,34 @@ > # The number of iterations to run each script for the statistics. > N = 10 > > -# The models. > +# The models / The current scripts. / Iterations / Multiplication factors > (to scale for different nr_iter values). > models = [ > - 'CR72 full', > - 'TSMFK01', > - 'B14 full', > - 'NS CPMG 2-site expanded', > - 'NS CPMG 2-site 3D full', > - 'M61', > - 'DPL94', > - 'TP02', > - 'TAP03', > - 'MP05', > - 'NS R1rho 2-site' > + ['No Rex', 'profiling_norex.py', 100, 1], > + ['LM63', 'profiling_lm63.py', 100, 1], > + ['CR72', 'profiling_cr72.py', 100, 1], > + ['CR72 full', 'profiling_cr72_full.py', 100, 1], > + ['IT99', 'profiling_it99.py', 100, 1], > + ['TSMFK01', 'profiling_tsmfk01.py', 100, 1], > + ['B14', 'profiling_b14.py', 100, 1], > + ['B14 full', 'profiling_b14_full.py', 100, 1], > + ['NS CPMG 2-site 3D', 'profiling_ns_cpmg_2site_3D.py', 10, 10], > + ['NS CPMG 2-site 3D full', 'profiling_ns_cpmg_2site_3D_full.py', 10, 10], > + ['NS CPMG 2-site expanded', 'profiling_ns_cpmg_2site_expanded.py', 100, > 1], > + ['NS CPMG 2-site star', 'profiling_ns_cpmg_2site_star.py', 10, 10], > + ['NS CPMG 2-site star full', 'profiling_ns_cpmg_2site_star_full.py', 10, > 10], > + ['M61', 'profiling_m61.py', 100, 1], > + ['DPL94', 'profiling_dpl94.py', 100, 1], > + ['TP02', 'profiling_tp02.py', 100, 1], > + ['TAP03', 'profiling_tap03.py', 100, 1], > + ['MP05', 'profiling_mp05.py', 100, 1], > + ['NS R1rho 2-site', 'profiling_ns_r1rho_2site.py', 10, 10], > ] > > -# The current scripts. > -scripts = [ > - 'profiling_cr72.py', > - 'profiling_tsmfk01.py', > - 'profiling_b14.py', > - 'profiling_ns_cpmg_2site_expanded.py', > - 'profiling_ns_cpmg_2site_3D.py', > - 'profiling_m61.py', > - 'profiling_dpl94.py', > - 'profiling_tp02.py', > - 'profiling_tap03.py', > - 'profiling_mp05.py', > - 'profiling_ns_r1rho_2site.py' > -] > - > -# Multiplication factors (to scale for different nr_iter values). > -scaling_factor = [ > - 1.0, > - 1.0, > - 1.0, > - 1.0, > - 10.0, > - 1.0, > - 1.0, > - 1.0, > - 1.0, > - 1.0, > - 10.0 > -] > - > # Path to relax 3.2.2, or any other version. > -alt_path = '/data/relax/tags/3.2.2' > +if len(sys.argv) == 1: > + alt_path = '/data/relax/tags/3.2.2' > +else: > + alt_path = sys.argv[1] > > # The Python executable name. > python = 'python' > @@ -99,13 +80,18 @@ > sys.stdout.write("\n\n") > > # Copy the current scripts to the base directory of the alternative relax > version. > -for script in scripts: > +for i in range(len(models)): > + # Alias. > + model, script, iter, scaling_factor = models[i] > + print("Copying: model=%s script=%s iterations=%s scale=%s"%(model, > script, iter, scaling_factor)) > copyfile(script, alt_path+sep+script) > > # Initialise structures for the timing statistics. > timings_new = {} > timings_alt = {} > -for model in models: > +for i in range(len(models)): > + # Alias. > + model, script, iter, scaling_factor = models[i] > timings_new[model] = zeros((2, N), float64) > timings_alt[model] = zeros((2, N), float64) > timings = [timings_new, timings_alt] > @@ -117,10 +103,11 @@ > > # Loop over each model. > for i in range(len(models)): > + model, script, iter, scaling_factor = models[i] > # The commands to run. > cmds = [ > - "%s %s" % (python, scripts[i]), > - "%s %s %s" % (python, alt_path+sep+scripts[i], alt_path), > + "%s %s" % (python, script), > + "%s %s %s" % (python, alt_path+sep+script, alt_path), > ] > > # Loop over the commands. > @@ -162,7 +149,7 @@ > row = line.split() > > # The timing. > - timings[cmd_index][models[i]][index, exec_iter] = > float(row[3]) > + timings[cmd_index][model][index, exec_iter] = float(row[3]) > > # Increment the index. > index += 1 > @@ -182,19 +169,19 @@ > # Loop over the models. > for i in range(len(models)): > # Alias. > - model = models[i] > + model, script, iter, scaling_factor = models[i] > > # The averages (scaled for different nr_iter). > - ave_new[model] = average(timings_new[model][0]) * scaling_factor[i] > - ave_new_cluster[model] = average(timings_new[model][1]) * > scaling_factor[i] > - ave_alt[model] = average(timings_alt[model][0]) * scaling_factor[i] > - ave_alt_cluster[model] = average(timings_alt[model][1]) * > scaling_factor[i] > + ave_new[model] = average(timings_new[model][0]) * scaling_factor > + ave_new_cluster[model] = average(timings_new[model][1]) * scaling_factor > + ave_alt[model] = average(timings_alt[model][0]) * scaling_factor > + ave_alt_cluster[model] = average(timings_alt[model][1]) * scaling_factor > > # The SD. > - sd_new[model] = std(timings_new[model][0]) * scaling_factor[i] > - sd_new_cluster[model] = std(timings_new[model][1]) * scaling_factor[i] > - sd_alt[model] = std(timings_alt[model][0]) * scaling_factor[i] > - sd_alt_cluster[model] = std(timings_alt[model][1]) * scaling_factor[i] > + sd_new[model] = std(timings_new[model][0]) * scaling_factor > + sd_new_cluster[model] = std(timings_new[model][1]) * scaling_factor > + sd_alt[model] = std(timings_alt[model][0]) * scaling_factor > + sd_alt_cluster[model] = std(timings_alt[model][1]) * scaling_factor > > # The speed up. > speed_up[model] = ave_alt[model] / ave_new[model] > @@ -202,8 +189,17 @@ > > # Final printout. > print("\n\n100 single spins analysis:") > -for model in models: > +for i in range(len(models)): > + # Alias. > + model, script, iter, scaling_factor = models[i] > print("%-25s %7.3f+/-%.3f -> %7.3f+/-%.3f, %7.3fx faster." % > (model+':', ave_alt[model], sd_alt[model], ave_new[model], sd_new[model], > speed_up[model])) > + > print("\nCluster of 100 spins analysis:") > -for model in models: > - print("%-25s %7.3f+/-%.3f -> %7.3f+/-%.3f, %7.3fx faster." % > (model+':', ave_alt_cluster[model], sd_alt_cluster[model], > ave_new_cluster[model], sd_new_cluster[model], speed_up_cluster[model])) > +for i in range(len(models)): > + # Alias. > + model, script, iter, scaling_factor = models[i] > + if model == 'IT99': > + comment = "IT99: Cluster of only 1 spin analysis, since v. 3.2.2 had > a bug with clustering analysis.:" > + else: > + comment = "" > + print("%-25s %7.3f+/-%.3f -> %7.3f+/-%.3f, %7.3fx faster. %s" % > (model+':', ave_alt_cluster[model], sd_alt_cluster[model], > ave_new_cluster[model], sd_new_cluster[model], speed_up_cluster[model], > comment) ) > > > _______________________________________________ > relax (http://www.nmr-relax.com) > > This is the relax-commits mailing list > [email protected] > > To unsubscribe from this list, get a password > reminder, or change your subscription options, > visit the list information page at > https://mail.gna.org/listinfo/relax-commits _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

