openmm / openmm-ml

High level API for using machine learning models in OpenMM simulations
Other
76 stars 25 forks source link

Make conda-forge package #26

Closed mikemhenry closed 1 year ago

mikemhenry commented 2 years ago

I don't have access on this repo to assign this issue to myself, but please assignee it to me :)

peastman commented 2 years ago

Done!

raimis commented 2 years ago

This is a duplicate of #13

mikemhenry commented 2 years ago

So sorry for the dupe! Feel free to close this one or keep it (does github let you merge issues :thinking: ) @peastman can you make a tag or a release? That way github will make an archive that conda-forge can use to build the package.

Thanks!

mikemhenry commented 2 years ago

Once I get a tag or release I can update the PR: https://github.com/conda-forge/staged-recipes/pull/18353 everything passes so this should be a quick one

jchodera commented 2 years ago

@peastman : Can you cut a prerelease tag so that we can start building versions of this on conda-forge for testing?

peastman commented 2 years ago

You can create a build directly from the git hash without needing a release. Until we figure out the problems in #25 though, I don't think it's suitable for building even a prerelease.

mikemhenry commented 2 years ago

If it is premature to distribute on conda-forge, that's fine. I didn't know that this works: https://github.com/openmm/openmm-ml/archive/28b4fadd761221fbe085570faac3e95a2d0be4e0.tar.gz I thought that the ref had to be a tag or release and not a commit hash!

I've uploaded the build artifacts here https://anaconda.org/mmh/openmm-ml in case anyone wants to test/use them before we get the package on conda-forge. conda install -c mmh openmm-ml

mikemhenry commented 2 years ago

@peastman I've got a PR staged to get this on conda-forge, but I would like your approval first.

EDIT: Ah looks like you want #25 resolved first!

peastman commented 2 years ago

There's a working for #25 in https://github.com/openmm/openmm/pull/3533. It also looks like the root problem may be fixed in PyTorch 1.11, though we still need to verify that.

mikemhenry commented 2 years ago

Thanks for all of your feedback on the PR feedstock @peastman :open_hands: I think that because this is a pure python package (so easy for people to install/use it without it being on conda-forge), that getting it on conda-forge isn't as big of a priority and it can wait until openmm 7.7.1 comes out, thoughts?

peastman commented 2 years ago

That sounds reasonable. The plan is that when all the pieces are ready, we'll do a big release of "OpenMM for ML" which will involve coordinated packages for OpenMM, NNPOps, OpenMM-Torch, and OpenMM-ML.

mikemhenry commented 2 years ago

That sounds good to me, for now I will close the PR then and re-open it when we are ready for the release!

mikemhenry commented 1 year ago

@peastman is it time to get this package onto conda-forge?

jchodera commented 1 year ago

@dominicrufa : Everything look good from your end too?

peastman commented 1 year ago

Absolutely! It and https://github.com/conda-forge/openmm-torch-feedstock/pull/23 are the last pieces we need to get the 8.0 beta out.

mikemhenry commented 1 year ago

Working on that here: https://github.com/conda-forge/staged-recipes/pull/19223 Right now it is linux only, windows needs openmm-torch and nnpops. OSX needs nnpops

Do we want to try and get OSX support?

peastman commented 1 year ago

Thanks! Yes, Mac support is important. Unfortunately, it's impossible for us to build Windows packages, because the conda-forge version of PyTorch doesn't include Windows. The version on the pytorch channel does, but of course we're not allowed to use it for packages distributed through CondaForge.

mikemhenry commented 1 year ago

https://github.com/conda-forge/pytorch-cpu-feedstock/pull/63 We will see what we can do!

mikemhenry commented 1 year ago

@raimis could you add OSX testing to the CI matrix for nnpops? I'd like to make sure upstream has 1st class support for OSX before trying to distribute it on conda-forge.

mikemhenry commented 1 year ago

@peastman is CUDA 10.2 support required for this push? I'm having a hard time getting 10.2 to build for nnpops, if we need it that is fine but if we don't then I can invest more effort in OSX support.

peastman commented 1 year ago

It's nice to have but not essential, especially for the beta. Mac is more important.

mikemhenry commented 1 year ago

:+1: There isn't cuda support for osx it looks like (or at least pytorch on osx is CPU only) so I will need to play around with the nnpops feedstock to get a osx cpu only version built.

peastman commented 1 year ago

That's because there's no CUDA for Macs. Apple hasn't used NVIDIA GPUs in many years. Starting in PyTorch 1.12 they added support for Apple GPUs through Metal. I don't know if that requires a special build.

peastman commented 1 year ago

Any progress on this?

mikemhenry commented 1 year ago

https://github.com/conda-forge/staged-recipes/pull/19223 Done! See https://github.com/conda-forge/openmm-ml-feedstock

peastman commented 1 year ago

Thanks!