-
Notifications
You must be signed in to change notification settings - Fork 36
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
ScaLAPACK dependency installation #230
Conversation
@dreamer2368 Thank you for looking into this. Wonderful job. By the way, it seems that libROM still extract scalapack tar files in dependencies and install it even though it has been done in the past. Can you modify it so that if the scalapack is already installed, then it skips the extraction and re-installing? Perhaps, for pylibrom, we may want to make an option of forcing scalapack extraction and installation to avoid INTEL-MKL errors. What do you think? |
The |
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'm quite happy this has been done, I did have to resolve the ScaLAPACK dependency on non-LC machines with some modifications to the CMake which use open versions. Will discuss if this (non-LC issue) does not go away and if it turns out that that the CMake modification was desirable. Approving for now.
This is in support of pylibROM installation using
pip
on quartz.Current
libROM
compilation usingmkl
module inquartz
has an issue, as the shared object oflibROM
cannot resolve the relative path ofmkl
, as the shared object is packed into the pip installation procedure. (For a detail, see the issue from pybind/cmake_example).scripts/setup.sh
is adjusted so that it can manually install a staticlibscalapack.a
library. There are two options to specify manual installation,-s
flag forscripts/compile.sh
true
as an argument afterscripts/setup.sh
dependencies
.lib/CMakeLists.txt
providesHINTS
tofind_package(ScaLAPACK REQUIRED)
, pointing todependencies/scalapack-2.2.0
.A miscellaneous addition:
cmake/toolchains/simple.cmake
: it simply takes the path tomfem
,hypre
,parmetis
andmetis
from the environment variables (which need to be pre-set).