-
Notifications
You must be signed in to change notification settings - Fork 629
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
Move checkpoint to IterationData. Remove ExecIterData. #5555
Conversation
@@ -74,8 +76,11 @@ class OperatorTraces { | |||
struct IterationData { | |||
int64_t iteration_index = 0; | |||
OperatorTraces operator_traces; | |||
std::shared_ptr<Checkpoint> checkpoint; |
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.
I used shared_ptr
here because it allows Checkpoint
to be only forward-declared. Using unique_ptr
wouldn't be much more elegant and would require IterationData to be DLL_PUBLIC (meh) and a separate translation unit for the destructor (blah) or a unique_ptr with a custom deleter (blah).
Signed-off-by: Michał Zientkiewicz <mzient@gmail.com>
809f95b
to
717a327
Compare
CI MESSAGE: [16441482]: BUILD STARTED |
if (checkpointing_) { | ||
id->checkpoint = std::make_shared<Checkpoint>(); |
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.
Is it a problem that checkpoint
would be NULL when checkpointing_ == false
?
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.
I don't think so, @stiepan ?
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.
Me neither.
CI MESSAGE: [16441482]: BUILD PASSED |
CI MESSAGE: [16445782]: BUILD STARTED |
CI MESSAGE: [16445782]: BUILD PASSED |
Category:
Refactoring (Redesign of existing code that doesn't affect functionality)
Description:
Checkpoint was previously stored in an executor-specific structure. It can land directly in IterationData, which will enable it to be carried along the pipeline.
Additional information:
Affected modules and functionalities:
Workspace
Old executor
Checkpointing
Key points relevant for the review:
Tests:
Checkpointing tests (all of them).
Checklist
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: N/A