Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add spral linear solver on Linux #94

Merged
merged 7 commits into from
Aug 25, 2023
Merged

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented Aug 17, 2023

This PR enables support for the spral linear solver (see https://coin-or.github.io/Ipopt/INSTALL.html#DOWNLOAD_SPRAL) on Linux, as for now spral on conda-forge is available just on Linux.

Beside modifications to enable the compilation and the tests, this PR also backports coin-or/Ipopt#677 to the feedstock, to ensure that mumps remain the default linear solver, has anyhow that will be the case in the next release of ipopt.

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@traversaro
Copy link
Contributor Author

@conda-forge-admin, please rerender

conda-forge-webservices[bot] and others added 2 commits August 17, 2023 22:04
@traversaro
Copy link
Contributor Author

This will fail on arm and ppc, let's see if we can fix that with conda-forge/conda-forge-pinning-feedstock#4802 .

@traversaro traversaro closed this Aug 18, 2023
@traversaro traversaro reopened this Aug 18, 2023
@traversaro
Copy link
Contributor Author

@conda-forge/ipopt the PR is ready for review, thanks!

@traversaro
Copy link
Contributor Author

traversaro commented Aug 23, 2023

@conda-forge/ipopt if there is no specific objection, I would like to merge this by the end of this week.

@bluescarni
Copy link
Contributor

@traversaro sorry for not replying earlier...

If I understand correctly, for the conda package the SPRAL solver is not the default solver option right?

I am a bit concerned about the numerous hoops you had to go through to make the segfaults go away and the general attitude towards memory bugs as exemplified here:

ralna/spral#67

Other than that, looking good to me.

@traversaro
Copy link
Contributor Author

If I understand correctly, for the conda package the SPRAL solver is not the default solver option right?

Exactly, this is correct. Without any specific intention, spral was made the default linear solver (if available) in ipopt upstream. However, this was fixed in coin-or/Ipopt#677 and I backported this fix here.

I explicitly make sure that by default ipopt works without any strange OMP_* env variable in the test script, where the test for the ipopt binary is running without setting env variable, see https://github.com/traversaro/ipopt-feedstock/blob/e79e47bbed6c7f81452b222eec147596a297bbcf/recipe/run_test.sh#L8 .

@edwardsun
Copy link

edwardsun commented Oct 1, 2023

Hello, I just want to follow up on this feature.
link: mechmotum/cyipopt#233
In short, it seems cyipopt 1.3.0 on conda does not seem to allow "spral" linear solver yet, even explicitly specified.

@traversaro
Copy link
Contributor Author

Can you open a new issue in the feedstock reporting the mamba list of the environment in which you have the problem? Thanks!

@edwardsun
Copy link

edwardsun commented Oct 2, 2023 via email

@traversaro
Copy link
Contributor Author

I mean open a new issue in this repo, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants