Skip to content

Conda environment and Docker Image #1

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

Merged
merged 3 commits into from
Jul 9, 2020
Merged

Conversation

cauachagas
Copy link
Contributor

  • Dependencies from Anaconda.org
  • Docker image (miniconda3)

I tested the Docker image with mpich only, but I think it works with openmpi too.

Copy link
Owner

@scivision scivision left a comment

Choose a reason for hiding this comment

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

This has the issue of when using a system where MKL libraries are installed from Intel directly, CMake won't find them.
That is, if a system has MKL libraries installed directly, and has the conda environment activated but without Conda MKL, CMake doesn't find the libraries at all.
I think it needs to check if MKLROOT is defined already, and if so, assume that's what the user wants.

Copy link
Owner

@scivision scivision left a comment

Choose a reason for hiding this comment

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

This MKLROOT <= conda_prefix assumption actually breaks any system that has conda activated but does not have MKL installed in conda, regardless of whether Intel MKL libraries are installed directly or not.

The Find*.cmake modules here assume that if MKLROOT is defined, the user must be intending for MKL to be used, and will fail if MKL is not found.

The problem might be approached by instead altering the Find*.cmake logic to look inside conda_prefix to see if MKL is in there, and fall back to generic libraries if not.

For now the simplest approach / workaround from the package's perspective is to omit this change and have the user define environment MKLROOT themselves, or with cmake -DMKLROOT=$CONDA_PREFIX.

@scivision scivision merged commit 823262e into scivision:master Jul 9, 2020
@cauachagas
Copy link
Contributor Author

-DMKLROOT=$CONDA_PREFIX ... So simple ...

I have no experience with CMake, but a lot of projects currently use CMake, so I decided to learn and found the repository when searching for Pardiso + Cmake on Google.

Some tips posted at https://www.scivision.dev are being useful for my research. Thank you for sharing.

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

Successfully merging this pull request may close these issues.

2 participants