Add interrupt callback to cuPDLP, as well as timeout and logging via HiGHS
I'm setting a callback with HiGHS::setCallback() to capture log output of HiGHS and to be able to interrupt HiGHS while running (e.g., when a SIGINT is received).
However, the output of PDLP always seems to go to stdout.
Also, I cannot interrupt a running PDLP. A kCallbackPdlpInterrupt seems to be missing.
Offering PDLP is WIP, and you're right that the output of PDLP goes to stdout - just as there's no timeout.
It's not so much that the cuPDLP callback is disregarded, it simply doesn't exist!
There's a balance to be struck between modifying someone else's code that's under development so that it runs like the rest of HiGHS, and having the two codebases drift. I'm looking to introduce a minimal-impact callback into cuPDLP in future that will allow interrupt, time-out and logging control as there is in the rest of HiGHS. It alsodoesn't help that cuPDLP is written in C.