LLNL / libROM

Model reduction library with an emphasis on large scale parallelism and linear subspace methods
https://www.librom.net
Other
198 stars 36 forks source link

ScaLAPACK dependency installation #230

Closed dreamer2368 closed 1 year ago

dreamer2368 commented 1 year ago

This is in support of pylibROM installation using pip on quartz.

Current libROM compilation using mkl module in quartz has an issue, as the shared object of libROM cannot resolve the relative path of mkl, as the shared object is packed into the pip installation procedure. (For a detail, see the issue from pybind/cmake_example).

A miscellaneous addition:

chldkdtn commented 1 year ago

@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?

dreamer2368 commented 1 year ago

@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 scripts/setup.sh now further checks if the libscalapack.a exists in the dependencies.