-
Notifications
You must be signed in to change notification settings - Fork 19
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
Microoptimizations causing out-of-bounds writes #91
Comments
Thanks for starting this discussion. I have a candidate solution in my (new) Would you or anyone else care to test it? |
seems to do the job just fine. |
Thanks for testing. PR #92 contains the solution. |
PR #92 was merged into master. I take it this issue can be closed? |
indeed. thanks for your work on this |
Thanks. I was honestly hoping issue 91 would be closed automatically by GitHub upon merging #92, but it seems I used the wrong command word (https://help.github.com/articles/closing-issues-via-commit-messages). |
Some micro-optimalizations in opm-porsol are having unforseen consequences. To avoid reallocating cell-level entities for each cell, these entities are reused across cells with size according to the cell with the most DOFs attached.
the problem is that code further down the line assumes that these have the same size as the number of faces for a particular cell. for complex meshes, this is not a constant, and out of bounds writes is the consequence. in particular, the out of bounds writes happen in IncompFlowSolverHybrid.hpp, computePressureAndFluxes and buildCellContrib.
people are already on top of this (PR#89 was a first attempt), but i was asked to open this issue for tracking purposes, so here it is.
The text was updated successfully, but these errors were encountered: