diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 80f0754f..7c2cb2d9 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,42 +8,103 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_numpy2.0python3.10.____cpythonpython_implcpython: - CONFIG: linux_64_numpy2.0python3.10.____cpythonpython_implcpython + linux_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy2.0python3.11.____cpythonpython_implcpython: - CONFIG: linux_64_numpy2.0python3.11.____cpythonpython_implcpython + linux_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy2.0python3.12.____cpythonpython_implcpython: - CONFIG: linux_64_numpy2.0python3.12.____cpythonpython_implcpython + linux_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_numpy2.0python3.10.____cpythonpython_implcpython: - CONFIG: linux_aarch64_numpy2.0python3.10.____cpythonpython_implcpython + linux_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_numpy2.0python3.11.____cpythonpython_implcpython: - CONFIG: linux_aarch64_numpy2.0python3.11.____cpythonpython_implcpython + linux_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_numpy2.0python3.12.____cpythonpython_implcpython: - CONFIG: linux_aarch64_numpy2.0python3.12.____cpythonpython_implcpython + linux_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_numpy2.0python3.10.____cpythonpython_implcpython: - CONFIG: linux_ppc64le_numpy2.0python3.10.____cpythonpython_implcpython + linux_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_numpy2.0python3.11.____cpythonpython_implcpython: - CONFIG: linux_ppc64le_numpy2.0python3.11.____cpythonpython_implcpython + linux_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_numpy2.0python3.12.____cpythonpython_implcpython: - CONFIG: linux_ppc64le_numpy2.0python3.12.____cpythonpython_implcpython + linux_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_aarch64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_aarch64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_aarch64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_aarch64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_aarch64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_aarch64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_ppc64le_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_ppc64le_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_ppc64le_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: linux_ppc64le_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: linux_ppc64le_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: linux_ppc64le_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + maxParallel: 24 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index cadb1c98..a9669bef 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,24 +8,52 @@ jobs: vmImage: macOS-12 strategy: matrix: - osx_64_numpy2.0python3.10.____cpythonpython_implcpython: - CONFIG: osx_64_numpy2.0python3.10.____cpythonpython_implcpython + osx_64_blas_implacceleratenumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implacceleratenumpy2.0python3.10.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - osx_64_numpy2.0python3.11.____cpythonpython_implcpython: - CONFIG: osx_64_numpy2.0python3.11.____cpythonpython_implcpython + osx_64_blas_implacceleratenumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implacceleratenumpy2.0python3.11.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - osx_64_numpy2.0python3.12.____cpythonpython_implcpython: - CONFIG: osx_64_numpy2.0python3.12.____cpythonpython_implcpython + osx_64_blas_implacceleratenumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implacceleratenumpy2.0python3.12.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.10.____cpython: - CONFIG: osx_arm64_numpy2.0python3.10.____cpython + osx_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.11.____cpython: - CONFIG: osx_arm64_numpy2.0python3.11.____cpython + osx_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.12.____cpython: - CONFIG: osx_arm64_numpy2.0python3.12.____cpython + osx_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' + osx_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + osx_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: osx_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + maxParallel: 15 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index a100af81..097b292d 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,18 +8,47 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_numpy2.0python3.10.____cpythonpython_implcpython: - CONFIG: win_64_numpy2.0python3.10.____cpythonpython_implcpython + win_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: win_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - win_64_numpy2.0python3.11.____cpythonpython_implcpython: - CONFIG: win_64_numpy2.0python3.11.____cpythonpython_implcpython + win_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: win_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' - win_64_numpy2.0python3.12.____cpythonpython_implcpython: - CONFIG: win_64_numpy2.0python3.12.____cpythonpython_implcpython + win_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: win_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython UPLOAD_PACKAGES: 'True' + win_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: win_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: win_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: win_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: win_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: win_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: win_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython: + CONFIG: win_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython: + CONFIG: win_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + win_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython: + CONFIG: win_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + UPLOAD_PACKAGES: 'True' + maxParallel: 12 timeoutInMinutes: 360 variables: CONDA_BLD_PATH: C:\\bld\\ + SET_PAGEFILE: 'True' UPLOAD_TEMP: D:\\tmp steps: diff --git a/.ci_support/linux_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..1b9be0a5 --- /dev/null +++ b/.ci_support/linux_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- blis +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..d64b19d2 --- /dev/null +++ b/.ci_support/linux_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- blis +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..6ec42ba5 --- /dev/null +++ b/.ci_support/linux_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- blis +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml similarity index 89% rename from .ci_support/linux_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml rename to .ci_support/linux_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml index b24f37de..c9b8fad7 100644 --- a/.ci_support/linux_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -1,3 +1,5 @@ +blas_impl: +- mkl c_compiler: - gcc c_compiler_version: @@ -5,11 +7,11 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml similarity index 89% rename from .ci_support/linux_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml rename to .ci_support/linux_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml index c92ce9bf..19346d52 100644 --- a/.ci_support/linux_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -1,3 +1,5 @@ +blas_impl: +- mkl c_compiler: - gcc c_compiler_version: @@ -5,11 +7,11 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml similarity index 89% rename from .ci_support/linux_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml rename to .ci_support/linux_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml index 17f46ec0..f20a7feb 100644 --- a/.ci_support/linux_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -1,3 +1,5 @@ +blas_impl: +- mkl c_compiler: - gcc c_compiler_version: @@ -5,11 +7,11 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..749ede53 --- /dev/null +++ b/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- netlib +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..3368563d --- /dev/null +++ b/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- netlib +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..fcb66478 --- /dev/null +++ b/.ci_support/linux_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- netlib +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..5412d3c7 --- /dev/null +++ b/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..be860646 --- /dev/null +++ b/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..9b02f7e8 --- /dev/null +++ b/.ci_support/linux_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_aarch64_numpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml similarity index 92% rename from .ci_support/linux_aarch64_numpy2.0python3.10.____cpythonpython_implcpython.yaml rename to .ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml index 60097640..7eb97fae 100644 --- a/.ci_support/linux_aarch64_numpy2.0python3.10.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -1,5 +1,7 @@ BUILD: - aarch64-conda_cos7-linux-gnu +blas_impl: +- netlib c_compiler: - gcc c_compiler_version: @@ -13,7 +15,7 @@ cdt_arch: cdt_name: - cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_aarch64_numpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml similarity index 92% rename from .ci_support/linux_aarch64_numpy2.0python3.11.____cpythonpython_implcpython.yaml rename to .ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml index bcc2d7a6..5199c7ce 100644 --- a/.ci_support/linux_aarch64_numpy2.0python3.11.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -1,5 +1,7 @@ BUILD: - aarch64-conda_cos7-linux-gnu +blas_impl: +- netlib c_compiler: - gcc c_compiler_version: @@ -13,7 +15,7 @@ cdt_arch: cdt_name: - cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_aarch64_numpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml similarity index 92% rename from .ci_support/linux_aarch64_numpy2.0python3.12.____cpythonpython_implcpython.yaml rename to .ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml index db3c3bf8..05be47db 100644 --- a/.ci_support/linux_aarch64_numpy2.0python3.12.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_aarch64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -1,5 +1,7 @@ BUILD: - aarch64-conda_cos7-linux-gnu +blas_impl: +- netlib c_compiler: - gcc c_compiler_version: @@ -13,7 +15,7 @@ cdt_arch: cdt_name: - cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..89d4d919 --- /dev/null +++ b/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,57 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..6ff644ad --- /dev/null +++ b/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,57 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..7c41ca19 --- /dev/null +++ b/.ci_support/linux_aarch64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,57 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_ppc64le_numpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml similarity index 91% rename from .ci_support/linux_ppc64le_numpy2.0python3.10.____cpythonpython_implcpython.yaml rename to .ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml index c0553e4f..91b0a756 100644 --- a/.ci_support/linux_ppc64le_numpy2.0python3.10.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -1,3 +1,5 @@ +blas_impl: +- netlib c_compiler: - gcc c_compiler_version: @@ -9,7 +11,7 @@ c_stdlib_version: cdt_name: - cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_ppc64le_numpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml similarity index 91% rename from .ci_support/linux_ppc64le_numpy2.0python3.11.____cpythonpython_implcpython.yaml rename to .ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml index e93790e3..f1beba7f 100644 --- a/.ci_support/linux_ppc64le_numpy2.0python3.11.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -1,3 +1,5 @@ +blas_impl: +- netlib c_compiler: - gcc c_compiler_version: @@ -9,7 +11,7 @@ c_stdlib_version: cdt_name: - cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_ppc64le_numpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml similarity index 91% rename from .ci_support/linux_ppc64le_numpy2.0python3.12.____cpythonpython_implcpython.yaml rename to .ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml index 6376c53c..061d5549 100644 --- a/.ci_support/linux_ppc64le_numpy2.0python3.12.____cpythonpython_implcpython.yaml +++ b/.ci_support/linux_ppc64le_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -1,3 +1,5 @@ +blas_impl: +- netlib c_compiler: - gcc c_compiler_version: @@ -9,7 +11,7 @@ c_stdlib_version: cdt_name: - cos7 channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..4bcf1f0e --- /dev/null +++ b/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..b105ef61 --- /dev/null +++ b/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..91a6228f --- /dev/null +++ b/.ci_support/linux_ppc64le_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +blas_impl: +- openblas +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - c_stdlib_version + - cdt_name +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..a95bf95a --- /dev/null +++ b/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- accelerate +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..1b29d53c --- /dev/null +++ b/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- accelerate +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..9da8487a --- /dev/null +++ b/.ci_support/osx_64_blas_implacceleratenumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- accelerate +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml b/.ci_support/osx_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml similarity index 83% rename from .ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml index eba153e9..13b96168 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -1,7 +1,9 @@ MACOSX_DEPLOYMENT_TARGET: -- '11.0' +- '10.13' MACOSX_SDK_VERSION: -- '11.0' +- '10.13' +blas_impl: +- blis c_compiler: - clang c_compiler_version: @@ -9,9 +11,9 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '11.0' +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -29,7 +31,7 @@ libcblas: liblapack: - 3.9 *netlib macos_machine: -- arm64-apple-darwin20.0.0 +- x86_64-apple-darwin13.4.0 numpy: - '2.0' pin_run_as_build: @@ -41,7 +43,7 @@ python: python_impl: - cpython target_platform: -- osx-arm64 +- osx-64 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml b/.ci_support/osx_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml similarity index 83% rename from .ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml index f85d6b31..57248a03 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -1,7 +1,9 @@ MACOSX_DEPLOYMENT_TARGET: -- '11.0' +- '10.13' MACOSX_SDK_VERSION: -- '11.0' +- '10.13' +blas_impl: +- blis c_compiler: - clang c_compiler_version: @@ -9,9 +11,9 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '11.0' +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -29,7 +31,7 @@ libcblas: liblapack: - 3.9 *netlib macos_machine: -- arm64-apple-darwin20.0.0 +- x86_64-apple-darwin13.4.0 numpy: - '2.0' pin_run_as_build: @@ -41,7 +43,7 @@ python: python_impl: - cpython target_platform: -- osx-arm64 +- osx-64 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml b/.ci_support/osx_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml similarity index 83% rename from .ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml index da41597c..635b1ab6 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -1,7 +1,9 @@ MACOSX_DEPLOYMENT_TARGET: -- '11.0' +- '10.13' MACOSX_SDK_VERSION: -- '11.0' +- '10.13' +blas_impl: +- blis c_compiler: - clang c_compiler_version: @@ -9,9 +11,9 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '11.0' +- '10.13' channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -29,7 +31,7 @@ libcblas: liblapack: - 3.9 *netlib macos_machine: -- arm64-apple-darwin20.0.0 +- x86_64-apple-darwin13.4.0 numpy: - '2.0' pin_run_as_build: @@ -41,7 +43,7 @@ python: python_impl: - cpython target_platform: -- osx-arm64 +- osx-64 zip_keys: - - c_compiler_version - cxx_compiler_version diff --git a/.ci_support/osx_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml similarity index 92% rename from .ci_support/osx_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml rename to .ci_support/osx_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml index c2755344..6fb1fb3c 100644 --- a/.ci_support/osx_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml +++ b/.ci_support/osx_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -2,6 +2,8 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' +blas_impl: +- mkl c_compiler: - clang c_compiler_version: @@ -11,7 +13,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml similarity index 92% rename from .ci_support/osx_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml rename to .ci_support/osx_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml index d1749160..aa349e4b 100644 --- a/.ci_support/osx_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml +++ b/.ci_support/osx_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -2,6 +2,8 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' +blas_impl: +- mkl c_compiler: - clang c_compiler_version: @@ -11,7 +13,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml similarity index 92% rename from .ci_support/osx_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml rename to .ci_support/osx_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml index 60f427cc..b819b907 100644 --- a/.ci_support/osx_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml +++ b/.ci_support/osx_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -2,6 +2,8 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' MACOSX_SDK_VERSION: - '10.13' +blas_impl: +- mkl c_compiler: - clang c_compiler_version: @@ -11,7 +13,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge +- conda-forge/label/openblas_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..87d9261f --- /dev/null +++ b/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- netlib +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..5030c048 --- /dev/null +++ b/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- netlib +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..a381473b --- /dev/null +++ b/.ci_support/osx_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- netlib +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..b3ceecff --- /dev/null +++ b/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- openblas +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..6246ebdf --- /dev/null +++ b/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- openblas +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..ea23770e --- /dev/null +++ b/.ci_support/osx_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,53 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +blas_impl: +- openblas +c_compiler: +- clang +c_compiler_version: +- '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge/label/openblas_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fortran_compiler: +- gfortran +fortran_compiler_version: +- '12' +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - fortran_compiler_version +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..8fe55371 --- /dev/null +++ b/.ci_support/win_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- blis +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..be7e147f --- /dev/null +++ b/.ci_support/win_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- blis +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..9e02feaf --- /dev/null +++ b/.ci_support/win_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- blis +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml similarity index 81% rename from .ci_support/win_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml rename to .ci_support/win_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml index cc39e84b..87d2e7e0 100644 --- a/.ci_support/win_64_numpy2.0python3.10.____cpythonpython_implcpython.yaml +++ b/.ci_support/win_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -1,9 +1,11 @@ +blas_impl: +- mkl c_compiler: - vs2019 c_stdlib: - vs channel_sources: -- conda-forge/label/meson_dev,conda-forge +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml similarity index 81% rename from .ci_support/win_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml rename to .ci_support/win_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml index c04d4c63..bc864cc7 100644 --- a/.ci_support/win_64_numpy2.0python3.11.____cpythonpython_implcpython.yaml +++ b/.ci_support/win_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -1,9 +1,11 @@ +blas_impl: +- mkl c_compiler: - vs2019 c_stdlib: - vs channel_sources: -- conda-forge/label/meson_dev,conda-forge +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml similarity index 81% rename from .ci_support/win_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml rename to .ci_support/win_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml index a82d2761..43bcecde 100644 --- a/.ci_support/win_64_numpy2.0python3.12.____cpythonpython_implcpython.yaml +++ b/.ci_support/win_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -1,9 +1,11 @@ +blas_impl: +- mkl c_compiler: - vs2019 c_stdlib: - vs channel_sources: -- conda-forge/label/meson_dev,conda-forge +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..34560a59 --- /dev/null +++ b/.ci_support/win_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- netlib +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..94d01340 --- /dev/null +++ b/.ci_support/win_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- netlib +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..3d2b4e02 --- /dev/null +++ b/.ci_support/win_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- netlib +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..a5e73904 --- /dev/null +++ b/.ci_support/win_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- openblas +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..133985fb --- /dev/null +++ b/.ci_support/win_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- openblas +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.ci_support/win_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml b/.ci_support/win_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml new file mode 100644 index 00000000..b1eecc1f --- /dev/null +++ b/.ci_support/win_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython.yaml @@ -0,0 +1,34 @@ +blas_impl: +- openblas +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +libblas: +- 3.9 *netlib +libcblas: +- 3.9 *netlib +liblapack: +- 3.9 *netlib +numpy: +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +python_impl: +- cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy + - python_impl diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index a5836e8d..ba4b251c 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -72,7 +72,6 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" - ( startgroup "Inspecting artifacts" ) 2> /dev/null # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 diff --git a/README.md b/README.md index 3e25e018..44b91c6c 100644 --- a/README.md +++ b/README.md @@ -35,129 +35,360 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/conda-forge.yml b/conda-forge.yml index 70bf473c..27c92074 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -2,6 +2,7 @@ azure: settings_win: variables: CONDA_BLD_PATH: C:\\bld\\ + SET_PAGEFILE: "True" build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 26f8c580..8d9dd3be 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,2 +1,10 @@ -channel_sources: # [win] - - conda-forge/label/meson_dev,conda-forge # [win] +channel_sources: + - conda-forge/label/openblas_dev,conda-forge # [unix] + - conda-forge/label/openblas_dev,conda-forge/label/meson_dev,conda-forge # [win] + +blas_impl: + - accelerate # [osx] + - netlib + - openblas + - mkl # [x86_64] + - blis # [x86_64] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 15b0d286..95a4854f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,6 +9,9 @@ package: name: scipy-split version: {{ version }} +# use 'blas_impl' in meta.yaml to ensure CI jobs get split +# [blas_impl == "mkl"] + source: # The sdist distributed by scipy contains pre-compiled pythran sources, # as well as the relevant submodules; by taking the tarball from github @@ -19,6 +22,8 @@ source: patches: # backport https://github.com/scipy/scipy/pull/21069 - patches/0001-MAINT-fix-typo-in-small_dynamic_array.h-21069.patch + # test https://github.com/scipy/scipy/pull/21021 + - patches/0002-ENH-optimize-Re-rewrite-nnls-in-Cython.patch # https://github.com/scipy/scipy/tree/v{{ version }}/scipy/_lib - git_url: https://github.com/data-apis/array-api-compat.git folder: scipy/_lib/array_api_compat @@ -48,6 +53,8 @@ build: skip: true # [py<310] # pypy is currently broken and on its way out anyway skip: true # [python_impl == "pypy"] + # debug: we're not running tests on osx-arm; don't waste CI + skip: true # [osx and arm64] requirements: build: @@ -264,15 +271,10 @@ outputs: - mpmath # needed for scipy.datasets - pooch + # make sure we test with all blas implementations + - libblas =*=*{{ blas_impl }} commands: {% set tests_to_skip = "_not_a_real_test" %} - # scipy/scipy#19210 - 60 failing tests! - {% set tests_to_skip = tests_to_skip + " or (TestQR and (delete_f or insert_f or update_f))" %} # [aarch64] - {% set tests_to_skip = tests_to_skip + " or (TestLstsq and test_random_overdet)" %} # [aarch64] - {% set tests_to_skip = tests_to_skip + " or (test_lapack.py and (" %} # [aarch64] - {% set tests_to_skip = tests_to_skip + " test_pftri or test_pstrf or test_pstf2" %} # [aarch64] - {% set tests_to_skip = tests_to_skip + " or test_sfrk_hfrk or TestBlockedQR" %} # [aarch64] - {% set tests_to_skip = tests_to_skip + "))" %} # [aarch64] # on the slowest agents, these tests take more than 20min in emulation {% set tests_to_skip = tests_to_skip + " or test_mixed_threads_processes or test_sf_gh18506" %} # [aarch64 or ppc64le] {% set tests_to_skip = tests_to_skip + " or (test_lsq_linear and test_large_rank_deficient)" %} # [aarch64 or ppc64le] diff --git a/recipe/patches/0001-MAINT-fix-typo-in-small_dynamic_array.h-21069.patch b/recipe/patches/0001-MAINT-fix-typo-in-small_dynamic_array.h-21069.patch index b7d021c4..e861afbd 100644 --- a/recipe/patches/0001-MAINT-fix-typo-in-small_dynamic_array.h-21069.patch +++ b/recipe/patches/0001-MAINT-fix-typo-in-small_dynamic_array.h-21069.patch @@ -1,7 +1,7 @@ From 91c4074b0eb9e4f56e3c182e873f16bdbd83c11e Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Sun, 30 Jun 2024 07:33:27 +1100 -Subject: [PATCH] MAINT: fix typo in small_dynamic_array.h (#21069) +Subject: [PATCH 1/2] MAINT: fix typo in small_dynamic_array.h (#21069) on clang-19, this causes: ``` diff --git a/recipe/patches/0002-ENH-optimize-Re-rewrite-nnls-in-Cython.patch b/recipe/patches/0002-ENH-optimize-Re-rewrite-nnls-in-Cython.patch new file mode 100644 index 00000000..f312d08e --- /dev/null +++ b/recipe/patches/0002-ENH-optimize-Re-rewrite-nnls-in-Cython.patch @@ -0,0 +1,489 @@ +From 8d0d978eefb8d4be10681c83f566f2a73d6acec3 Mon Sep 17 00:00:00 2001 +From: Ilhan Polat +Date: Sat, 22 Jun 2024 01:25:43 +0200 +Subject: [PATCH 2/2] ENH:optimize: Re-rewrite nnls in Cython + +--- + scipy/optimize/_cython_nnls.pyx | 216 ++++++++++++++++++++++++++++++ + scipy/optimize/_nnls.py | 83 ++---------- + scipy/optimize/meson.build | 9 ++ + scipy/optimize/tests/test_nnls.py | 113 +++++++++++++++- + 4 files changed, 345 insertions(+), 76 deletions(-) + create mode 100644 scipy/optimize/_cython_nnls.pyx + +diff --git a/scipy/optimize/_cython_nnls.pyx b/scipy/optimize/_cython_nnls.pyx +new file mode 100644 +index 0000000000..53bfb82adf +--- /dev/null ++++ b/scipy/optimize/_cython_nnls.pyx +@@ -0,0 +1,216 @@ ++# cython: boundscheck=False ++# cython: initializedcheck=False ++# cython: wraparound=False ++# cython: cdivision=True ++# cython: cpow=True ++ ++ ++__all__ = ['_nnls'] ++ ++from scipy.linalg.cython_lapack cimport dlarfgp, dlarf, dlartgp ++from scipy.linalg.cython_blas cimport dnrm2 ++import numpy as np ++cimport numpy as cnp ++cnp.import_array() ++ ++def _nnls(cnp.ndarray[cnp.float64_t, ndim=2] A_in, ++ cnp.ndarray[cnp.float64_t, ndim=1] b_in, ++ int maxiter): ++ # Make copies of the input to be mutated ++ cdef cnp.ndarray[cnp.float64_t, ndim=2, mode='c'] A = A_in.copy(order='C') ++ cdef cnp.ndarray[cnp.float64_t, ndim=1, mode='c'] b = b_in.copy() ++ ++ cdef int m = A.shape[0], n = A.shape[1] ++ cdef int i = 0, ii = 0, ip = 0, iteration = 0, iz = 0, iz1 = 0, izmax = 0 ++ cdef int j = 0, jj = 0, k = 0 ++ cdef int col = 0, nrow = 0, nsetp = 0, one = 1, tmpint = 0 ++ cdef double tau = 0.0, unorm = 0.0, ztest, tmp, alpha, beta, cc, ss, wmax, T ++ cdef cnp.ndarray[cnp.float64_t, ndim=1, mode='c'] w ++ cdef cnp.ndarray[cnp.float64_t, ndim=1, mode='c'] x ++ cdef cnp.ndarray[cnp.float64_t, ndim=1, mode='c'] work ++ cdef cnp.ndarray[cnp.float64_t, ndim=1, mode='c'] zz ++ cdef cnp.ndarray[cnp.int32_t, ndim=1, mode='c'] inds ++ cdef bint skip = False ++ ++ inds = cnp.PyArray_Arange(0, n, 1, cnp.NPY_INT32) ++ w = cnp.PyArray_EMPTY(1, [n], cnp.NPY_FLOAT64, 0) ++ work = cnp.PyArray_EMPTY(1, [m], cnp.NPY_FLOAT64, 0) ++ x = cnp.PyArray_ZEROS(1, [n], cnp.NPY_FLOAT64, 0) ++ zz = cnp.PyArray_EMPTY(1, [m], cnp.NPY_FLOAT64, 0) ++ ++ # Quit if all coefficients are already in the solution or if m columns of A ++ # have been triangularized. ++ while (iz1 < n) and (nsetp < m): ++ # simulating a goto from col independence check ++ if skip: ++ skip = False ++ else: ++ w[inds[iz1:]] = b[nrow:] @ A[nrow:, inds[iz1:]] ++ ++ # Find the largest w[j] and its index. ++ wmax = 0.0 ++ for col in range(iz1, n): ++ j = inds[col] ++ if w[j] > wmax: ++ wmax = w[j] ++ izmax = col ++ iz = izmax ++ j = inds[iz] ++ ++ # If wmax <= 0.0, terminate since this is a KKT certificate. ++ if wmax <= 0.0: ++ break ++ ++ # The sign of wmax is OK for j to be moved to set p. Begin the transformation ++ # and check new diagonal element to avoid near-linear dependence. ++ work[nrow:] = A[nrow:, j] ++ tmpint = m - nrow ++ # DLARFGP( N, ALPHA, X, INCX, TAU ) ++ dlarfgp(&tmpint, &work[nrow], &work[nrow+1], &one, &tau) ++ beta = work[nrow] ++ work[nrow] = 1. ++ unorm = 0.0 ++ if nsetp > 0: ++ unorm = dnrm2(&nsetp, &A[0, j], &n) ++ ++ if ((unorm + abs(beta)*0.01) - unorm) > 0.0: ++ # Column j is sufficiently independent. Copy b into zz and solve for ++ # ztest which is the new prospective value for x[j]. ++ zz[:] = b[:] ++ # dlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK) ++ dlarf('L', &tmpint, &one, &work[nrow], &one, &tau, ++ &zz[nrow], &tmpint, &tmp) ++ ztest = zz[nrow] / beta ++ ++ if ztest <= 0.0: ++ # reject column j as a candidate to be moved from set z to set p. ++ # Set w[j] to 0.0 and move to the next greatest entry in w. ++ w[j] = 0.0 ++ skip = True ++ continue ++ else: ++ # Column j is not numerically independent, reject column j ++ w[j] = 0.0 ++ skip = True ++ continue ++ ++ # column j accepted ++ A[nrow, j] = beta ++ b[:] = zz[:] ++ inds[iz] = inds[iz1] ++ inds[iz1] = j ++ iz1 += 1 ++ nsetp += 1 ++ ++ if iz1 < n: ++ # Apply the householder trafo to remaining columns ++ for col in inds[iz1:]: ++ zz[nrow:] = A[nrow:, col] ++ dlarf('L', &tmpint, &one, &work[nrow], &one, &tau, ++ &zz[nrow], &tmpint, &tmp) ++ A[nrow:, col] = zz[nrow:] ++ ++ nrow += 1 ++ ++ if nsetp < m-1: ++ A[nrow:, j] = 0.0 ++ ++ w[j] = 0.0 ++ ++ # Solve triangular system, store in zz ++ zz[:] = b[:] ++ for k in range(nsetp): ++ ip = nsetp - k - 1 ++ if k != 0: ++ for ii in range(ip+1): ++ zz[ii] -= A[ii, jj]*zz[ip+1] ++ jj = inds[ip] ++ zz[ip] /= A[ip, jj] ++ ++ # Inner loop ++ while True: ++ iteration += 1 ++ ++ if iteration == maxiter: ++ return x, 0.0, -1 ++ ++ # See if all new constrained coefficients are feasible ++ # otherwise compute alpha that should be in [0, 1] ++ alpha = 2.0 ++ for ip in range(nsetp): ++ k = inds[ip] ++ if zz[ip] <= 0.0: ++ T = -x[k] / (zz[ip]-x[k]) ++ if alpha > T: ++ alpha = T ++ jj = ip ++ ++ # If all new constrained coefficients are feasible ++ # alpha is still 2 then exit otherwise interpolate ++ # between old x and zz. ++ if alpha == 2.0: ++ break ++ ++ x[inds[:nsetp]] *= 1 - alpha ++ x[inds[:nsetp]] += alpha*zz[:nsetp] ++ ++ # Modify A, B, and the indices to move coefficient ++ # i from set p to set z. While loop simulates a goto ++ i = inds[jj] ++ while True: ++ x[i] = 0.0 ++ ++ if jj != nsetp: ++ jj += 1 ++ for j in range(jj, nsetp): ++ ii = inds[j] ++ inds[j-1] = ii ++ dlartgp(&A[j-1, ii], &A[j, ii], &cc, &ss, &A[j-1, ii]) ++ A[j, ii] = 0.0 ++ # Apply Givens rotation to all cols except ii ++ for col in range(n): ++ if col != ii: ++ tmp = A[j-1, col] ++ A[j-1, col] = cc*tmp + ss*A[j, col] ++ A[j, col] = -ss*tmp + cc*A[j, col] ++ ++ tmp = b[j-1] ++ b[j-1] = cc*tmp + ss*b[j] ++ b[j] = -ss*tmp + cc*b[j] ++ ++ nrow -= 1 ++ nsetp -= 1 ++ iz1 -= 1 ++ inds[iz1] = i ++ ++ # See if remaining coefficients in set P are feasible ++ # since determination of alpha guarantees it. If still ++ # there are infeasible ones, they are due to numerical ++ # noise. Any that are nonpositive will be set to zero ++ # and moved from set p to set z. ++ for jj in range(nsetp): ++ i = inds[jj] ++ if x[i] <= 0.0: ++ # numerical noise; back to top of while loop ++ break ++ else: ++ # No break; leave while loop ++ break ++ ++ zz[:] = b[:] ++ for k in range(nsetp): ++ ip = nsetp - k - 1 ++ if k != 0: ++ for ii in range(ip+1): ++ zz[ii] -= A[ii, jj]*zz[ip+1] ++ jj = inds[ip] ++ zz[ip] /= A[ip, jj] ++ ++ # Back to inner loop beginning ++ ++ # Back in outer loop ++ x[inds[:nsetp]] = zz[:nsetp] ++ ++ # Back to the outer loop beginning ++ ++ return x, np.linalg.norm(b[nrow:]), 0 +diff --git a/scipy/optimize/_nnls.py b/scipy/optimize/_nnls.py +index 17fcdc9e4c..be904c90d7 100644 +--- a/scipy/optimize/_nnls.py ++++ b/scipy/optimize/_nnls.py +@@ -1,6 +1,6 @@ + import numpy as np +-from scipy.linalg import solve, LinAlgWarning +-import warnings ++from ._cython_nnls import _nnls ++ + + __all__ = ['nnls'] + +@@ -71,8 +71,8 @@ def nnls(A, b, maxiter=None, *, atol=None): + + """ + +- A = np.asarray_chkfinite(A) +- b = np.asarray_chkfinite(b) ++ A = np.asarray_chkfinite(A, dtype=np.float64, order='C') ++ b = np.asarray_chkfinite(b, dtype=np.float64) + + if len(A.shape) != 2: + raise ValueError("Expected a two-dimensional array (matrix)" + +@@ -88,77 +88,10 @@ def nnls(A, b, maxiter=None, *, atol=None): + "Incompatible dimensions. The first dimension of " + + f"A is {m}, while the shape of b is {(b.shape[0], )}") + +- x, rnorm, mode = _nnls(A, b, maxiter, tol=atol) +- if mode != 1: ++ if not maxiter: ++ maxiter = 3*n ++ x, rnorm, info = _nnls(A, b, maxiter) ++ if info == -1: + raise RuntimeError("Maximum number of iterations reached.") + + return x, rnorm +- +- +-def _nnls(A, b, maxiter=None, tol=None): +- """ +- This is a single RHS algorithm from ref [2] above. For multiple RHS +- support, the algorithm is given in :doi:`10.1002/cem.889` +- """ +- m, n = A.shape +- +- AtA = A.T @ A +- Atb = b @ A # Result is 1D - let NumPy figure it out +- +- if not maxiter: +- maxiter = 3*n +- if tol is None: +- tol = 10 * max(m, n) * np.spacing(1.) +- +- # Initialize vars +- x = np.zeros(n, dtype=np.float64) +- s = np.zeros(n, dtype=np.float64) +- # Inactive constraint switches +- P = np.zeros(n, dtype=bool) +- +- # Projected residual +- w = Atb.copy().astype(np.float64) # x=0. Skip (-AtA @ x) term +- +- # Overall iteration counter +- # Outer loop is not counted, inner iter is counted across outer spins +- iter = 0 +- +- while (not P.all()) and (w[~P] > tol).any(): # B +- # Get the "most" active coeff index and move to inactive set +- k = np.argmax(w * (~P)) # B.2 +- P[k] = True # B.3 +- +- # Iteration solution +- s[:] = 0. +- # B.4 +- with warnings.catch_warnings(): +- warnings.filterwarnings('ignore', message='Ill-conditioned matrix', +- category=LinAlgWarning) +- s[P] = solve(AtA[np.ix_(P, P)], Atb[P], assume_a='sym', check_finite=False) +- +- # Inner loop +- while (iter < maxiter) and (s[P].min() < 0): # C.1 +- iter += 1 +- inds = P * (s < 0) +- alpha = (x[inds] / (x[inds] - s[inds])).min() # C.2 +- x *= (1 - alpha) +- x += alpha*s +- P[x <= tol] = False +- with warnings.catch_warnings(): +- warnings.filterwarnings('ignore', message='Ill-conditioned matrix', +- category=LinAlgWarning) +- s[P] = solve(AtA[np.ix_(P, P)], Atb[P], assume_a='sym', +- check_finite=False) +- s[~P] = 0 # C.6 +- +- x[:] = s[:] +- w[:] = Atb - AtA @ x +- +- if iter == maxiter: +- # Typically following line should return +- # return x, np.linalg.norm(A@x - b), -1 +- # however at the top level, -1 raises an exception wasting norm +- # Instead return dummy number 0. +- return x, 0., -1 +- +- return x, np.linalg.norm(A@x - b), 1 +diff --git a/scipy/optimize/meson.build b/scipy/optimize/meson.build +index d6c20d3d53..c7fe69a38b 100644 +--- a/scipy/optimize/meson.build ++++ b/scipy/optimize/meson.build +@@ -203,6 +203,15 @@ py3.extension_module('_bglu_dense', + subdir: 'scipy/optimize' + ) + ++py3.extension_module('_cython_nnls', ++ opt_gen.process('_cython_nnls.pyx'), ++ c_args: cython_c_args, ++ dependencies: np_dep, ++ link_args: version_link_args, ++ install: true, ++ subdir: 'scipy/optimize' ++) ++ + subdir('_lsq') + subdir('_trlib') + subdir('_trustregion_constr') +diff --git a/scipy/optimize/tests/test_nnls.py b/scipy/optimize/tests/test_nnls.py +index aa4956febd..67443dd614 100644 +--- a/scipy/optimize/tests/test_nnls.py ++++ b/scipy/optimize/tests/test_nnls.py +@@ -97,7 +97,7 @@ class TestNNLS: + + # Small perturbations can already make the infinite loop go away (just + # uncomment the next line) +- k = k + 1e-10 * np.random.normal(size=N) ++ # k = k + 1e-10 * np.random.normal(size=N) + dact, _ = nnls(W @ A, W @ k) + assert_allclose(dact, d, rtol=0., atol=1e-10) + +@@ -316,3 +316,114 @@ class TestNNLS: + sol, rnorm = nnls(A, b) + assert_allclose(sol, np.array([0.61124315, 8.22262829, 0., 0., 0.])) + assert_allclose(rnorm, 1.0556460808977297) ++ ++ def test_nnls_gh21021_ex1(self): ++ # Review examples used in gh-21021 ++ A = [[0.004734199143798789, -0.09661916455815653, -0.04308779048103441, ++ 0.4039475561867938, -0.27742598780954364, -0.20816924034369574, ++ -0.17264070902176, 0.05251808558963846], ++ [-0.030263548855047975, -0.30356483926431466, 0.18080406600591398, ++ -0.06892233941254086, -0.41837298885432317, 0.30245352819647003, ++ -0.19008975278116397, -0.00990809825429995], ++ [-0.2561747595787612, -0.04376282125249583, 0.4422181991706678, ++ -0.13720906318924858, -0.0069523811763796475, -0.059238287107464795, ++ 0.028663214369642594, 0.5415531284893763], ++ [0.2949336072968401, 0.33997647534935094, 0.38441519339815755, ++ -0.306001783010386, 0.18120773805949028, -0.36669767490747895, ++ -0.021539960590992304, -0.2784251712424615], ++ [0.5009075736232653, -0.20161970347571165, 0.08404512586550646, ++ 0.2520496489348788, 0.14812015101612894, -0.25823455803981266, ++ -0.1596872058396596, 0.5960141613922691] ++ ] ++ b = [18.036779281222124, -18.126530733870887, 13.535652034584029, ++ -2.6654275476795966, 9.166315328199575] ++ ++ # Obtained from matlab's lstnonneg ++ des_sol = np.array([0., 118.017802006619, 45.1996532316584, 102.62156313537, ++ 0., 55.8590204314398, 0., 29.7328833253434]) ++ sol, res = nnls(A, b) ++ assert_allclose(sol, des_sol) ++ assert np.abs(np.linalg.norm(A@sol - b) - res) < 5e-14 ++ ++ def test_nnls_gh21021_ex2(self): ++ A = np.array([ ++ [0.2508259992635229, -0.24031300195203256], ++ [0.510647748500133, 0.2872936081767836], ++ [0.8196387904102849, -0.03520620107046682], ++ [0.030739759120097084, -0.07768656359879388]]) ++ b = np.array([24.456141951303913, ++ 28.047143273432333, ++ 41.10526799545987, ++ -1.2078282698324068]) ++ ++ sol, res = nnls(A, b) ++ assert_allclose(sol, np.array([54.3047953202271, 0.0])) ++ assert np.abs(np.linalg.norm(A@sol - b) - res) < 5e-14 ++ ++ def test_nnls_gh21021_ex3(self): ++ A = np.array([ ++ [0.08247592017366788, 0.058398241636675674, -0.1031496693415968, ++ 0.03156983127072098, -0.029503680182026665], ++ [0.21463607509982277, -0.2164518969308173, -0.10816833396662294, ++ 0.12133867146012027, -0.15025010408668332], ++ [0.07251900316494089, -0.003044559315020767, 0.042682817961676424, ++ -0.018157525489298176, 0.11561953260568134], ++ [0.2328797918159187, -0.09112909645892767, 0.21348169727099078, ++ 0.00449447624089599, -0.16615256386885716], ++ [-0.02440856024843897, -0.20131427208575386, 0.030275781997161483, ++ -0.04560777213546784, 0.11007266012013553], ++ [-0.2928391429686263, -0.20437574856615687, -0.020892110811574407, ++ -0.10455040720819309, 0.05337267000160461], ++ [0.22041503019400316, 0.014262782992311842, 0.08274606359871121, ++ -0.17933172096518907, -0.11809690350702161], ++ [0.10440436007469953, 0.09171452270577712, 0.03942347724809893, ++ 0.11457669688231396, 0.07529747295631585], ++ [-0.052087576116032056, -0.15787717158077047, -0.08232202515883282, ++ -0.03194837933710708, -0.0546812506025729], ++ [-0.010388407673304468, 0.015174707581808923, 0.04764509565386281, ++ -0.1781221936030805, 0.10218894080536609], ++ [0.03272263140115928, -0.27576456949442574, 0.024897570959901753, ++ -0.1417129166632282, -0.03320796462136591], ++ [-0.12490006751823997, -0.03012003515442302, -0.051495264012509506, ++ 0.012070729698374614, 0.04811700123118234], ++ [0.15254854117990788, -0.051863547789218374, 0.058012914127346174, ++ -0.06717991061422621, -0.14514671564242257], ++ [0.12251250415395559, -0.17462495626695362, -0.025334728552179834, ++ 0.11425350676877533, 0.06183915953812639], ++ [0.19334259720491218, 0.2164301986218955, -0.018882278726614483, ++ 0.07950236716817938, -0.2220529357431092], ++ [-0.01822205701890852, 0.12630444976752267, -0.03118092027244001, ++ 0.02773743885242581, 0.06444433740044248], ++ [0.13344116850581977, -0.05142877469996826, 0.3385702016705455, ++ -0.25814970787123004, 0.2679034842977378], ++ [0.1309747058619377, 0.12090608957940627, -0.13957978654106512, ++ 0.17048819760322642, -0.241775259969348], ++ [0.28613102173467275, -0.47153463906732174, 0.20359970518269746, ++ -0.0962095202871843, -0.07703076550836387], ++ [0.2212788380372723, 0.02569245145758152, -0.021596152392209966, ++ 0.04610005150029433, -0.2024454395619734], ++ [-0.043225338359410316, 0.17816095186290315, -0.014709092962616079, ++ 0.06993970293287989, -0.09033722782555903], ++ [0.17747622942563512, -0.20991014784011458, 0.06265720409894943, ++ 0.0689704059061795, 0.024474319398401525], ++ [-0.1163880385601698, 0.29989570587630027, 0.033443765320984545, ++ 0.008470296514656, -0.0014457113271462002], ++ [0.024375314902718406, 0.05279830705548363, 0.02691082431023144, ++ 0.05265079368002343, 0.15542988147487913], ++ [-0.01855218360922308, -0.050265869142888164, 0.2567912677240452, ++ -0.2606428528561333, 0.25334396245022245]]) ++ ++ b = np.array([-7.876625373734849, -8.259856278691373, 3.2593082374900963, ++ 16.30170376973345, 2.311892943629045, -1.595345202555738, ++ 6.318582970536518, 3.0104212955340093, -6.286202915842167, ++ 3.6382333725029294, 1.9012066681249356, -3.932236581436514, ++ 4.4299317131740406, -1.9345885161292682, -1.4418721521970805, ++ -2.3810103256943926, 25.853603392922526, -10.658470311610483, ++ 15.547103681119214, -1.6491066136547277, -1.1232029689817422, ++ 4.7845749463206975, 2.553803732013229, 2.0549409701753705, ++ 19.60887153608244]) ++ ++ sol, res = nnls(A, b) ++ assert_allclose(sol, np.array([0.0, 0.0, 76.3611306173957, 0.0, 0.0]), ++ atol=5e-14) ++ assert np.abs(np.linalg.norm(A@sol - b) - res) < 5e-14
VariantStatus
linux_64_numpy2.0python3.10.____cpythonpython_implcpythonlinux_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython - variant + variant
linux_64_numpy2.0python3.11.____cpythonpython_implcpythonlinux_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython - variant + variant
linux_64_numpy2.0python3.12.____cpythonpython_implcpythonlinux_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython - variant + variant
linux_aarch64_numpy2.0python3.10.____cpythonpython_implcpythonlinux_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython - variant + variant
linux_aarch64_numpy2.0python3.11.____cpythonpython_implcpythonlinux_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython - variant + variant
linux_aarch64_numpy2.0python3.12.____cpythonpython_implcpythonlinux_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython - variant + variant
linux_ppc64le_numpy2.0python3.10.____cpythonpython_implcpythonlinux_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython - variant + variant
linux_ppc64le_numpy2.0python3.11.____cpythonpython_implcpythonlinux_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython - variant + variant
linux_ppc64le_numpy2.0python3.12.____cpythonpython_implcpythonlinux_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython - variant + variant
osx_64_numpy2.0python3.10.____cpythonpython_implcpythonlinux_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython - variant + variant
osx_64_numpy2.0python3.11.____cpythonpython_implcpythonlinux_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython - variant + variant
osx_64_numpy2.0python3.12.____cpythonpython_implcpythonlinux_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython - variant + variant
osx_arm64_numpy2.0python3.10.____cpythonlinux_aarch64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython - variant + variant
osx_arm64_numpy2.0python3.11.____cpythonlinux_aarch64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython - variant + variant
osx_arm64_numpy2.0python3.12.____cpythonlinux_aarch64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython - variant + variant
win_64_numpy2.0python3.10.____cpythonpython_implcpythonlinux_aarch64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython - variant + variant
win_64_numpy2.0python3.11.____cpythonpython_implcpythonlinux_aarch64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython - variant + variant
win_64_numpy2.0python3.12.____cpythonpython_implcpythonlinux_aarch64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython - variant + variant + +
linux_ppc64le_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
linux_ppc64le_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
linux_ppc64le_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
linux_ppc64le_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
linux_ppc64le_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
linux_ppc64le_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
osx_64_blas_implacceleratenumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
osx_64_blas_implacceleratenumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
osx_64_blas_implacceleratenumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
osx_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
osx_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
osx_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
osx_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
osx_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
osx_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
osx_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
osx_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
osx_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
osx_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
osx_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
osx_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
win_64_blas_implblisnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
win_64_blas_implblisnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
win_64_blas_implblisnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
win_64_blas_implmklnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
win_64_blas_implmklnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
win_64_blas_implmklnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
win_64_blas_implnetlibnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
win_64_blas_implnetlibnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
win_64_blas_implnetlibnumpy2.0python3.12.____cpythonpython_implcpython + + variant + +
win_64_blas_implopenblasnumpy2.0python3.10.____cpythonpython_implcpython + + variant + +
win_64_blas_implopenblasnumpy2.0python3.11.____cpythonpython_implcpython + + variant + +
win_64_blas_implopenblasnumpy2.0python3.12.____cpythonpython_implcpython + + variant