-
Notifications
You must be signed in to change notification settings - Fork 28
Remove Cereal from GauXC #163
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
Conversation
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 removes the Cereal library dependency from the GauXC test suite due to security vulnerabilities (CVEs) and replaces it with HDF5 for test data serialization. The change affects test data file format (from .bin to .hdf5) and modifies serialization interfaces to use HDF5 instead of Cereal binary archives.
Key changes:
- Replaced Cereal-based serialization with custom HDF5 serialization for test reference data
- Changed test data file format from
.binto.hdf5 - Updated function signatures to accept filenames as strings instead of file streams
Reviewed changes
Copilot reviewed 14 out of 24 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/hdf5_test_serialization.hpp | New header defining HDF5 helper functions for serializing test data structures (vectors, arrays, XCTask) |
| tests/hdf5_test_serialization_impl.hpp | New header providing implementations for serializing ref_collocation_data and ref_weights_data to HDF5 |
| tests/collocation_common.hpp | Added ref_weights_data structure definition and guard macro for HDF5 serialization dependencies |
| tests/weights_generate.hpp | Removed duplicate ref_weights_data definition, updated to use HDF5 serialization, changed function signature to accept filename string |
| tests/weights_host.hpp | Updated to use HDF5 serialization functions and filename string parameter |
| tests/weights_cuda.hpp | Updated to use HDF5 serialization functions and filename string parameter |
| tests/weights_hip.hpp | Updated to use HDF5 serialization functions and filename string parameter |
| tests/collocation_host.hpp | Updated to use HDF5 serialization, added new test_host_collocation_deriv3 test function |
| tests/collocation_cuda.hpp | Updated to use HDF5 serialization functions and filename string parameters |
| tests/collocation_hip.hpp | Updated to use HDF5 serialization functions and filename string parameters |
| tests/weights.cxx | Updated test file to use .hdf5 extension and pass filename strings |
| tests/collocation.cxx | Updated test file to use .hdf5 extension, pass filename strings, and added laplacian gradient test section |
| tests/load_balancer_test.cxx | Updated to use HDF5 serialization and .hdf5 file extension |
| tests/CMakeLists.txt | Removed commented-out Cereal-related build configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@wavefunction91 I've opened a new pull request, #164, to work on those changes. Once the pull request is ready, I'll request review from you. |
* Initial plan * Reorder functions in collocation_host.hpp: deriv2 before deriv3 Co-authored-by: wavefunction91 <6208701+wavefunction91@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: wavefunction91 <6208701+wavefunction91@users.noreply.github.com>
|
@wavefunction91 I've opened a new pull request, #166, to work on those changes. Once the pull request is ready, I'll request review from you. |
Cereal has been identified as a security vulnerability in multiple recent CVEs
https://app.opencve.io/cve/?product=cereal&vendor=usc
As this is simply a testing dependency, rather than continuing to support it, I'm opting to just remove it from the code base.