p.runtime.timestepping_order2 = tsm[2]

                # Update TIME parallelization
                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())
Exemple #2
0
jg = JobGeneration()

# Request dedicated compile script
jg.compilecommand_in_jobscript = True

# Wallclock time
max_wallclock_seconds = 2 * 24 * 60 * 60
ref_max_wallclock_seconds = 48 * 60 * 60
jg.parallelization.max_wallclock_seconds = ref_max_wallclock_seconds

# HPC stuff
pspace = JobParallelizationDimOptions('space')
pspace.num_cores_per_rank = jg.platform_resources.num_cores_per_node / 2
pspace.num_threads_per_rank = 8
pspace.num_ranks = 1
jg.setup_parallelization([pspace])

#Basic plane options
CompileSWEPlane(jg)

# Activate benchmark timers
jg.compile.benchmark_timings = 'enable'

# Verbosity mode
jg.runtime.verbosity = 3

# Benchmark ID
jg.runtime.benchmark_name = "normalmodes"

# Compute error or difference to initial data
jg.runtime.compute_error = 1