Skip to content
    Back to all Bounties

    Earn 120,004 ($1,200.04)

    Time Remainingdue 1 year ago
    Canceled

    Package Open Source PyTorch Extension for Multiple CUDA and Python Versions

    roboflow
    roboflow
    Posted 1 year ago

    Bounty Description

    Problem Description

    We'd like to use GroundingDINO as a dependency in another open source project we are working on. But, to publish on PyPi, cross-platform wheels (built with manylinux) are needed and are not provided. GroundingDINO has C++ and CUDA code (located in groundingdino/models/GroundingDINO/csrc) which needs to be compiled and linked to the versions of PyTorch and CUDA that match the user's machine.

    While we can build groundingdino at runtime, we haven't been able to get it to build and deploy properly to PyPi yet.

    Acceptance Criteria

    Delivery of code that builds wheel files that run with GPU acceleration and are deployable to PyPi that meet the following criteria:

    • Support Python 3.7, 3.8, 3.9, 3.10, 3.11
    • Support PyTorch 1.10, 1.11, 1.12, 1.13, 2.0
    • Support CUDA 10.2, 11.3, 11.6, 11.7, 11.8, 12.0, 12.1
    • Support Microarchitectures 6.0-9.0 (Pascal to Hopper)

    A PyPi package loaded in a notebook demonstrating that it works.

    Technical Details

    As test cases, the following should work with GPU in Google Colab and other environments:

    !pip install groundingdino_YOURFORK
    import torch
    from groundingdino import _C

    As should this:

    from groundingdino.util.inference import Model

    Supplemental Resources

    import torch
    from groundingdino import _C
    ---------------------------------------------------------------------------
    ImportError Traceback (most recent call last)
    /tmp/ipykernel_11713/727891918.py in <module>
    ----> 1 from groundingdino import _C
     
    ImportError: libc10-09ae2961.so: cannot open shared object file: No such file or directory
    Copyright © 2024 Replit, Inc. All rights reserved.
    • twitter
    • tiktok
    • instagram
    • facebook

    Replit

    Programming languages

    • Python
    • JavaScript
    • TypeScript
    • Node.js
    • Nix
    • HTML, CSS, JS
    • C++
    • Golang