ptime = JobParallelizationDimOptions('time') ptime.num_cores_per_rank = 1 ptime.num_threads_per_rank = 1 #pspace.num_cores_per_rank ptime.num_ranks = 1 pspace = JobParallelizationDimOptions('space') pspace.num_cores_per_rank = 1 pspace.num_threads_per_rank = params_pspace_num_cores_per_rank[ -1] pspace.num_ranks = 1 # 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 #
p.runtime.timestep_size = params_timestep_size_reference p.runtime.timestepping_method = tsm[0] p.runtime.timestepping_order = tsm[1] p.runtime.timestepping_order2 = tsm[2] pspace = JobParallelizationDimOptions('space') pspace.num_cores_per_rank = 1 pspace.num_threads_per_rank = params_pspace_num_cores_per_rank[-1] pspace.num_ranks = 1 # Setup parallelization p.setup_parallelization([pspace]) if verbose: pspace.print() p.parallelization.print() p.parallelization.max_wallclock_seconds = estimateWallclockTime(p) p.gen_jobscript_directory('job_benchref_' + p.getUniqueID()) # Use this as a reference job p.reference_job_unique_id = p.job_unique_id 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: