Please describe the changes/features in this pull request.
Reimplement compute namespace so that any data required to build kernels is available through compute namespace. The premise of this change is make the interface cleaner and more intuitive.
This is breaking pull request since the kernels need to be reimplemented to account for changes in data layout.
Major changes
The properties are broken down into individual structs for every material type
This should let us reference the material directly inside the kernels
Material structs are templated on material type and material property (isotropic, anisotropic)
Implemented point property method
Added fields within the compute namespace
This follows the idea that all simulation data should be owned by compute namespace
The operating kernels can have a reference to this data
Advantages of new implementation
Lower memory footprint through compressed field storage
Lower RangePolicy kernel time since kernel will only iterate though non-zero nglobs
Changes to the testing methods for properties
The properties views are now compacted by removing zero values where the property doesnt apply. This makes me update testing routine so binary read properties can be compacted before comparison
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.
[x] I ran the code through pre-commit to check style
[] My code passes all the integration tests
[x] I have added sufficient unittests to test my changes
[x] I have added/updated documentation for the changes I am proposing
[x] I have updated CMakeLists to ensure my code builds
[x] My code builds across all platforms
Description
Please describe the changes/features in this pull request.
Reimplement compute namespace so that any data required to build kernels is available through compute namespace. The premise of this change is make the interface cleaner and more intuitive.
This is breaking pull request since the kernels need to be reimplemented to account for changes in data layout.
Major changes
Changes to the testing methods for properties
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.
[x] I ran the code through pre-commit to check style [] My code passes all the integration tests [x] I have added sufficient unittests to test my changes [x] I have added/updated documentation for the changes I am proposing [x] I have updated CMakeLists to ensure my code builds [x] My code builds across all platforms