[cig-commits] r4488 - cs/benchmark/trunk/benchmark

baagaard at geodynamics.org baagaard at geodynamics.org
Wed Sep 6 15:30:19 PDT 2006


Author: baagaard
Date: 2006-09-06 15:30:19 -0700 (Wed, 06 Sep 2006)
New Revision: 4488

Modified:
   cs/benchmark/trunk/benchmark/ProjectionQuadPts.py
Log:
Dramatically improved vectorization of error calculation. Added [:] and switched to numpy.sum.

Modified: cs/benchmark/trunk/benchmark/ProjectionQuadPts.py
===================================================================
--- cs/benchmark/trunk/benchmark/ProjectionQuadPts.py	2006-09-06 21:59:53 UTC (rev 4487)
+++ cs/benchmark/trunk/benchmark/ProjectionQuadPts.py	2006-09-06 22:30:19 UTC (rev 4488)
@@ -233,14 +233,14 @@
         dataA = numpy.reshape(dataA, (nelems, nquadpts, ndims))
         dataB = numpy.reshape(dataB, (nelems, nquadpts, ndims))
         diff = dataA - dataB
-        localvol = jacobian * sum(quadwts)
+        localvol = jacobian[:] * numpy.sum(quadwts)
 
-        err = jacobian * numpy.sum(numpy.sum(numpy.dot(quadwts, diff**2),
-                                             axis=2),
-                                   axis=0) / ndims
-        localerr[:] = numpy.sqrt(err / localvol).astype(numpy.Float32)
-        globalerr = sum(err)
-        globalvol = sum(localvol)
+        err = jacobian[:] * numpy.sum(numpy.sum(numpy.dot(quadwts, diff**2),
+                                                axis=2),
+                                      axis=0) / ndims
+        localerr[:] = numpy.sqrt(err[:] / localvol[:]).astype(numpy.Float32)
+        globalerr = numpy.sum(err)
+        globalvol = numpy.sum(localvol)
         
         group = tablewaiter.createGroup(self.workspace,
                                         self.workspace.root,



More information about the cig-commits mailing list