-
Notifications
You must be signed in to change notification settings - Fork 428
Fix GUI message consistency, restore signal-handler checkpointing, and update documentation image #3301
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
base: master
Are you sure you want to change the base?
Conversation
-Makes the message shown in the gui and drawed state consistent without requiring user interaction. -Makes the signal handler checkpointing functional again when enabled.
fd15259
to
6d48c27
Compare
vpr/src/base/vpr_signal_handler.cpp
Outdated
|
||
std::string placer_checkpoint_file = "placer_checkpoint.place"; | ||
VTR_LOG("Attempting to checkpoint current placement to file: %s\n", placer_checkpoint_file.c_str()); | ||
print_place(nullptr, nullptr, placer_checkpoint_file.c_str(), g_vpr_ctx.placement().block_locs()); |
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.
In the placement stage, g_vpr_ctx.placement().block_locs() does not contain block locations. It is stored locally withing a Placer object.
vpr/src/base/vpr_signal_handler.cpp
Outdated
VTR_LOG("Recieved three uncleared SIGINTs: Exiting...\n"); | ||
std::quick_exit(INTERRUPTED_EXIT_CODE); | ||
} | ||
VTR_LOG("Recieved SIGINT: Attempting to checkpoint then exit...\n"); |
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’m not sure if it’s safe to call VTR_LOG from a signal handler. It probably calls standard library functions internally, which are not safe to use in a signal handler.
and save block locs after each SA temprature update when signal handler enabled.
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.
Looks good except needs a function-level comment.
Also document the pause button.
void checkpoint(); | ||
|
||
std::atomic<int> uncleared_sigint_count(0); | ||
static inline void safe_write(const char* msg) { |
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.
Need a doxygen comment; what is this for?
Changes: