Skip to content

Conversation

@wavefunction91
Copy link
Owner

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.

Copy link

Copilot AI left a 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 .bin to .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.

Copy link

Copilot AI commented Nov 27, 2025

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

Copilot AI commented Dec 5, 2025

@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.

@wavefunction91 wavefunction91 merged commit 62fea07 into master Dec 8, 2025
13 checks passed
@wavefunction91 wavefunction91 deleted the feature/no_cereal branch December 8, 2025 20: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.

2 participants