mala-project / mala

Materials Learning Algorithms. A framework for machine learning materials properties from first-principles data.
https://mala-project.github.io/mala/
BSD 3-Clause "New" or "Revised" License
82 stars 26 forks source link

Is it possible to simplify the installation with a package manager like conda? #470

Open jan-janssen opened 1 year ago

jan-janssen commented 1 year ago

While reading through the mala installation documentation, I was wondering if a package manager like conda could be used to simplify this installation. With all three components, mala, lammps and quantum espresso being available as conda-forge packages, I am wondering what is missing to enable conda as alternative installation method:

Obviously, conda is not a viable solution for HPC installations where the focus is on optimal performance. Still for new users it would simplify testing mala on their workstation.

RandomDefaultUser commented 1 year ago

Hi @jan-janssen , thanks for your interest in MALA!

In principle, the MALA team would be very happy to make MALA available via conda. And making the python side of MALA available on conda is definitely already possible, as shown by the package you linked (by the way, and correct me if I am wrong, but did you put the package onto anaconda.org? If so, thank you so much, that's great!)

The main problem is that we

  1. need a specific version of lammps and QuantumESPRESSO
  2. need to run the build_total_energy_module.sh script onto an existing QuantumESPRESSO installation

Issue 1. is probably not too hard to address. One simply would have to ensure that our modifications in the LAMMPS code get put back into the LAMMPS main code, which was the plan anyway. Then the LAMMPS conda package would have the necessary building blocks.

Issue 2. maybe is not too hard to address either. One would simply have to make sure that the QE version downloaded via conda is compatible with MALA and then run the script.

I personally have no experience in realizing such an effort, but I would be happy to have a look. However, I am currently occupied with other work and will not have time to do this. If you (or anyone else in the MALA team) would like to take a deeper look into MALA+conda, I would be happy to assist and pave the way.

For now, I would mark this issue as "non-critical enhancement", so that it enters our planning for future releases. I think a capability like the one you describe will be very useful in the future.