haasad / PyPardiso

Python interface to the Intel MKL Pardiso library to solve large sparse linear systems of equations
BSD 3-Clause "New" or "Revised" License
135 stars 20 forks source link

Update MKL pinning, latest releases are fixed #71

Closed haasad closed 7 months ago

haasad commented 7 months ago

Latest PyPI releases 2024.1 are fixed, however they are not available yet on conda-forge, so we explicitly exlude the problematic 2024.0 version instead of the previous pin to <2024

See also #58

ma-sadeghi commented 7 months ago

@haasad Would it make sense to set an upper bound of 2025? Since every year new mkl builds break pypardiso, that would safeguard against it, and you'd just need to update the upper bounds once a year.

haasad commented 7 months ago

Hi @ma-sadeghi, I also considered it but decided against it. I had a look a some of the previous issues and there isn't a clear pattern where major MKL versions cause issues. E.g #26 was caused by python 3.9 dropping support for a old dependency, #12 was caused by MKL 2021.2.0, #36 was caused by a new incompatible release of intel-openmp where mkl itself didn't properly pin it (here the release of MKL 2022.0 actually made the install work again). The same problem as #36 happened again with intel-openmp 2023.0, however MKL now sets the correct pins (see https://github.com/conda-forge/intel_repack-feedstock/issues/33 and https://github.com/conda-forge/intel_repack-feedstock/pull/50) and this particular problem shouldn't appear anymore.

As far as I can tell, mkl 2024.0 was the first major release, where the MKL release itself was the problem.

ma-sadeghi commented 7 months ago

Awesome, thanks for the explanation!