Skip to content

Centralize Serialization and Deserialization via OperationManager #853

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

Open
BenYang2002 opened this issue May 16, 2025 · 0 comments
Open
Assignees

Comments

@BenYang2002
Copy link
Contributor

Description
Refactor all serialization and deserialization methods to remove parameters, enabling centralized state management via OperationManager. This mirrors the existing copyToGPU, copyFromGPU, and deallocateGPUMemory refactors for consistency and unified execution control.

Currently, serialization and deserialization rely on direct method calls with parameters passed across various classes. This change enables centralized execution by registering parameterless serialization and deserialization functions with the OperationManager.

Tasks
Refactor serialize methods in AllVertices and all child vertex classes to take no parameters.

Refactor deserialize methods in AllVertices and all child vertex classes to take no parameters.

Refactor serialize and deserialize methods in AllEdges and all child edge classes to take no parameters.

Move any required data into member variables to support the new parameterless structure.

Implement serialize and deserialize as registered operations.

Register serialize and deserialize in the constructors of AllVertices and AllEdges.

Use #ifdef USE_GPU to guard GPU-specific serialization code, if applicable.

Invoke OperationManager::execute("serialize") and OperationManager::execute("deserialize") at the appropriate points to trigger centralized execution.

@BenYang2002 BenYang2002 self-assigned this May 16, 2025
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

No branches or pull requests

1 participant