[WIP] Actually terminate OpenBLAS when running out of thread buffers - #5963
[WIP] Actually terminate OpenBLAS when running out of thread buffers#5963martin-frbg wants to merge 3 commits into
Conversation
|
I'm not a large fan of putting terminating statements inside library error handlers. It can lead to killing higher-level sessions, such as terminating the Julia REPL process instead of just throwing back an error to the user. Is there no way to propagate the failure condition back through the function chain? |
|
Yes, I don't like it much either. Probably the better alternative is to return a xerbla error on the individual BLAS call that failed, and hope that the caller heeds it. (Bad enough that there is no other error return mechanism in the standard, and even my makeshift error code 999 clashes will all those LAPACK routines that return something like the index of the first zero or otherwise improper diagonal element of a matrix) |
|
Try 2 is in #5956 - return a XERBLA code -999 on the individual BLAS call without terminating the process, leaving it up to the caller if and how they handle the failed call. (Could add a wait-and-retry, but I think it would be unlikely to help in such cases of catastrophic oversubscription) |
for #5958 - allowing program termination to be overriden by a user-supplied xerbla