# Parameter definitions for thorn CarpetLib private: BOOLEAN verbose "Print info to the screen" STEERABLE=always { } "no" BOOLEAN barriers "Insert barriers at strategic places for debugging purposes (slows down execution)" STEERABLE=always { } "no" BOOLEAN commstate_verbose "Print debug info from the commstate class" STEERABLE=always { } "no" #BOOLEAN omit_prolongation_points_when_restricting "Do not restrict to points which are used to prolongate the boundary" STEERABLE=always #{ #} "no" #INT proper_nesting_distance "Minimum distance (in grid points) between two level interfaces" STEERABLE=always #{ # 0:* :: "any non-negative value is fine; the default value is just a guess" #} 4 BOOLEAN output_bboxes "Output bounding box information to the screen" STEERABLE=always { } "no" BOOLEAN check_bboxes "Check bounding box information for self-consistency" STEERABLE=always { } "yes" BOOLEAN poison_new_memory "Try to catch uninitialised data by setting newly allocated memory to values that will catch your attention" STEERABLE=always { } "no" CCTK_INT poison_value "Integer value (0..255) used to poison new timelevels (with memset)" STEERABLE=always { 0:255 :: "Must fit into a byte. Use 0 for zero, 255 for nan, and e.g. 113 for a large value." } 255 INT print_timestats_every "Print timing statistics periodically" STEERABLE=always { -1 :: "don't report" 0 :: "don't report" 1:* :: "report every so many iterations" } 0 STRING timestat_file "File name in which timestat output is collected (because stdout from the root node may not be enough)" STEERABLE=always { "^$" :: "empty filename: no file output" "^.+$" :: "file name" } "carpetlib-timing-statistics" INT print_memstats_every "Report periodically how much memory is used per process" STEERABLE=always { -1 :: "don't report" 0 :: "don't report" 1:* :: "report every so many iterations" } 0 INT max_allowed_memory_MB "Maximum allowed amount of memory per process (in Megabytes)" STEERABLE=always { -1 :: "no maximum" 0 :: "no maximum" 1:* :: "abort if more memory is used" } 0 STRING memstat_file "File name in which memstat output is collected (because stdout from the root node may not be enough)" STEERABLE=always { "^$" :: "empty filename: no file output" "^.+$" :: "file name" } "carpetlib-memory-statistics" # Experimental communication parameters BOOLEAN interleave_communications "Try to interleave communications with each other; each processor begins to communicate with its 'right neighbour' in rank, instead of with the root processor" STEERABLE=always { } "no" BOOLEAN vary_tags "Use different tags for each communication" STEERABLE=always { } "no" BOOLEAN barrier_between_stages "Add a barrier between the communication stages (slows down, but may make timing numbers easier to interpret)" STEERABLE=always { } "no" BOOLEAN combine_sends "Send data together and in order of processor ranks" STEERABLE=always { } "no" BOOLEAN reduce_mpi_waitall "Call MPI_Waitall only for requests that are not null" STEERABLE=always { } "no" BOOLEAN use_mpi_send "Use MPI_Send instead of MPI_Isend" STEERABLE=always { } "no" BOOLEAN use_mpi_ssend "Use MPI_Ssend instead of MPI_Isend" STEERABLE=always { } "no" SHARES: IO USES STRING out_dir