diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a4758e4efcda..79c30b540fd8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -37,7 +37,7 @@ jobs: python3.8-dbg -c 'import sys; print("Python debug build:", hasattr(sys, "gettotalrefcount"))' python3.8-dbg -m pip install --upgrade pip 'setuptools<58.5' wheel python3.8-dbg -m pip install --upgrade numpy cython pytest pytest-xdist pybind11 - python3.8-dbg -m pip install --upgrade mpmath gmpy2==2.1.0rc1 pythran + python3.8-dbg -m pip install --upgrade mpmath gmpy2==2.1.0rc1 pythran threadpoolctl python3.8-dbg -m pip uninstall -y nose cd .. - name: Building SciPy diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0b531424e99c..0745d13f9ad3 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -291,6 +291,7 @@ stages: pytest-env pytest-timeout pytest-xdist==1.34.0 + threadpoolctl displayName: 'Install dependencies' # DLL resolution mechanics were changed in # Python 3.8: https://bugs.python.org/issue36085 diff --git a/ci/azure-travis-template.yaml b/ci/azure-travis-template.yaml index 2f8d36b72ded..0b7e3a26407b 100644 --- a/ci/azure-travis-template.yaml +++ b/ci/azure-travis-template.yaml @@ -68,6 +68,7 @@ steps: pip install ${{parameters.other_spec}} cython gmpy2==2.1.0rc1 + threadpoolctl mpmath pythran pybind11 diff --git a/doc/source/dev/core-dev/distributing.rst.inc b/doc/source/dev/core-dev/distributing.rst.inc index b4e2e24120b4..5a302c89e1b8 100644 --- a/doc/source/dev/core-dev/distributing.rst.inc +++ b/doc/source/dev/core-dev/distributing.rst.inc @@ -28,7 +28,8 @@ are: - Pillow_ (for image loading/saving) - scikits.umfpack_ (optionally used in ``sparse.linalg``) - mpmath_ (for more extended tests in ``special``) -- pydata/sparse (compatibility support in ``scipy.sparse``) +- pydata/sparse (compatibility support in ``scipy.sparse``) +- threadpoolctl_ (to control BLAS/LAPACK threading in test suite) *Unconditional build-time dependencies:* @@ -221,3 +222,4 @@ Wheelhouse_, see at the wheel_ and Wheelhouse_ docs. .. _six: https://pypi.org/project/six .. _decorator: https://github.com/micheles/decorator .. _manylinux: https://github.com/pypa/manylinux/ +.. _threadpoolctl: https://github.com/joblib/threadpoolctl diff --git a/environment.yml b/environment.yml index a9fb1586be9f..67e17380c8e6 100644 --- a/environment.yml +++ b/environment.yml @@ -36,3 +36,4 @@ dependencies: # Some optional test dependencies - mpmath - gmpy2=2.1.0rc1 + - threadpoolctl diff --git a/pyproject.toml b/pyproject.toml index e3fdc9548fe5..2a7cf47e43d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,6 +86,7 @@ test = [ "asv", "mpmath", "gmpy2==2.1.0rc1", + "threadpoolctl", "scikit-umfpack", ] doc = [