Skip to content

Conversation

@int-ptr-ptr
Copy link
Collaborator

Description

Please describe the changes/features in this pull request.

  • adds integrate1d algorithm (test later)
  • adds nonconforming to domain kernels
  • nonconforming compute-coupling kernel

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.

  • I ran the code through pre-commit to check style
  • THE DOCUMENTATION BUILDS WITHOUT WARNINGS/ERRORS
  • I have added labels to the PR (see right hand side of the PR page)
  • My code passes all the integration tests
  • I have added sufficient unittests to test my changes
  • I have added/updated documentation for the changes I am proposing
  • I have updated CMakeLists to ensure my code builds
  • My code builds across all platforms

transfer_function_self);

PointFieldType result;
#pragma unroll
Copy link
Collaborator

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

Comment on lines 55 to 56
specfem::kokkos::DevScratchSpace,
Kokkos::MemoryTraits<Kokkos::Unmanaged>,
Copy link
Collaborator

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>;
Copy link
Collaborator

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.

Comment on lines 34 to 39
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) {
Copy link
Collaborator

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
Copy link
Collaborator

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.

Copy link
Collaborator

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?

Rohit-Kakodkar and others added 5 commits November 5, 2025 11:55
Copy link
Collaborator

@lsawade lsawade left a 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
Copy link
Collaborator

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)
@int-ptr-ptr
Copy link
Collaborator Author

Do you know why this might be happening?

Zero clue. Since it's only failing for CUDA 11.8 and not 12.8, it may be a bug with that version.
If you wanted to deprecate CUDA 11 support, then I believe we could remove those functions.

@Rohit-Kakodkar Rohit-Kakodkar requested review from Copilot and removed request for Copilot November 8, 2025 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants