Yggdrasil icon indicating copy to clipboard operation
Yggdrasil copied to clipboard

Upgrade CoinUtils -- 2.11.11

Open amontoison opened this issue 1 year ago • 12 comments

@odow

amontoison avatar Feb 05 '24 06:02 amontoison

A list of the order is:

  1. [CoinUtils_jll]
  2. [Osi_jll]
  3. [Clp_jll]
  4. [Cgl_jll]
  5. [Cbc_jll]
  6. [Bonmin_jll]
  7. [Couenne_jll]
  8. [SHOT_jll]
  9. [SYMPHONY_jll]
  10. [ALPS_jll]
  11. [BiCePS_jll]
  12. [CHIPPS_BLIS_jll]
  13. [MibS_jll]

The other COIN-OR packages are

  1. [Ipopt_jll]
  2. [IpoptMKL_jll]
  3. [CDSP_jll]

odow avatar Feb 09 '24 00:02 odow

IpOptMKL can probably be deprecated by linking IpOpt against LBT.

ViralBShah avatar Feb 16 '24 17:02 ViralBShah

I believe you have to merge CoinUtils first, and then use it in the other packages in the dependency chain - and keep doing that repeatedly.

ViralBShah avatar Feb 16 '24 17:02 ViralBShah

Ipopt_jll is already linked with LBT so we could remove the folder for the artifact IpoptMKL_jll.

Yes, I discussed with Oscar a few days ago and we will start with CoinUtils, OsiUtils and Clp.

amontoison avatar Feb 16 '24 17:02 amontoison

We can just let IpOptMKL be around, but just not update it going forward.

ViralBShah avatar Feb 16 '24 17:02 ViralBShah

I believe you have to merge CoinUtils first, and then use it in the other packages in the dependency chain - and keep doing that repeatedly.

Yeah, @amontoison has this under control, but they're traveling etc over the next few weeks. There is no rush.

odow avatar Feb 16 '24 21:02 odow

Ipopt_jll is already linked with LBT so we could remove the folder for the artifact IpoptMKL_jll.

Has anyone tested running the LBT build with MKL selected? We should make sure we don't see the same problem that SLICOT had when using MKL with LBT (e.g. https://github.com/JuliaLinearAlgebra/MKL.jl/issues/138).

imciner2 avatar Feb 19 '24 10:02 imciner2

Ipopt_jll is already linked with LBT so we could remove the folder for the artifact IpoptMKL_jll.

Has anyone tested running the LBT build with MKL selected? We should make sure we don't see the same problem that SLICOT had when using MKL with LBT (e.g. JuliaLinearAlgebra/MKL.jl#138).

Excellent remark @imciner2! But we compile all COIN-OR packages with LP64 BLAS / LAPACK and not ILP64 BLAS / LAPACK so we can't have this problem.

I also checked with nm -D libCoinUtils.so.3.11.10 and only two symbols (related to dense LU) are used:

U dgetrf_
U dgetrs_

amontoison avatar Feb 19 '24 16:02 amontoison

But we compile all COIN-OR packages with LP64 BLAS / LAPACK and not ILP64 BLAS / LAPACK so we can't have this problem.

I also checked with nm -D libCoinUtils.so.3.11.10 and only two symbols (related to dense LU) are used:

Excellent, then it should be safe to deprecate the old IpOptMKL and just use the main build from now on. IMO, I agree we can leave the build scripts there, but I think we should add a DEPRECATED file to the folder explaining the deprecation and that the normal IpOpt should be used instead.

imciner2 avatar Feb 20 '24 08:02 imciner2

Should we merge this and then merge the Clp PR?

ViralBShah avatar May 31 '24 22:05 ViralBShah

There's now 2.11.11 so we should probably first update to that https://github.com/coin-or/CoinUtils/releases/tag/releases%2F2.11.11

odow avatar Jun 04 '24 03:06 odow

I will update the PR tomorrow. Sorry, I forgot that I started to work on the LBT support in COIN-OR packages.

amontoison avatar Jun 04 '24 05:06 amontoison