Git Product home page Git Product logo

openmm-wheels's Introduction

openmm-wheels

Repository to build wheels for openmm.

We are using github actions to build wheels. Wheels are found in the github actions artifacts section and when a release is made in this github repo, wheels are uploaded to the release as well.

Use ./rerender.sh to rerender this feedstock

There are two wheels for each platform. Eg: for linux

  • OpenMM-8.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • openmm_cuda-8.1.1.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

The first wheel contains all files except the CUDA plugins and the second wheel contains all the CUDA plugins.

When uploaded to PyPI, these wheels can be installed with

pip install openmm[cuda12]

or

pip install openmm[cuda11.2]

or

pip install openmm[cuda11.8]

To install without the CUDA plugins,

pip install openmm

Release process

  1. Change version and git_rev in recipe/meta.yaml.
  2. Update for new python/cuda versions. See next section.
  3. Run ./rerender.sh.
  4. Make a PR and merge once CI passes.
  5. Make a release in this github repo and wait for CI to upload wheels. eg: v8.1.1-0.
  6. Download the wheels using ./download_wheels.sh v8.1.1-0.
  7. Optionally test the wheels.
  8. Upload the wheels using twine upload dist.

Building for new python versions and cuda versions

  1. Copy the migration file for python/cuda from conda-forge/openmm-feedstock For eg: python 3.12 migration
  2. Run ./rerender.sh.
  3. Make a new release in the github repo. eg: v8.1.1-1.
  4. Follow steps 6, 7, 8 as above.

Building downstream libraries as wheels

To get downstream packages as wheels, we need to do the following,

  1. Get a conda-forge feedstock up and running.
  2. Copy the feedstock into a new repo for wheel changes
  3. Copy recipe/build_openmm*, conda-forge.yml, recipe/conda_build_config.yaml, rerender.sh, download_wheels.sh from this repo.
  4. Copy the dependencies in recipe/meta.yaml's build indicated by # START WHEEL CHANGES.
  5. Make sure host in recipe/meta.yaml has no C++ shared dependencies on Linux. To be compatible with manylinux spec, we need to build C++ shared libraries in recipe/build_openmm.sh.
  6. If there are CUDA specific plugins, then we need to provide a separate python wheel like openmm-cuda. See recipe/0001-wheels.patch for how to do that.
  7. Edit recipe/build_openmm.sh to update the lists of headers, libraries to include in each wheel.

openmm-wheels's People

Contributors

jaimergp avatar isuruf avatar peastman avatar regro-cf-autotick-bot avatar conda-forge-admin avatar jakirkham avatar jchodera avatar raulppelaez avatar conda-forge-curator[bot] avatar ocefpaf avatar beckermr avatar cf-blacksmithy avatar

Stargazers

Leela S. Dodda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.