-
Notifications
You must be signed in to change notification settings - Fork 17
Nonconforming Kernel #1343
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: devel
Are you sure you want to change the base?
Nonconforming Kernel #1343
Conversation
| transfer_function_self); | ||
|
|
||
| PointFieldType result; | ||
| #pragma unroll |
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.
These should be within KOKKOS_ENABLE_CUDA or atleast compiler ifdefs
| specfem::kokkos::DevScratchSpace, | ||
| Kokkos::MemoryTraits<Kokkos::Unmanaged>, |
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.
Point type should not need scratch space templates.
| ChunkEdgeWeightJacobianType::boundary_tag, | ||
| specfem::kokkos::DevScratchSpace, | ||
| Kokkos::MemoryTraits<Kokkos::Unmanaged>, | ||
| IntersectionFieldViewType::using_simd>; |
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.
It would be hard for coupled interfaces to vectorized using simd since the data would not be contiguous in memory.
| KOKKOS_FUNCTION void integrate_fieldtilde_1d( | ||
| const specfem::assembly::assembly<dimension_tag> &assembly, | ||
| const IndexType &chunk_index, | ||
| const IntersectionFieldViewType &intersection_field, | ||
| const ChunkEdgeWeightJacobianType &weight_jacobian, | ||
| const CallableType &callback) { |
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.
- I suggest chaging the name for this function. I'd rather call it line_integral or something along those lines.
| return; | ||
| } | ||
|
|
||
| // for some reason, the nonconforming kernel doesn't compile on cuda 11.8 |
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.
Seems like for some reason its getting compiled. Which is weird since we have the same pattern for weakly conforming case.
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.
Do you know why this might be happening?
- [x] Update index function in edge/intersection iterator - [x] Update `for_all` execution function
lsawade
left a comment
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.
I have nothing to add in addition to rohits comments
| return; | ||
| } | ||
|
|
||
| // for some reason, the nonconforming kernel doesn't compile on cuda 11.8 |
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.
Do you know why this might be happening?
revert ncmarked_conforming_grid_curved CMakeLists.txt sources to relative (to match ncmarked_conforming_grid_flat CmakeLists)
Zero clue. Since it's only failing for CUDA 11.8 and not 12.8, it may be a bug with that version. |
Description
Please describe the changes/features in this pull request.
Issue Number
If there is an issue created for these changes, link it here
#1265
Checklist
Please make sure to check developer documentation on specfem docs.