openmm / openmm-plumed

OpenMM plugin to interface with PLUMED
59 stars 23 forks source link

python 3.10 openmm-torch conda compability #67

Closed larsbratholm closed 1 year ago

larsbratholm commented 1 year ago

I am unable to create a conda environment containing both openmm-torch and openmm-plumed on python 3.10, although they install together without issue on python 3.9, and either package installs separately without issue on 3.10. I tried the following with both mamba/conda and on separate machines. Any idea of a workaround?

mamba create openmm-torch openmm-plumed python=3.10 -p .env/

Mamba gives this solving error:

package openmm-torch-0.1-py36h55d64de_3 requires python_abi 3.6.* *_cp36m, but none of the providers can be installed

while conda gives a longer output

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package python conflicts for:
openmm-torch -> python[version='>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.11,<3.12.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0']
openmm-plumed -> python_abi=3.9[build=*_cp39] -> python[version='3.10.*|3.8.*|3.9.*|3.7.*|3.6.*']
openmm-torch -> python_abi=3.8[build=*_cp38] -> python[version='3.10.*|3.8.*|3.9.*|3.11.*|3.7.*|3.6.*']
python=3.10
openmm-plumed -> python[version='>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0']

Package libblas conflicts for:
openmm-plumed -> plumed[version='>=2.7,<2.8.0a0'] -> libblas[version='>=3.8.0,<4.0a0|>=3.9.0,<4.0a0']
openmm-torch -> pytorch[version='>=1.11.0,<1.12.0a0'] -> libblas[version='*|>=3.9.0,<4.0a0|>=3.8.0,<4.0a0',build=*_mkl]

Package python_abi conflicts for:
openmm-torch -> python_abi[version='3.10.*|3.8.*|3.9.*|3.11.*|3.7.*|3.6.*',build='*_cp37m|*_cp310|*_cp39|*_cp38|*_cp311|*_cp36m']
openmm-torch -> python[version='>=3.8,<3.9.0a0'] -> python_abi[version='3.6|3.7|3.8|3.8.*|3.9',build='*_pypy39_pp73|*_graalpy223_38_native|*_pypy38_pp73|*_pypy37_pp73|*_pypy36_pp73']

Package cudatoolkit conflicts for:
openmm-torch -> pytorch -> cudatoolkit[version='10.0|10.0.*|10.1|10.1.*|9.2|9.2.*']
openmm-torch -> cudatoolkit[version='10.2|10.2.*|11.0|11.0.*|11.1|11.1.*|>=11.2,<12|>=11.2,<12.0a0']

Package ocl-icd conflicts for:
openmm-torch -> ocl-icd[version='>=2.3.0,<3.0a0|>=2.3.1,<3.0a0']
openmm-torch -> ocl-icd-system -> ocl-icd[version='>=2.2.13,<3.0a0|>=2.2.14,<3.0a0']

Package setuptools conflicts for:
python=3.10 -> pip -> setuptools
openmm-torch -> pytorch[version='>=1.11.0,<1.12.0a0'] -> setuptools[version='<59.6']The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__cuda==12.0=0
  - feature:/linux-64::__glibc==2.33=0
  - feature:|@/linux-64::__cuda==12.0=0
  - feature:|@/linux-64::__glibc==2.33=0
  - openmm-plumed -> __glibc[version='>=2.17']
  - openmm-plumed -> cudatoolkit[version='11.1|11.1.*'] -> __glibc[version='>=2.17,<3.0.a0']
  - openmm-torch -> __glibc[version='>=2.17']
  - openmm-torch -> cudatoolkit[version='11.0|11.0.*'] -> __glibc[version='>=2.17,<3.0.a0']
  - openmm-torch -> pytorch[version='>=1.11.0,<1.12.0a0'] -> __cuda

Your installed version is: 12.0
peastman commented 1 year ago

There are lots of openmm-torch 1.0 packages for Python 3.10 listed at https://anaconda.org/conda-forge/openmm-torch/files. What OS and CPU architecture are you on?

What does it say if you execute this command inside a Python 3.10 environment?

mamba install -c conda-forge openmm-torch=1.0
larsbratholm commented 1 year ago

The command makes openmm-torch install just fine. And similarly, installing openmm-plumed in a python 3.10 environment works just fine, but the two packages looks incompatible on python 3.10. Looking at the dependencies, it seems like all openmm-torch builds requires openmm>=8.0, while all openmm-plumed builds supports 7.7 only. Would it be possible to release a python=3.10 openmm=8 build for openmm-plumed?

peastman commented 1 year ago

@raimis what do you think about releasing a package that works with OpenMM 8.0? Is there anything we need to do first?

raimis commented 1 year ago

https://github.com/conda-forge/openmm-plumed-feedstock/pull/20

raimis commented 1 year ago

https://github.com/conda-forge/openmm-plumed-feedstock/pull/21

raimis commented 1 year ago

OpenMM-PLUMED packages have been rebuilt. @larsbratholm let us know if it solved the issue.

larsbratholm commented 1 year ago

@raimis Seems to work great. Thank you for adding the extra builds!