marvel-nccr / quantum-mobile

A Virtual Machine for computational materials science
https://quantum-mobile.readthedocs.io
Other
91 stars 32 forks source link

Intel Performance Libraries #182

Closed espenfl closed 3 years ago

espenfl commented 3 years ago

Quantum Mobile is set to be a platform that can serve many different use cases.

Even though it is not aimed for production usage we should possibly consider to include libraries that the codes use to run efficiently. This is also good practice as long as we do not specialize and introduce too much complexity.

Intel Performance Libraries offer both Intel MPI and MKL (with its FFTW wrappers). Typically, the performance/effort ratio of its usage is pretty good on typical desktop hardware from Intel and AMD. It is also very easy to maintain and install on RHEL and Debian families, so it suits the VM/container approach well.

As a component in the common workflows project I am trying to make it easy for users to install VASP in the QM. Obviously for licensing reasons we can not supply source code or potentials, but we can prepare the framework to ease the barrier for the users. In that I will make use of the Intel Performance Libraries (https://software.intel.com/content/www/us/en/develop/articles/free-ipsxe-tools-and-libraries.html), specifically, MKL, MPI and the FFTW wrappers. Given all the codes, would it be worthwhile to install this as a core component? I suspect other codes can also make good use of it. I will anyway include it in the VASP playbook, but it might be reasonable to consider this.

ltalirz commented 3 years ago

Hi Espen, thanks for the suggestion.

In principle, we can certainly consider including the IPP but there are a couple of points I'd like to ask you to check

Finally, please note that we're currently investigating the possibility of installing codes from the conda-forge conda channel, which would have a number of advantages (packages would be used outside quantum mobile; we'd get more help with maintaining them + quantum mobile build time goes down dramatically since conda just needs to download the packages). I'm mentioning this because conda does distribute the MKL (not sure whether they have some special agreement), and installing it this way would be quite straightforward.

mentioning also @chrisjsewell for comment

ltalirz commented 3 years ago

I'm closing this issue due to inactivity - feel free to reopen if this topic resurfaces.