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

SuperLU_DIST version 5 and 6 support issue #4221

Open
mlstowell opened this issue Apr 1, 2024 · 4 comments
Open

SuperLU_DIST version 5 and 6 support issue #4221

mlstowell opened this issue Apr 1, 2024 · 4 comments

Comments

@mlstowell
Copy link
Member

It appears that the current version of MFEM cannot compile with versions 5.1.3 and 6.3.1 of SuperLU_DIST. I have not tested other minor version numbers.

In 5.1.3 the error is:

linalg/superlu.cpp:544:16: error: use of undeclared identifier 'ZeroLblocks'
               ZeroLblocks(grid->iam, APtr_->GetGlobalNumColumns(),
               ^
linalg/superlu.cpp:546:16: error: use of undeclared identifier 'ZeroUblocks'
               ZeroUblocks(grid->iam, APtr_->GetGlobalNumColumns(),
               ^

In 6.3.1 these functions are both redefined using macros but only one of them is set to a valid function name apparently:

linalg/superlu.cpp:546:16: error: use of undeclared identifier 'dZeroUblocks'; did you mean 'dZeroLblocks'?
               ZeroUblocks(grid->iam, APtr_->GetGlobalNumColumns(),
               ^~~~~~~~~~~
               dZeroLblocks
linalg/superlu.cpp:35:21: note: expanded from macro 'ZeroUblocks'
#define ZeroUblocks dZeroUblocks
                    ^

If we intend to continue support for these older versions we may need to dig out the old implementations or find some workaround.

@sebastiangrimberg
Copy link
Contributor

Version 6.0 came out almost 7 years ago, and 7.0 came out 3 years ago. I think it should be fine to make the update and require SuperLU_DIST >= 7.0. Do others agree?

@adam-sim-dev
Copy link
Contributor

adam-sim-dev commented Apr 1, 2024

Also a suggestion, rename "Superlu" to "superlu_dist" in mfem.

@sebastiangrimberg
Copy link
Contributor

Also a suggestion, rename "Superlu" to "superlu_dist" in mfem.

Do you mean just in the source code? Like SuperLUSolver to SuperLUDistSolver or something like that? I'm not sure how valuable such a renaming would be but will let others state their opinions here.

@adam-sim-dev
Copy link
Contributor

Also a suggestion, rename "Superlu" to "superlu_dist" in mfem.

Do you mean just in the source code? Like SuperLUSolver to SuperLUDistSolver or something like that? I'm not sure how valuable such a renaming would be but will let others state their opinions here.

In the souce code and the document. Anyway, superlu and superlu_dist are different solvers as I can see.

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

No branches or pull requests

3 participants