# Setup parallelization p.setup_parallelization([pspace, ptime]) if verbose: pspace.print() ptime.print() p.parallelization.print() if len(tsm) > 4: s = tsm[4] p.load_from_dict(tsm[4]) p.parallelization.max_wallclock_seconds = estimateWallclockTime( p) p.gen_jobscript_directory('job_benchref_' + p.getUniqueID()) p.reference_job_unique_id = p.job_unique_id # # Create job scripts # for tsm in ts_methods[1:]: p.runtime.timestepping_method = tsm[0] p.runtime.timestepping_order = tsm[1] p.runtime.timestepping_order2 = tsm[2] if len(tsm) > 4: s = tsm[4] p.runtime.load_from_dict(tsm[4])
tsm = ts_methods[0] jg.parallelization.max_wallclock_seconds = ref_max_wallclock_seconds SetupSpectralMethods(jg) jg.runtime.timestep_size = 2 # second #jg.runtime.output_timestep_size/100.0 jg.runtime.timestepping_method = tsm[0] jg.runtime.timestepping_order = tsm[1] jg.runtime.timestepping_order2 = tsm[2] jg.runtime.space_res_physical = -1 #jg.runtime.space_res_spectral = 1024 jg.runtime.space_res_spectral = phys_res_list[0] # Tag this as a reference job jg.reference_job = True jg.gen_jobscript_directory() jg.reference_job = False # Use this one as the reference solution! jg.reference_job_unique_id = jg.job_unique_id # # Use only 2 iterations for Semi-Lagrangian methods # unique_id_filter.append('runtime.semi_lagrangian') jg.runtime.semi_lagrangian_iterations = 2 jg.runtime.semi_lagrangian_convergence_threshold = -1 jg.parallelization.max_wallclock_seconds = max_wallclock_seconds for tsm in ts_methods[1:]:
basename = jg.runtime.benchmark_name more_samples = True if more_samples: alpha_min = 1.0 alpha_max = 41.0 alpha_samples = 160 else: alpha_min = 1.0 alpha_max = 20.0 alpha_samples = 19 n_list = [5, 3, 7] m_list = [4, 1, 3] experiment = mexp.modes_TC2(n_list, m_list, alpha_min, alpha_max, alpha_samples) exp_filename = "mode_setup_n" + '-'.join(map( str, n_list)) + "_m" + '-'.join(map(str, m_list)) + ".pckl" codes = experiment.codes experiment.save_file(exp_filename) #setup up mode initializations for mode_code in codes: jg.runtime.benchmark_name = basename + "_" + mode_code jg.gen_jobscript_directory('job_bench_' + jg.getUniqueID()) # Write compile script jg.write_compilecommands("./compile_platform_" + jg.platforms.platform_id + ".sh")