Skip to content
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

Code along #97

Merged
merged 199 commits into from
Jan 3, 2024
Merged

Code along #97

merged 199 commits into from
Jan 3, 2024

Conversation

Rohit-Kakodkar
Copy link
Collaborator

Description

Please describe the changes/features in this pull request.

Merges contributions for acoustic domain implementations and (stacey/dirichlet) boundaries.

  • Changes in domain implementation

    • implemented kernels routines and individual kernels for specialized elemental types
    • Removed the use of pointers to improve performance
    • templated elemetal implementations based on different elemental properties
  • Added separate boundary condition classes

Issue Number

If there is an issue created for these changes, link it here

Checklist

Please make sure to check developer documentation on specfem docs.

  • I ran the code through pre-commit to check style
  • 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

Rohit-Kakodkar and others added 28 commits December 6, 2023 14:57
This commit implements composite boundary conditions for stacey-dirichlet type. Compile and run tests to see the failing tests.
This commit updates instances of SPECFEM2d, SPECFEM, SPECFEM2D Kokkos refering to the current package to SPECFEM++ which is consistent with the name update
This commit results in more stable jenkins builds by generating new build folder name for every commit

- Updates groovy scripts to use commit numbers
- Updates reopsitory name
Updates repository name to SPECFEM++
This reverts commit 714644886bc4900c16c6ad3e80caa746c950bccf.
This commit unifies rmass_inverse tests for elastic and acoustic domains inside within a single run program - similar to how displacement tests are done. This should make it easy to add more add more tests using test-config.yaml
- Composite BCs are implemented as a combition of multiple BCs
	- This type calls the underlying methods for the combining BCs
	  for example -
		composite_boundary<stacey, dirichlet>.method{stacey.method; dirichlet.method}
	- This should let define the BCs in a very modular way

- Code compiles and passes tests
- Composite BCs are of O(1) elements for 2D and O(N) for 3D. Hence, these kernels should be launched first in the queue, to utilize GPU parallelism
Extensive documentation for all the BCs that are implemented.
- Added explicit reference to value_t rather than using a static class member
	- The latter wouldnt compile on GPU

- Problems with composite BC on GPU
	- Removed tests related to composite BCs for now
	- The release candidate will have this bug which I plan to patch before releasing the actual tag
@Rohit-Kakodkar Rohit-Kakodkar merged commit 35d2f06 into devel Jan 3, 2024
2 checks passed
@Rohit-Kakodkar Rohit-Kakodkar deleted the code-along branch January 3, 2024 14:17
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.

3 participants