On 07/04/2013 10:45 PM, Derek Gaston wrote: > David - do you call close() on a matrix before putting entries into it > everywhere?
Looking at the code, I call zero() before commencing matrix assembly, but not close(). > Are you relying on setting something like > KEEP_NONZERO_PATTERN on a Petsc matrix to keep it from dropping your > preallocation in the case where you close a matrix before setting all > of its entries? I'm not explicitly calling KEEP_NONZERO_PATTERN anywhere. I just use the libMesh SparseMatrix API throughout; I don't directly use any PETSc calls. > The reason I ask is that we've identified what I believe to be a bug > with Petsc block matrices where they are not honoring > KEEP_NONZERO_PATTERN. This is causing a ton of mallocs for us in > MOOSE. So, for now, we're just disabling block matrix support in > libmesh until we get some clarity on the issue... OK, interesting. Disabling block matrix support (using Ben's hard-coding suggestion) fixed the mallocs for me as well, so sounds like I might have been running into the same issue. Thanks, David >> Hi Ben, >> >> A bit more info re the apparent sparsity pattern issue in RBConstruction. >> >> The error occurs in RBConstruction::assemble_misc_matrices(), >> specifically in the call to >> assemble_inner_product_matrix(inner_product_matrix.get()); >> >> inner_product_matrix is an "extra matrix" that is a member of >> RBConstruction. It is initialized in >> RBConstruction::allocate_data_structures, with initialization code >> modeled on ImplicitSystem::init_matrices. To check if it's an issue >> related to an the initialization of inner_product_matrix, I made the >> following change: >> >> ------------------------------------------------------------------------------------------------------------------------ >> void RBConstruction::assemble_misc_matrices() >> { >> - assemble_inner_product_matrix(inner_product_matrix.get()); >> + assemble_inner_product_matrix(this->matrix); >> + inner_product_matrix->zero(); >> + inner_product_matrix->add(1., *matrix); >> ------------------------------------------------------------------------------------------------------------------------ >> >> But in this case, reduced_basis_ex6 still "fails" (i.e. causes a malloc) >> in the call to assemble_inner_product_matrix(this->matrix). >> >> If you have any ideas on what might be going wrong, that'd be great. >> >> Best, >> David >> >> >> >> >> On 07/04/2013 11:50 AM, David Knezevic wrote: >>> Hi Ben, >>> >>> Yeah, I think the issue I'm seeing is related to blocked dof support, >>> since it looks like you had to add "-mat_new_nonzero_allocation_err >>> false" in c08baf8a6f41edca3b3422b897687361e73bbee3. The commit message >>> there was "avoid preallocation error that seems to be triggered by >>> blocked matrix storage", and this predates the recent FEMContext or >>> DGFEMContext changes (I guess I didn't notice it back then since I >>> wasn't on the git HEAD). >>> >>> Any suggestions about where I should look for the fix? I'd like to >>> resolve this before 0.9.2 is released, if that's OK? >>> >>> David >>> >>> >>> >>> On 07/04/2013 02:06 AM, Kirk, Benjamin (JSC-EG311) wrote: >>>> It could also be blocked dof support as well. I'm on my way out of town >>>> for the holiday but will try to follow this and help the best I can. >>>> >>>> -Ben >>>> >>>> On Jul 3, 2013, at 12:49 PM, "David Knezevic" <dkneze...@seas.harvard.edu> >>>> wrote: >>>> >>>>> OK, I see that it also effects reduced_basis_ex5. It might be related to >>>>> the DFEMContext stuff that I added. Let me have a closer look... >>>>> >>>>> >>>>> >>>>> On 07/04/2013 01:28 AM, David Knezevic wrote: >>>>>> I have an issue: It appears that reduced_basis_ex6 now requires >>>>>> -mat_new_nonzero_allocation_err false" otherwise we get an error like >>>>>> "New nonzero at (0,2) caused a malloc!". >>>>>> >>>>>> This wasn't needed previously, did something change? Note that this >>>>>> example using a CouplingMatrix. (I use the same functionality as ex6 in >>>>>> a production code, so it's important for me to understand this issue) >>>>>> >>>>>> I'll have a closer look at the git logs, but if someone knows what has >>>>>> changed, that'd be helpful. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On 07/04/2013 12:47 AM, Roy Stogner wrote: >>>>>>> Paul's last patch is in and looks good; I think we're good to go on >>>>>>> 0.9.2-rc2 or even 0.9.2 if everyone's ready. >>>>>>> --- >>>>>>> Roy >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> This SF.net email is sponsored by Windows: >>>>>>> >>>>>>> Build for Windows Store. >>>>>>> >>>>>>> http://p.sf.net/sfu/windows-dev2dev >>>>>>> _______________________________________________ >>>>>>> Libmesh-devel mailing list >>>>>>> Libmesh-devel@lists.sourceforge.net >>>>>>> https://lists.sourceforge.net/lists/listinfo/libmesh-devel >>>>>> ------------------------------------------------------------------------------ >>>>>> This SF.net email is sponsored by Windows: >>>>>> >>>>>> Build for Windows Store. >>>>>> >>>>>> http://p.sf.net/sfu/windows-dev2dev >>>>>> _______________________________________________ >>>>>> Libmesh-devel mailing list >>>>>> Libmesh-devel@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/libmesh-devel >>>>> ------------------------------------------------------------------------------ >>>>> This SF.net email is sponsored by Windows: >>>>> >>>>> Build for Windows Store. >>>>> >>>>> http://p.sf.net/sfu/windows-dev2dev >>>>> _______________________________________________ >>>>> Libmesh-devel mailing list >>>>> Libmesh-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/libmesh-devel >>> ------------------------------------------------------------------------------ >>> This SF.net email is sponsored by Windows: >>> >>> Build for Windows Store. >>> >>> http://p.sf.net/sfu/windows-dev2dev >>> _______________________________________________ >>> Libmesh-devel mailing list >>> Libmesh-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/libmesh-devel >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Libmesh-devel mailing list >> Libmesh-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/libmesh-devel ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel