[cig-commits] r15198 - in long/3D/SNAC/trunk: Snac/libSnac/src Snac/plugins/plastic StGermain/Base/Automation/src StGermain/Base/Context/src
cstark at geodynamics.org
cstark at geodynamics.org
Thu Jun 11 13:15:04 PDT 2009
Author: cstark
Date: 2009-06-11 13:15:03 -0700 (Thu, 11 Jun 2009)
New Revision: 15198
Modified:
long/3D/SNAC/trunk/Snac/libSnac/src/Context.c
long/3D/SNAC/trunk/Snac/plugins/plastic/ConstructExtensions.c
long/3D/SNAC/trunk/Snac/plugins/plastic/Output.c
long/3D/SNAC/trunk/StGermain/Base/Automation/src/Stg_Component.c
long/3D/SNAC/trunk/StGermain/Base/Context/src/AbstractContext.c
Log:
Scaling version:
Temporary snapshot where almost all file output (dumping and CP) and printing is turned off.
Only use this version to run scaling analyses.
A series of strong scaling tests were run on Ranger using this snapshot and the results will be posted in e.g. the SNAC manual.
Modified: long/3D/SNAC/trunk/Snac/libSnac/src/Context.c
===================================================================
--- long/3D/SNAC/trunk/Snac/libSnac/src/Context.c 2009-06-11 18:11:39 UTC (rev 15197)
+++ long/3D/SNAC/trunk/Snac/libSnac/src/Context.c 2009-06-11 20:15:03 UTC (rev 15198)
@@ -55,6 +55,8 @@
#include <limits.h>
#include <math.h>
#include <assert.h>
+#include <time.h>
+
#ifndef PATH_MAX
#define PATH_MAX 1024
#endif
@@ -308,7 +310,7 @@
/* When constant Dt type is specified, Dt should be given an initial-non-zero value */
self->dt = Dictionary_Entry_Value_AsDouble(
Dictionary_GetDefault( self->dictionary, "timeStep", Dictionary_Entry_Value_FromDouble( 1.0 ) ) );
-
+ if (self->rank==0)
Journal_Printf( self->info, "\"dtType\" set by Dictionary to \"%s\"\n", self->dtType );
}
else if( !strcmp( tmpStr, Snac_DtType_Dynamic ) ) {
@@ -319,6 +321,7 @@
self->dt = Dictionary_Entry_Value_AsDouble(
Dictionary_GetDefault( self->dictionary, "timeStep", Dictionary_Entry_Value_FromDouble( 0.0 ) ) );
+ if (self->rank==0)
Journal_Printf( self->info, "\"dtType\" set by Dictionary to \"%s\"\n", self->dtType );
}
else {
@@ -329,7 +332,7 @@
/* When dynamic Dt type is specified, Dt will be calculated later, give 0 as starting value... legacy behaviour. */
self->dt = Dictionary_Entry_Value_AsDouble(
Dictionary_GetDefault( self->dictionary, "timeStep", Dictionary_Entry_Value_FromDouble( 0.0 ) ) );
-
+ if (self->rank==0)
Journal_Printf(
self->info,
"\"dtType\" not specified in Dictionary... assuming \"%s\", of init value: %g\n",
@@ -346,6 +349,7 @@
/* What method are we using to calculate forces? */
/* "Complete" type should be always used unless there is a really good reason to use others. */
self->forceCalcType = Snac_Force_Complete;
+ if (self->rank==0)
Journal_Printf( self->info, "\"forceCalcType\" set by Dictionary to \"complete\"\n" );
/*
@@ -357,7 +361,8 @@
self->numProcX = ((HexaMD*)self->mesh->layout->decomp)->partition3DCounts[0];
self->numProcY = ((HexaMD*)self->mesh->layout->decomp)->partition3DCounts[1];
self->numProcZ = ((HexaMD*)self->mesh->layout->decomp)->partition3DCounts[2];
- Journal_Printf( self->info, "\nParallel processing geometry: nX=%d nY=%d nZ=%d\n\n",
+ if (self->rank==0)
+ Journal_Printf( self->info, "\nParallel processing geometry: nX=%d nY=%d nZ=%d\n\n",
self->numProcX,self->numProcY,self->numProcZ );
/* Add initial condition managers */
@@ -927,7 +932,7 @@
Snac_Context* self = (Snac_Context*)context;
Element_LocalIndex element_lI;
-#ifdef DEBUG
+#ifdef DEBUGscaling
fprintf(stderr, "TimeStepZero: restartTimestep=%d, timeStep=%d\n", self->restartTimestep, self->timeStep);
#endif
@@ -1186,10 +1191,18 @@
void _Snac_Context_WriteLoopInfo( void* context ) {
Snac_Context* self = (Snac_Context*)context;
+ /*
+ time_t now=time(NULL);
+ char *cnow;
+ cnow=ctime(&now);
+ if (self->rank==1)
+ fprintf( self->timeStepInfo, "Internal time (%d) = %s\n", self->timeStep, cnow);
+ */
+
if( self->rank >0 )
return;
-
+
if( isTimeToDump( self ) )
_Snac_Context_DumpLoopInfo( self );
@@ -1202,8 +1215,10 @@
void _Snac_Context_DumpLoopInfo( void* context ) {
Snac_Context* self = (Snac_Context*)context;
+ /*
fprintf( self->timeStepInfo, "%16u %16g %16g\n", self->timeStep, self->currentTime, self->dt );
fflush( self->timeStepInfo );
+ */
}
@@ -1230,6 +1245,7 @@
/* Create the strain rate dumping stream */
self->strainRateOut = Journal_Register( VariableDumpStream_Type, "StrainRate" );
+ /*
sprintf( tmpBuf, "%s/strainRate.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->strainRateOut,
@@ -1237,9 +1253,11 @@
self->mesh->elementLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the stress dumping stream */
self->stressOut = Journal_Register( VariableDumpStream_Type, "Stress" );
+ /*
sprintf( tmpBuf, "%s/stress.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->stressOut,
@@ -1247,9 +1265,11 @@
self->mesh->elementLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the pressure dumping stream */
self->hydroPressureOut = Journal_Register( VariableDumpStream_Type, "HydroPressure" );
+ /*
sprintf( tmpBuf, "%s/hydroPressure.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->hydroPressureOut,
@@ -1257,9 +1277,11 @@
self->mesh->elementLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the phase index dumping stream */
self->phaseIndexOut = Journal_Register( VariableDumpStream_Type, "PhaseIndex" );
+ /*
sprintf( tmpBuf, "%s/phaseIndex.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->phaseIndexOut,
@@ -1267,9 +1289,11 @@
self->mesh->elementLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the coords dumping stream */
self->coordOut = Journal_Register( VariableDumpStream_Type, "Coord" );
+ /*
sprintf( tmpBuf, "%s/coord.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->coordOut,
@@ -1277,9 +1301,11 @@
self->mesh->nodeLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the velocity dumping stream */
self->velOut = Journal_Register( VariableDumpStream_Type, "Velocity" );
+ /*
sprintf( tmpBuf, "%s/vel.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->velOut,
@@ -1287,9 +1313,12 @@
self->mesh->nodeLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the force dumping stream */
self->forceOut = Journal_Register( VariableDumpStream_Type, "Forces" );
+
+ /*
sprintf( tmpBuf, "%s/force.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->forceOut,
@@ -1297,12 +1326,16 @@
self->mesh->nodeLocalCount,
self->dumpEvery,
tmpBuf );
+ */
/* Create the stressTensor dump file */
+ /*
sprintf( tmpBuf, "%s/stressTensor.%u", self->outputPath, self->rank );
if( (self->stressTensorOut = fopen( tmpBuf, "w+" )) == NULL ) {
- assert( self->stressTensorOut /* failed to open file for writing */ );
+ assert( self->stressTensorOut );
}
+ */
+
}
@@ -1312,6 +1345,8 @@
/* Create the phase index dumping stream */
self->phaseIndexCheckpoint = Journal_Register( VariableDumpStream_Type, "PhaseIndexCP" );
+
+ /*
sprintf( tmpBuf, "%s/phaseIndexCP.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->phaseIndexCheckpoint,
@@ -1319,9 +1354,12 @@
self->mesh->elementLocalCount,
self->checkpointEvery,
tmpBuf );
+ */
/* Create the coords dumping stream */
self->coordCheckpoint = Journal_Register( VariableDumpStream_Type, "CoordCP" );
+
+ /*
sprintf( tmpBuf, "%s/coordCP.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->coordCheckpoint,
@@ -1329,9 +1367,11 @@
self->mesh->nodeLocalCount,
self->checkpointEvery,
tmpBuf );
+ */
/* Create the velocity dumping stream */
self->velCheckpoint = Journal_Register( VariableDumpStream_Type, "VelocityCP" );
+ /*
sprintf( tmpBuf, "%s/velCP.%u", self->outputPath, self->rank );
VariableDumpStream_SetVariable(
self->velCheckpoint,
@@ -1339,19 +1379,24 @@
self->mesh->nodeLocalCount,
self->checkpointEvery,
tmpBuf );
+ */
/* Create the stressTensor dump file */
+ /*
sprintf( tmpBuf, "%s/stressTensorCP.%u", self->outputPath, self->rank );
if( (self->stressTensorCheckpoint = fopen( tmpBuf, "w+" )) == NULL ) {
- assert( self->stressTensorCheckpoint /* failed to open file for writing */ );
+ assert( self->stressTensorCheckpoint );
abort();
}
+ */
}
void _Snac_Context_WriteOutput( void* context ) {
Snac_Context* self = (Snac_Context*)context;
+ return;
+
if( isTimeToDump( self ) )
_Snac_Context_Dump( self );
@@ -1449,6 +1494,8 @@
Bool isTimeToDump( void* context ) {
Snac_Context* self = (Snac_Context*)context;
+
+ return False;
if( (self->timeStep==1) || ((self->timeStep>1)&&(self->timeStep%self->dumpEvery==0)) )
return True;
@@ -1460,7 +1507,9 @@
Bool isTimeToCheckpoint( void* context ) {
Snac_Context* self = (Snac_Context*)context;
-
+
+ return False;
+
if( (self->timeStep==self->maxTimeSteps) )
return True;
else if( (self->timeStep==0) )
Modified: long/3D/SNAC/trunk/Snac/plugins/plastic/ConstructExtensions.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/plastic/ConstructExtensions.c 2009-06-11 18:11:39 UTC (rev 15197)
+++ long/3D/SNAC/trunk/Snac/plugins/plastic/ConstructExtensions.c 2009-06-11 20:15:03 UTC (rev 15198)
@@ -84,14 +84,16 @@
ConditionFunction_New( _SnacVelocity_VariableCondition, "variableVelBC" ) );
/* Prepare the dump and checkpoint file */
+ /*
sprintf( tmpBuf, "%s/plStrain.%u", context->outputPath, context->rank );
if( (contextExt->plStrainOut = fopen( tmpBuf, "w+" )) == NULL ) {
- assert( contextExt->plStrainOut /* failed to open file for writing */ );
+ assert( contextExt->plStrainOut );
abort();
}
sprintf( tmpBuf, "%s/plStrainCP.%u", context->outputPath, context->rank );
if( (contextExt->plStrainCheckpoint = fopen( tmpBuf, "w+" )) == NULL ) {
- assert( contextExt->plStrainCheckpoint /* failed to open file for writing */ );
+ assert( contextExt->plStrainCheckpoint );
abort();
}
+ */
}
Modified: long/3D/SNAC/trunk/Snac/plugins/plastic/Output.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/plastic/Output.c 2009-06-11 18:11:39 UTC (rev 15197)
+++ long/3D/SNAC/trunk/Snac/plugins/plastic/Output.c 2009-06-11 20:15:03 UTC (rev 15198)
@@ -44,13 +44,13 @@
void _SnacPlastic_WritePlasticStrain( void* _context ) {
Snac_Context* context = (Snac_Context*) _context;
-
+/*
if( isTimeToDump( context ) )
_SnacPlastic_DumpPlasticStrain( context );
if( isTimeToCheckpoint( context ) )
_SnacPlastic_CheckpointPlasticStrain( context );
-
+*/
}
Modified: long/3D/SNAC/trunk/StGermain/Base/Automation/src/Stg_Component.c
===================================================================
--- long/3D/SNAC/trunk/StGermain/Base/Automation/src/Stg_Component.c 2009-06-11 18:11:39 UTC (rev 15197)
+++ long/3D/SNAC/trunk/StGermain/Base/Automation/src/Stg_Component.c 2009-06-11 20:15:03 UTC (rev 15198)
@@ -199,7 +199,7 @@
Stream* stream = Journal_Register( Info_Type, "Stg_ComponentFactory" );
- Journal_Printf( stream, "Constructing %s..\n", self->name );
+ /* Journal_Printf( stream, "Constructing %s..\n", self->name ); */
Stream_Indent( stream );
/*buf = Stg_Object_AppendSuffix( self, "Construct" );
Modified: long/3D/SNAC/trunk/StGermain/Base/Context/src/AbstractContext.c
===================================================================
--- long/3D/SNAC/trunk/StGermain/Base/Context/src/AbstractContext.c 2009-06-11 18:11:39 UTC (rev 15197)
+++ long/3D/SNAC/trunk/StGermain/Base/Context/src/AbstractContext.c 2009-06-11 20:15:03 UTC (rev 15198)
@@ -839,6 +839,7 @@
double dt = 0;
double dtLoadedFromFile = 0;
+ if (self->rank==1) {
if (self->maxTimeSteps) {
Journal_Printf( self->info, "Run until %u timeSteps have been run\n", self->maxTimeSteps );
}
@@ -861,7 +862,8 @@
}
Journal_Printf( self->info, "until simulation time passes %g.\n", self->stopTime );
}
-
+ }
+
self->timeStepSinceJobRestart = 1;
/* Set timeStep to 0 if not restarting, so that incrementing timestep below affects both
@@ -926,6 +928,7 @@
* have just synchronised while calculating timestep anyway. */
MPI_Barrier( self->communicator );
Journal_DPrintf( self->debug, "In: %s\n", __func__ );
+ if (self->rank==1)
Journal_Printf( self->info, "r=%d, ts=%d/%d: t=%.6g->%.6g\n",
self->rank, self->timeStep, self->maxTimeSteps, self->currentTime, self->currentTime+dt );
More information about the CIG-COMMITS
mailing list