[cig-commits] r7225 - in short/3D/PyLith/trunk: libsrc/feassemble
modulesrc/feassemble
knepley at geodynamics.org
knepley at geodynamics.org
Thu Jun 14 06:50:50 PDT 2007
Author: knepley
Date: 2007-06-14 06:50:50 -0700 (Thu, 14 Jun 2007)
New Revision: 7225
Modified:
short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc
short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
Log:
Added more logging
Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc 2007-06-14 04:09:16 UTC (rev 7224)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature2D.cc 2007-06-14 13:50:50 UTC (rev 7225)
@@ -102,6 +102,7 @@
_jacobianInv[i01] = -_jacobian[i01] / det;
_jacobianInv[i10] = -_jacobian[i10] / det;
_jacobianInv[i11] = _jacobian[i00] / det;
+ PetscLogFlops(_numBasis*2 + _numBasis*_cellDim*_spaceDim*2 + 21);
#if 0
// Compute derivatives of basis functions with respect to global
Modified: short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-06-14 04:09:16 UTC (rev 7224)
+++ short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-06-14 13:50:50 UTC (rev 7225)
@@ -42,6 +42,8 @@
#include "pylith/utils/petscfwd.h"
+#include <petsclog.h>
+
#include <assert.h>
#include <stdexcept>
#include <Python.h>
@@ -880,14 +882,23 @@
cdef void* thisptr # Pointer to C++ object
cdef readonly object handle # PyCObject holding pointer to C++ object
cdef readonly object name # Identifier for object base type
+ cdef int assemblerCookie
+ cdef int integrateResidualEvent
+ cdef int integrateJacobianEvent
def __init__(self):
"""
Constructor.
"""
+ #embed{ void Integrator_setupLogging(int *cookie, int *residualEvent, int *jacobianEvent)
+ PetscLogClassRegister(cookie, "FE Assembler");
+ PetscLogEventRegister(residualEvent, "IntegrateResidual", *cookie);
+ PetscLogEventRegister(jacobianEvent, "IntegrateJacobian", *cookie);
+ #}embed
self.handle = None
self.thisptr = NULL
self.name = "pylith_feassemble_integrator"
+ Integrator_setupLogging(&self.assemblerCookie, &self.integrateResidualEvent, &self.integrateJacobianEvent)
return
@@ -896,7 +907,7 @@
Integrate contributions to residual term (r) for operator.
"""
# create shim for method 'integrateResidual'
- #embed{ void Integrator_integrateResidual(void* objVptr, void* residualVptr, double t, void* fieldsVptr, void* meshVptr)
+ #embed{ void Integrator_integrateResidual(void* objVptr, void* residualVptr, double t, void* fieldsVptr, void* meshVptr, int event)
try {
assert(0 != objVptr);
assert(0 != residualVptr);
@@ -908,8 +919,10 @@
(ALE::Obj<pylith::real_section_type>*) residualVptr;
pylith::topology::FieldsManager* fields =
(pylith::topology::FieldsManager*) fieldsVptr;
+ PetscLogEventBegin(event,0,0,0,0);
((pylith::feassemble::Integrator*) objVptr)->integrateResidual(*residual,
t, fields, *mesh);
+ PetscLogEventEnd(event,0,0,0,0);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -928,7 +941,8 @@
PyCObject_AsVoidPtr(residual),
t,
ptrFromHandle(fields),
- ptrFromHandle(mesh))
+ ptrFromHandle(mesh),
+ self.integrateResidualEvent)
return
@@ -937,7 +951,7 @@
Compute contributions to Jacobian matrix (A) associated with operator.
"""
# create shim for method 'integrateJacobian'
- #embed{ void Integrator_integrateJacobian(void* objVptr, void* matVptr, double t, void* fieldsVptr, void* meshVptr)
+ #embed{ void Integrator_integrateJacobian(void* objVptr, void* matVptr, double t, void* fieldsVptr, void* meshVptr, int event)
try {
assert(0 != objVptr);
assert(0 != matVptr);
@@ -948,8 +962,10 @@
PetscMat* mat = (PetscMat*) matVptr;
pylith::topology::FieldsManager* fields =
(pylith::topology::FieldsManager*) fieldsVptr;
+ PetscLogEventBegin(event,0,0,0,0);
((pylith::feassemble::Integrator*) objVptr)->integrateJacobian(
mat, t, fields, *mesh);
+ PetscLogEventEnd(event,0,0,0,0);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -968,7 +984,8 @@
PyCObject_AsVoidPtr(mat),
t,
ptrFromHandle(fields),
- ptrFromHandle(mesh))
+ ptrFromHandle(mesh),
+ self.integrateJacobianEvent)
return
More information about the cig-commits
mailing list