Skip to content

Remove files from library - #1344

Open
victorapm wants to merge 3 commits into
masterfrom
ij-helpers
Open

Remove files from library#1344
victorapm wants to merge 3 commits into
masterfrom
ij-helpers

Conversation

@victorapm

Copy link
Copy Markdown
Contributor

@victorapm
victorapm changed the base branch from master to hypre-3.0 August 25, 2025 04:17
@victorapm victorapm mentioned this pull request Aug 25, 2025

@ulrikeyang ulrikeyang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. This looks good to me.

@rfalgout

Copy link
Copy Markdown
Contributor

Hi @victorapm . Thanks for setting this up! I need to think about it a bit more before approving. I'm not crazy about moving the multiprecision machinery into the test directory, but maybe that's how it needs to be. I'll look this week when I get back.

@victorapm

Copy link
Copy Markdown
Contributor Author

Thanks, Rob! I wasn't sure about that either, but couldn't find a better solution for now. Thanks for looking! We can reevaluate this

@oseikuffuor1

Copy link
Copy Markdown
Contributor

@victorapm Thanks for this work! Just to add to the discussion, I also would prefer the multiprecision machinery to be outside of the test/ examples directories. I just think it is cleaner and perhaps makes things easier to maintain that way. That said, you have demonstrated how one can use the tools to enable the capabilities in the test directory, though there might be a lighter-weight option to do that. I think in the future, when the multiprecision build becomes the more standard build/ use of hypre, we may revisit this to streamline our regression testing. For now, my work on mixed-precision regression testing is keeping things local to the driver file. If we decide to build the helper functions in multiple precisions, it should be straightforward to adapt to use them.

@rfalgout

Copy link
Copy Markdown
Contributor

It looks like the only test driver that needed the different precisions for some of these Generate routines is ij_mp.c.

@oseikuffuor1 : Is the ij_mp.c driver something you plan on keeping around?

Since it doesn't look like runtime precision is needed, at a minimum I would change the mup_code script to use the onlydef option as we do in Euclid and a few of the other directories. This will minimize the number of files generated and only make the fixed precision interface symbols available (i.e., _flt, etc.). It will not generate mup_*.c files.

But, if the driver mentioned above is not needed, then we don't need the multi-precision machinery and we can just move the helper functions in the standard way.

@ulrikeyang

Copy link
Copy Markdown
Contributor

The ij_mp driver is needed for testing of single precision preconditioners with double precision solvers. It generates a single precision and a double precision matrix. However, one could just generate double precision matrix and convert it to a single precision matrix. That conversion routine is a true hypre routine which is located outside of the test directory. That would require providing these conversion routines in hypre-3.0, which we hadn't planned yet. Right now we just copy the vector back and forth for the mixed precision preconditioner/solver.

@victorapm victorapm added the After 3.0 Code changes that can wait to be merged after hypre 3.0 label Aug 29, 2025
@victorapm victorapm changed the title [hypre 3.0]: remove files from library Remove files from library Aug 29, 2025
Base automatically changed from hypre-3.0 to master September 26, 2025 14:04
@rfalgout
rfalgout removed their request for review April 25, 2026 14:04
@rfalgout

Copy link
Copy Markdown
Contributor

Hi @victorapm . I removed myself from the review request. Add me back if you want to revisit this. I've got some outstanding requests that seem stale so I'm trying the "remove" route to clean up the list. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

After 3.0 Code changes that can wait to be merged after hypre 3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants