# Parameter definitions for thorn pugh # $Header$ shares: cactus USES REAL cctk_initial_time "" { : :: "Anything" } USES REAL cctk_final_time "" { : :: "Anything" } USES INT cctk_itlast "" { : :: "Any integer" } restricted: INT global_nx "The size of the grid in the x direction" { 0:* :: "Grid of this size distributed across all processors" } 10 INT global_ny "The size of the grid in the y direction" { 0:* :: "Grid of this size distributed across all processors" } 10 INT global_nz "The size of the grid in the z direction" { 0:* :: "Grid of this size distributed across all processors" } 10 INT global_nsize "The size of the grid in each spatial direction" { -1:* :: "Grid of this size in each dir distributed across all processors" } -1 INT ghost_size_x "The width of the ghost zone in the x direction" { 1:* :: "Must be a positive integer" } 1 INT ghost_size_y "The width of the ghost zone in the y direction" { 1:* :: "Must be a positive integer" } 1 INT ghost_size_z "The width of the ghost zone in the z direction" { 1:* :: "Must be a positive integer" } 1 INT ghost_size "The width of the ghost zone in each direction" { -1:* :: "Must be a positive integer" } -1 BOOLEAN periodic "Periodic boundary conditions" { } "no" private: BOOLEAN periodic_x "Periodic boundary conditions in x-direction" { } "yes" BOOLEAN periodic_y "Periodic boundary conditions in y-direction" { } "yes" BOOLEAN periodic_z "Periodic boundary conditions in z-direction" { } "yes" INT local_nx "The size of the grid in the x direction" { -1:* :: "Grid of this size on each processor" } -1 INT local_ny "The size of the grid in the y direction" { -1:* :: "Grid of this size on each processor" } -1 INT local_nz "The size of the grid in the z direction" { -1:* :: "Grid of this size on each processor" } -1 INT local_nsize "The size of the grid in each spatial direction" { -1:* :: "Grid of this size in each dir on each processor" } -1 BOOLEAN enable_all_storage "Enable storage for all GFs?" { } "no" # Processor topology KEYWORD processor_topology "How to determine the processor topology" { "manual" :: "Specified by proc_top_nx etc" "automatic" :: "Automatically generated" } "automatic" INT processor_topology_1d_x "No of Procs in X direction" { 0:* :: "See proc_topology" } 0 INT processor_topology_2d_x "No of Procs in X direction" { 0:* :: "See proc_topology" } 0 INT processor_topology_2d_y "No of Procs in X direction" { 0:* :: "See proc_topology" } 0 INT processor_topology_3d_x "No of Procs in X direction" { 0:* :: "See proc_topology" } 0 INT processor_topology_3d_y "No of Procs in X direction" { 0:* :: "See proc_topology" } 0 INT processor_topology_3d_z "No of Procs in X direction" { 0:* :: "See proc_topology" } 0 # padding stuff BOOLEAN padding_active "Padd 3D arrays so they line up on cache lines?" { } yes INT padding_cacheline_bits "Number of bits which have to be unique to padd properly for cache lines" { 1:* :: "Any positive number" } 12 INT padding_size "How many CCTK_REALs to pad by; we have to noodle around with the starting address, so if there isn't enough space we may not be able to pad" { 0:* :: "Any positive number" } 4112 INT padding_address_spacing "Number of CCTK_REALs to space starting addresses in lowest padding_cacheline_bits bits" { 0:* :: "Any positive number" } 24 BOOLEAN zero_memory "Zero memory for GF's at allocation time ?" { } yes KEYWORD partition "Is the partition manual" { "automatic" :: "even" "manual" :: "specified by partition_XYZ .." } "automatic" STRING partition_1d_x "Tells how to partition on direction X" { .* :: } "" STRING partition_2d_x "Tells how to partition on direction X" { .* :: } "" STRING partition_2d_y "Tells how to partition on direction y" { .* :: } "" STRING partition_3d_x "Tells how to partition on direction X" { .* :: } "" STRING partition_3d_y "Tells how to partition on direction y" { .* :: } "" STRING partition_3d_z "Tells how to partition on direction z" { .* :: } "" LOGICAL storage_verbose "Report on memory assignment" { } "no"