Skip to content

llama-mtmd-cli: Sigint rework in mtmd vision example #13080

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

Merged
merged 5 commits into from
Apr 23, 2025

Conversation

pl752
Copy link
Contributor

@pl752 pl752 commented Apr 23, 2025

Follow-up on the #13043

Purpose
Converted SIGINT handler to notify the main through the flag, instead of just exiting
Added the logic to interrupt the program in the predictable states

Rationale
Original code abruptly ends the program on sigint, without flushing stdout or printing any stats
Changed the behavior to only setting global state flags or force quit, if the application didn't respond to the flag change
State flags are volatile, due to them being changed in the interrupt and only read in the main code, which doesn't guarantee proper handling of unobserved changes in some of the compilers with enabled -O2 or higher.

P. S.
Making it more like it is implemented in the llama-cli example might be more preferable, but I will leave it up to you. Feel free to suggest/do any adjustments

@pl752 pl752 requested a review from ngxson April 23, 2025 16:33
Copy link
Collaborator

@ngxson ngxson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This breaks the case where prompt is provided via -p

llamac llama-mtmd-cli -hf ggml-org/gemma-3-4b-it-GGUF --image ../models/bliss.png -p "what do you see"

@pl752 pl752 requested a review from ngxson April 23, 2025 18:00
@pl752 pl752 requested a review from ngxson April 23, 2025 19:12
@ngxson ngxson merged commit 5630406 into ggml-org:master Apr 23, 2025
48 checks passed
pockers21 pushed a commit to pockers21/llama.cpp that referenced this pull request Apr 28, 2025
* Sigint rework in mtmd vision example

* Applied suggestions on mtmd-cli PR

* Forgot to invert one of the conditions

* Update examples/llava/mtmd-cli.cpp

* Removed redundant exit check

---------

Co-authored-by: pl752 <[email protected]>
Co-authored-by: Xuan-Son Nguyen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants