-
Notifications
You must be signed in to change notification settings - Fork 42
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
git submodule fixes #561
git submodule fixes #561
Conversation
The current implementation is a draft/discussion started, especially this part: https://github.com/LLNL/hiop/pull/561/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR202 Looks like a better way is to factor out code that checks that eigen is present out of the HiopCheckGitModules.cmake and reuse that for when user provides the location of eigen. Maybe a HiOpFindEigen.cmake ? Comments & suggestions will be appreciated. |
reviewers, PR was tested with hiop source from release archive and hiop source under git |
@cnpetra, how essential Eigen dependency will be for HiOp in the future? If you anticipate you would use eigen for most of HiOp configurations going forward, perhaps the easiest would be to require user to always clone HiOp recursively (see e.g. RAJA and BLT). Another option could be to use Spack to get Eigen as we do for other dependencies. Eigen package is in Spack upstream. I am not necessarily favoring these options, but might be worthwhile considering them at this time. |
My preference is to have eigen (and any other dependencies) available without git and spack. |
If Eigen does not have a special dependency status, then perhaps we should not provide an "extra service" to the user through git submodules. Instead, we could use the same CMake find approach as for other HiOp dependencies, e.g. UMFPACK. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
I think we can just merge this to resolve #556. I don't see any reason why Eigen should be managed as a submodule instead of through Spack like our other dependencies. Perhaps we should plan to transition this to the Spack package with the next release of HiOp? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest using same CMake find approach for Eigen as we use for other dependencies. In the meantime, we can merge this to address immediate issues.
by managing through spack you mean to have -DHIOP_USE_EIGEN and -DHIOP_EIGEN_DIR ? |
Yes. I am working through whether we can do the same for other submodules in ExaGO. It would be nice to have spack be the only submodule in both projects. cc @pelesh |
When the release archives are used to build HiOp, git submodule fails since the sources are not under a git repo. Failure can happen when git is simply not available on the machine.
It appears that we need to reintroduce HIOP_EIGEN_DIR to allow user specify location of eigen.