Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VariableGroup DofMap optimizations #2

Closed
benkirk opened this issue Dec 11, 2012 · 3 comments
Closed

VariableGroup DofMap optimizations #2

benkirk opened this issue Dec 11, 2012 · 3 comments
Assignees
Milestone

Comments

@benkirk
Copy link
Member

benkirk commented Dec 11, 2012

Now that VariableGroups work, start optimizing things like SparsityPattern generation, dof_indices, etc...

@benkirk
Copy link
Member Author

benkirk commented Apr 15, 2013

For the important practical case of many variables in a system all of the same FEType, I'm preparing a pull request that implement the PETSc BAIJ (blocked) format. It is actually trivially easy.

For one particular application where I have 5 linear lagrange variables in a single system, peak memory usage decreased from XXX MB to 541.6 MB.

I have not benchmarked the speedup yet.

Also, I'll add the MatSetValuesBlocked() calls later, which should really help matrix insertion time.

@friedmud, @jwpeterson - I assume this would be of interest to you guys?

@benkirk
Copy link
Member Author

benkirk commented Apr 15, 2013

For one particular application where I have 5 linear lagrange variables in a single system, peak memory usage decreased from XXX MB to 541.6 MB.

Make that "For one particular application where I have 5 linear lagrange variables in a single system, peak memory usage decreased from 759.8 MB to 541.6 MB."

This is because less integer indexing is required to store the sparse matrix graph.

@permcody
Copy link
Member

Yes! Very much so

Sent from my iPhone

On Apr 15, 2013, at 2:35 PM, "Benjamin S. Kirk" notifications@github.com
wrote:

For the important practical case of many variables in a system all of the
same FEType, I'm preparing a pull request that implement the PETSc BAIJ
(blocked) format. It is actually trivially easy.

For one particular application where I have 5 linear lagrange variables in
a single system, peak memory usage decreased from XXX MB to 541.6 MB.

I have not benchmarked the speedup yet.

Also, I'll add the MatSetValuesBlocked() calls later, which should really
help matrix insertion time.

@friedmud https://github.com/friedmud,
@jwpetersonhttps://github.com/jwpeterson- I assume this would be of
interest to you guys?


Reply to this email directly or view it on
GitHubhttps://github.com//issues/2#issuecomment-16409736
.

vikramvgarg added a commit to vikramvgarg/libmesh that referenced this issue Jan 25, 2021
# This is the 1st commit message:

New InterMeshProjection class to handle arbitrary projections between meshes.

1) InterMeshProjection objects will take in a to and from system references, and project vectors between them.

# The commit message libMesh#2 will be skipped:

# Tabs changed to spaces.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants