-
Notifications
You must be signed in to change notification settings - Fork 536
Vector pa kernels #4861
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
base: master
Are you sure you want to change the base?
Vector pa kernels #4861
Conversation
VectorDiagonalPA tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances the partial assembly (PA) kernels for vector integrators by adding support for vector and matrix coefficients, updating test cases to use parameter generation for higher-dimensional tests, and introducing new shared memory kernel implementations. Key changes include:
- Updated and refactored PA kernel tests in both mass and diffusion integrators.
- New support for coefficient types and shared memory kernels in vector PA implementations.
- Registration of new kernels and corresponding updates in the build configurations.
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
tests/unit/fem/test_pa_kernels.cpp | Updated test functions to use GENERATE for dynamic dimensions and improved coefficient tests. |
tests/unit/fem/test_pa_diagonal.cpp | Refactored diagonal PA tests with clearer parameter generation and cast improvements. |
tests/unit/CMakeLists.txt | Modified unit test registrations to remove obsolete tests and add new PA diagonal tests. |
linalg/tensor.hpp | Introduced template specializations and updated literal usage for improved type safety. |
general/nvtx.hpp | Added inclusion of NVTX header for performance debugging. |
fem/integ/bilininteg_vecmass_pa.hpp | New implementation for vector mass PA kernels supporting various coefficient types. |
fem/bilininteg.hpp | Registered new PA kernel function types for VectorMass and VectorDiffusion integrators. |
fem/bilininteg.cpp | Minor formatting update (removed extra blank line). |
fem/CMakeLists.txt | Added new integrator kernel headers to the build configuration. |
Comments suppressed due to low confidence (1)
tests/unit/fem/test_pa_kernels.cpp:359
- [nitpick] The function name 'test_vker_pa' may be less descriptive than the previous 'test_vector_pa_integrator'. Consider renaming it for clarity.
real_t test_vker_pa(int dim)
…tor into same kernel
Fix couple of warnings
This PR enhances PA
VectorMassIntegrator
andVectorDiffusionIntegrator
:VectorCoefficient
andMatrixCoefficient
VectorMassAddMultPA
andVectorDiffusionAddMultPA
in the kernel mapsEval
/Grad
methods for higher-order support beyondDofQuadLimits