openmmtools icon indicating copy to clipboard operation
openmmtools copied to clipboard

ppc64le support

Open BenCree opened this issue 3 years ago • 5 comments

Hi

I was just wondering whether there is ppc64le support, or if it is planned in the future?

Thanks

BenCree avatar Feb 22 '21 14:02 BenCree

Does the OpenMMTools library not work on ppc64le? OpenMMTools is a pure python library which is meant to augment the OpenMM package underneath. The it should not be tied to architecture for that reason.

That is not to say all its dependencies will be available on the same architecture, at least through the normal distribution channels like Conda.

I'm going to take a guess that this question arose from trying to install OpenMMTools through conda install -c conda-forge -c omnia openmmtools on your ppc64le machine and it said it was unavailable for your platform. If that's the case, that is because the way we deploy OpenMMTools right now does tie to some of the architecture on the Omnia build systems. We are working on fixing that (and should be fixable pretty soon) to hopefully decouple OpenMMTools from Omnia and make it a pure conda-forge package without arch dependence.

If my guess is true or close, then it should be possible to install OpenMMTools from source with python setup.py or pip if you can get all the other dependencies on your machine and environment first.

On a related note, @jaimergp do we have any particular blockers for migrating Omnia packages which needed OpenMM to Conda-Forge? We can move this particular discussion to another issue to not clutter this one up.

Lnaden avatar Feb 22 '21 14:02 Lnaden

They are migrated already! Omnia is not needed. What happens is that openmmtools has a little C extension that requires per-platform compilation. We need to add that to the feedstock. Can you add an issue there for visibility?

jaimergp avatar Feb 22 '21 15:02 jaimergp

@jaimergp @Lnaden: I think we eliminated the C replica mixing code. What code needs to be compiled?

I realize we may have neglected to remove these lines from setup.py, but I can't find anything else in the latest version that would need to be compiled.

jchodera avatar Feb 22 '21 20:02 jchodera

Hm, I see. I saw the Cython requirement and didn't look further. I have opened a PR to make it noarch (and thus multiplatform), but we need to cut a patch release with the cython-less setup.py.

jaimergp avatar Feb 23 '21 11:02 jaimergp

Actually, a v0.21 release is needed. 0.20 still builds the cython extension: https://github.com/choderalab/openmmtools/blob/0.20.0/setup.py#L27

jaimergp avatar Feb 23 '21 11:02 jaimergp