# 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" RESTRICTED: 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 CCTK_INT deadbeef "A strange integer value that indicates that something has gone wrong; the integer equivalent of a nan" STEERABLE=always { *:* :: "should be large and positive" } 666 # 7353315 PRIVATE: # System limits INT max_core_size_MB "Maximum size of a core file, set via setrlimit" STEERABLE=recover { -2 :: "unchanged" -1 :: "unlimited" 0:* :: "limited" } -2 INT max_memory_size_MB "Maximum amount of memory per MPI process, set via setrlimit" STEERABLE=recover { -2 :: "unchanged" -1 :: "unlimited" 0:* :: "limited" } -2 # Statistics INT print_timestats_every "Print timing statistics periodically" STEERABLE=always { -1 :: "don't report" 0 :: "report after initialisation" 1:* :: "report every so many iterations" } -1 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 that can be allocated for grid variables (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" BOOLEAN combine_recompose "Recompose all grid functions of one refinement levels at once" STEERABLE=always { } "yes" # Communication experiment parameters INT message_size_multiplier "Enlarge size of transmitted messages by this factor" STEERABLE=always { 1:* :: "" } 1 INT message_count_multiplier "Transmit messages this many times" STEERABLE=always { 1:* :: "" } 1 # 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 barrier_between_stages "Add a barrier between the communication stages (slows down, but may make timing numbers easier to interpret)" STEERABLE=always { } "no" BOOLEAN check_communication_schedule "Check the communication schedule at run time (expensive)" STEERABLE=always { } "no" BOOLEAN combine_sends "Send data together and in order of processor ranks" 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