Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] SciPy 1.15 changed internals that cuml was relying on #6206

Open
vyasr opened this issue Jan 3, 2025 · 1 comment
Open

[BUG] SciPy 1.15 changed internals that cuml was relying on #6206

vyasr opened this issue Jan 3, 2025 · 1 comment
Labels
? - Needs Triage Need team to review and classify bug Something isn't working

Comments

@vyasr
Copy link
Contributor

vyasr commented Jan 3, 2025

scipy 1.15 released today (January 3). They rewrote parts of scipy.optimize's internals, and in particular they included this PR which changes the signature of one of their internal functions scipy.optimize._lbfgsb that cuml was relying on. In the short term cuml will probably need to be updated to handle the new signature. Long term we should look into avoiding using scipy internals.

@vyasr vyasr added ? - Needs Triage Need team to review and classify bug Something isn't working labels Jan 3, 2025
@jameslamb
Copy link
Member

This is blocking CI here.

I just ran into it on #6201 and discovered that. Adding the text of the error message here, for searchability:

stack trace (click me)
Traceback (most recent call last):
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/_pytest/runner.py", line 341, in from_call
    result: Optional[TResult] = func()
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/_pytest/runner.py", line 262, in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_callers.py", line 182, in _multicall
    return outcome.get_result()
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_result.py", line 100, in get_result
    raise exc.with_traceback(exc.__traceback__)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/_pytest/runner.py", line 177, in pytest_runtest_call
    raise e
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/_pytest/runner.py", line 169, in pytest_runtest_call
    item.runtest()
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/_pytest/python.py", line 1792, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/__w/cuml/cuml/python/cuml/cuml/tests/test_arima.py", line 438, in test_integration
    cuml_model.fit()
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/cuml/internals/api_decorators.py", line 188, in wrapper
    ret = func(*args, **kwargs)
  File "arima.pyx", line 945, in cuml.tsa.arima.ARIMA.fit
  File "arima.pyx", line 918, in cuml.tsa.arima.ARIMA.fit.fit_helper
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/nvtx/nvtx.py", line 116, in inner
    result = func(*args, **kwargs)
  File "/pyenv/versions/3.10.16/lib/python3.10/site-packages/cuml/tsa/batched_lbfgs.py", line 165, in batched_fmin_lbfgs_b
    _lbfgsb.setulb(
TypeError: function takes exactly 17 arguments (18 given)

(build link)

rapids-bot bot pushed a commit that referenced this issue Jan 8, 2025
Resolves the immediate update identified in #6206, we still should update things to not use internals of Scipy.

Authors:
  - Dante Gama Dessavre (https://github.com/dantegd)

Approvers:
  - Victor Lafargue (https://github.com/viclafargue)

URL: #6207
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
? - Needs Triage Need team to review and classify bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants