osqp / osqp-python

Python interface for OSQP
https://osqp.org/
Apache License 2.0
109 stars 41 forks source link

OSQP requirement of scipy < 1.12.0 slows applications down on Apple Silicon #140

Closed sunilshah closed 4 months ago

sunilshah commented 5 months ago

While there may have been good reasons to require scipy < 1.12.0, it does slow down native arm64 scipy functions by a significant factor (takes 1.67x longer) on my Apple silicon machines. Ignoring the warnings from pip installs, and upgrading scipy from 1.11.4 to 1.13.0 allows osqp-python (version 0.6.5) in cvxpy to run without problems (in my applications) yet, prevents the slow down in scipy functions. Version 1.11.4 of scipy (wheel from pypi) slows down in arm64 architecture but not in Rosetta 2. I am on Mac OS 14.4.1, running python 3.12.3 (installed using Homebrew) in native mode.

I did see an issue mentioned with a hardwired unit test using a random matrix. Perhaps that requires the unit test to be fixed rather than downgrade scipy.

bstellato commented 5 months ago

related https://github.com/osqp/osqp-python/pull/142

sunilshah commented 4 months ago

On MacOS 14.5, osqp-python 0.6.7, scipy 1.13.1, python 3.12.4, numpy 1.26.4 shows no slow down on Apple Silicon.

sunilshah commented 4 months ago

For now, I am closing this. I will retest after numpy 2.0 compatible osqp-python is released on pypi.