Commits

Sam Skillman committed 4989f2c

Fixing up some of the documentation and reverting changes that should be done
locally rather than pushed up to the main repo. Also commenting out the MPI_Wait
since that seems to still be a source of confusion based on a few email list
messages. It should be PR'ed separately.

Comments (0)

Files changed (4)

doc/manual/source/user_guide/CUDAEnzo.rst

 In order to make Enzo compatible with CUDA, a few changes need to be
 made in the settings. 
 
-The first thing is to locate the Make.config.settings located within the ``src/`` 
-directory in the Enzo repository. Make sure then that 
+Currently Enzo CUDA is only compatible with 32-bit precision.  In order to
+correctly set this, make sure that in src/enzo/ you run the following 
+configuration commands:
 
 ::
-
-   CONFIG_ECUDA=yes
-   CONFIG_INTEGER=32
-   CONFIG_PRECISION=32
-   CONFIG_INITS=32
-   CONFIG_IO=32
-   CONFIG_PARTICLE_IDS=32
-   CONFIG_PARTICLES=32
+    make cuda-yes
+    make integers-32
+    make precision-32
+    make particles-32
+    make particle-id-32
+    make inits-32
+    make io-32
 
 Then locate your machine specific Makefile, e.g. Make.mach.mymach, and 
 then set the following variables:

run/DrivenTurbulence3D/DrivenTurbulence3D.enzo

 UseCUDA                    = 0
 ProblemType                = 106
 TopGridRank                = 3	
-TopGridDimensions          = 128 128 128
+TopGridDimensions          = 32 32 32
 SelfGravity                = 0
 TopGridGravityBoundary     = 0
 LeftFaceBoundaryCondition  = 3 3 3
 #  set I/O and stop/start parameters
 #
 StopTime            = 10.0
-StopCycle = 5
 #CycleSkipDataDump   = 10
 dtDataDump          = 0.1
 DataDumpName        = data
 #  set grid refinement parameters
 #
 StaticHierarchy           = 1
-FluxCorrection            = 0
+FluxCorrection            = 1
 MaximumRefinementLevel    = 0
 RefineBy                  = 2
 CellFlaggingMethod        = 6 
 Gamma                       = 1.001
 Mu                          = 1.0
 CourantSafetyNumber         = 0.3
-HydroMethod                 = 4     // 3 - no MHD, 4 - MHD
+HydroMethod                 = 3     // 3 - no MHD, 4 - MHD
 DualEnergyFormalism         = 0
 RiemannSolver               = 1
 Theta_Limiter               = 1.5
 LengthUnits     = 3.086e19   // 10 parsec box
 DensityUnits    = 1.67e-22   // 100/cm^3 particles
 TimeUnits       = 1.543e14   // 1 = crossing time at mach 10
-UseDrivingField = 0          // Temporaly and spatially fixed force pattern on/off
+UseDrivingField = 1          // Temporaly and spatially fixed force pattern on/off
 DrivingEfficiency = 1.6e3    // Vary to get an approximately constant Mach Number depending on conditions
 SetTurbulence     = 1
 Density           = 1.67e-22
 MachNumber        = 10       // Start at 15 so settles at 10
 RandomSeed        = 842091
 InitialBfield     = 1e-6
-Debug1            = 0
+Debug1            = 1
 
 #
 #  set some global parameters

src/enzo/CommunicationBufferedSend.C

  
   stat = MPI_Isend(buffer_send, Count, Type, Dest, Mtag, CommWorld, RequestHandle+index);
   if( stat != MPI_SUCCESS ){my_exit(EXIT_FAILURE);}
-  MPI_Wait(RequestHandle+index, &Status);
+  // Uncommenting the next line can improve performance in some cases.
+  // MPI_Wait(RequestHandle+index, &Status);
  
   /* Store buffer info. */
  

src/enzo/Make.config.settings

 #    CONFIG_EMISSIVITY
 #    CONFIG_NEW_GRID_IO
 #    CONFIG_FAST_SIB
-#    CONFIG_FLUX_FIX
 #    CONFIG_USE_HDF4	
 #    CONFIG_BITWISE_IDENTICALITY
 #    CONFIG_USE_ECUDA
 #    64            use 64-bit integers
 #-----------------------------------------------------------------------
 
-     CONFIG_INTEGERS = 32
+     CONFIG_INTEGERS = 64
 
 #=======================================================================
 # CONFIG_PARTICLE_IDS
 #    64            use 64-bit integers for particle IDs
 #-----------------------------------------------------------------------
 
-     CONFIG_PARTICLE_IDS = 32
+     CONFIG_PARTICLE_IDS = 64
 
 #=======================================================================
 # CONFIG_PRECISION
 #    64            use 64-bit precision for floating point data
 #-----------------------------------------------------------------------
 
-     CONFIG_PRECISION = 32
+     CONFIG_PRECISION = 64
 
 #=======================================================================
 # CONFIG_PARTICLES
 #   128            use 128-bit precision for particle positions
 #-----------------------------------------------------------------------
 
-     CONFIG_PARTICLES = 32
+     CONFIG_PARTICLES = 64
 
 #=======================================================================
 # CONFIG_INITS
 #    64            use 64-bit precision for inits
 #-----------------------------------------------------------------------
 
-     CONFIG_INITS = 32
+     CONFIG_INITS = 64
 
 #=======================================================================
 # CONFIG_IO
 #    aggressive    Use aggressive optimization
 #-----------------------------------------------------------------------
 
-     CONFIG_OPT = aggressive
+     CONFIG_OPT = debug 
 
 #=======================================================================
 # CONFIG_TESTING
 
      CONFIG_FAST_SIB = yes
 
-#=======================================================================
-# CONFIG_FLUX_FIX
-#=======================================================================
-#    yes           Include the SUBling (Subgrid of Sibling) Flux Correction Fix
-#    no            Skip this step
-#-----------------------------------------------------------------------
-
-     CONFIG_FLUX_FIX = yes
-
 #======================================================================= 
 # CONFIG_USE_HDF4
 #======================================================================= 
 #    no            For most of the machines (don't have graphics card)
 #----------------------------------------------------------------------- 
  
-     CONFIG_ECUDA = yes
+     CONFIG_ECUDA = no
 
 #======================================================================= 
 # CONFIG_GRAVITY_4S