You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In ScipyOdeSimulator, numpy and scipy's integration with openblas and mkl causes counterproductive parallelization of linear algebra operations that doesn't speed anything up for the matrix sizes we generally deal with, and actually slows things down when our simulator tries to do its own parallelization. The threadpoolctl package is a nice generalized way to control these libraries' thread pool usage at runtime (the only other way would be to ask the user to set one of about five different environment variables depending on their platform). We should use it and default to only allowing 1 thread. Perhaps we should allow the
user to override this if they have a truly enormous model where it can make a difference, but I'm dubious.
In ScipyOdeSimulator, numpy and scipy's integration with openblas and mkl causes counterproductive parallelization of linear algebra operations that doesn't speed anything up for the matrix sizes we generally deal with, and actually slows things down when our simulator tries to do its own parallelization. The threadpoolctl package is a nice generalized way to control these libraries' thread pool usage at runtime (the only other way would be to ask the user to set one of about five different environment variables depending on their platform). We should use it and default to only allowing 1 thread. Perhaps we should allow the
user to override this if they have a truly enormous model where it can make a difference, but I'm dubious.
Example:
The text was updated successfully, but these errors were encountered: