-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Memory requirement for dense systems #12
Labels
Comments
jdoelz
added a commit
that referenced
this issue
Jan 30, 2023
…ix to an std::vector of the size of the number of elements. This is to address cache based performance issues with larger refinement levels. Running the tests indicates that there is no significant change in performance. Logs below. Before changes: =============================================================================== Running tests... Test project /home/doelz/Dokumente/Codes/bembeldev_juergen/build Start 1: Spline 1/18 Test #1: Spline ............................ Passed 0.02 sec Start 2: GeometryImportAndEval 2/18 Test #2: GeometryImportAndEval ............. Passed 0.01 sec Start 3: SurfacePointUpdate 3/18 Test #3: SurfacePointUpdate ................ Passed 0.01 sec Start 4: Projector 4/18 Test #4: Projector ......................... Passed 0.02 sec Start 5: Glue 5/18 Test #5: Glue .............................. Passed 0.39 sec Start 6: FMMTransferMatrices 6/18 Test #6: FMMTransferMatrices ............... Passed 0.03 sec Start 7: FMMForwardTransformation 7/18 Test #7: FMMForwardTransformation .......... Passed 0.06 sec Start 8: FMMBackwardTransformation 8/18 Test #8: FMMBackwardTransformation ......... Passed 0.05 sec Start 9: DuffyTrick 9/18 Test #9: DuffyTrick ........................ Passed 10.56 sec Start 10: AnsatzSpaceExample 10/18 Test #10: AnsatzSpaceExample ................ Passed 0.01 sec Start 11: BlockClusterTreeExample 11/18 Test #11: BlockClusterTreeExample ........... Passed 12.52 sec Start 12: GeometryExample 12/18 Test #12: GeometryExample ................... Passed 0.01 sec Start 13: LaplaceSingleLayerFullExample 13/18 Test #13: LaplaceSingleLayerFullExample ..... Passed 21.49 sec Start 14: LaplaceSingleLayerH2Example 14/18 Test #14: LaplaceSingleLayerH2Example ....... Passed 19.89 sec Start 15: HelmholtzSingleLayerFullExample 15/18 Test #15: HelmholtzSingleLayerFullExample ... Passed 27.73 sec Start 16: HelmholtzSingleLayerH2Example 16/18 Test #16: HelmholtzSingleLayerH2Example ..... Passed 16.72 sec Start 17: MaxwellSingleLayerFullExample 17/18 Test #17: MaxwellSingleLayerFullExample ..... Passed 49.92 sec Start 18: MaxwellSingleLayerH2Example 18/18 Test #18: MaxwellSingleLayerH2Example ....... Passed 216.39 sec 100% tests passed, 0 tests failed out of 18 Total Test time (real) = 375.87 sec After changes: =============================================================================== Running tests... Test project /home/doelz/Dokumente/Codes/bembeldev_juergen/build Start 1: Spline 1/18 Test #1: Spline ............................ Passed 0.02 sec Start 2: GeometryImportAndEval 2/18 Test #2: GeometryImportAndEval ............. Passed 0.01 sec Start 3: SurfacePointUpdate 3/18 Test #3: SurfacePointUpdate ................ Passed 0.01 sec Start 4: Projector 4/18 Test #4: Projector ......................... Passed 0.02 sec Start 5: Glue 5/18 Test #5: Glue .............................. Passed 0.39 sec Start 6: FMMTransferMatrices 6/18 Test #6: FMMTransferMatrices ............... Passed 0.03 sec Start 7: FMMForwardTransformation 7/18 Test #7: FMMForwardTransformation .......... Passed 0.06 sec Start 8: FMMBackwardTransformation 8/18 Test #8: FMMBackwardTransformation ......... Passed 0.03 sec Start 9: DuffyTrick 9/18 Test #9: DuffyTrick ........................ Passed 10.42 sec Start 10: AnsatzSpaceExample 10/18 Test #10: AnsatzSpaceExample ................ Passed 0.02 sec Start 11: BlockClusterTreeExample 11/18 Test #11: BlockClusterTreeExample ........... Passed 12.42 sec Start 12: GeometryExample 12/18 Test #12: GeometryExample ................... Passed 0.01 sec Start 13: LaplaceSingleLayerFullExample 13/18 Test #13: LaplaceSingleLayerFullExample ..... Passed 17.39 sec Start 14: LaplaceSingleLayerH2Example 14/18 Test #14: LaplaceSingleLayerH2Example ....... Passed 19.76 sec Start 15: HelmholtzSingleLayerFullExample 15/18 Test #15: HelmholtzSingleLayerFullExample ... Passed 23.60 sec Start 16: HelmholtzSingleLayerH2Example 16/18 Test #16: HelmholtzSingleLayerH2Example ..... Passed 16.52 sec Start 17: MaxwellSingleLayerFullExample 17/18 Test #17: MaxwellSingleLayerFullExample ..... Passed 47.77 sec Start 18: MaxwellSingleLayerH2Example 18/18 Test #18: MaxwellSingleLayerH2Example ....... Passed 216.50 sec 100% tests passed, 0 tests failed out of 18 Total Test time (real) = 365.03 sec
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
In v0.99, dense systems are assembled via
A = T'( sum(A*(i,j))T)
with A*(i,j) being the basis-interaction of elements i and j, matrix and T the transformation matrix.
This means A* is assembled fully and then reduced by T, thus creating exhaustive memory overhead.
Although it is harder to parallelize properly, we should try to assemble it via
A = sum(T'A*(i,j)T).
The text was updated successfully, but these errors were encountered: