The workaround is just to do sparse=true
without jac=true
. We need to change that codegen. We just haven’t yet.
Hi Chris, at least in my case, it seems like sparse = true
gives the same crashing issues as before. With no kwargs, my problem takes ~24 seconds to solve, and with sparse=true
, it crashes my laptop and takes ~1500 seconds on my desktop.
A pass through structural simplify takes just slightly less time than just sparse=true
, and running with just jac=true
takes at least an hour on my system, with crazy ram usage. I ended the task at that point.
Since I can get a solution without using typical acceleration techniques in a reasonable amount of time, I will just do that for now. 24 seconds is fast enough to get things done. Just figured I’d let you know that the sparsity detection seems to have an issue as well.
Edit: after updating to MTK 8.33.1, no-kwarg solve crashes my laptop and takes >1000 seconds on my desktop.
Ouch, can you confirm which previous version of MTK did not have this regression?
I apologize for not being able to be more helpful, things seem to be very inconsistent. Code will sometimes run properly, and sometimes not run properly with different versions of MTK going back to 8.22.1. In a .jl script file, the no-kwarg solve consistently does not work, even after reverting the MTK version, but in a notebook .ipynb file, it seems to work much more consistently, and even the jac=true, sparse=true
solves seem to work sometimes.
I will continue to test and try to figure out what is causing issues, but right now it seems almost random, except that jupyter notebooks work better than .jl files.
That is very strange, perhaps it is related to what is compiled first?
I’m not sure. The issues persist through restarts of the computer, and the code is exactly the same, but I don’t know whether notebook code blocks are compiled all at once rather than line by line. My solution for now is to use the notebook and not update any packages. I am curious about whether there are operating system differences, so I’ll also try to run my code in WSL to see if things work differently there.