[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