onnxruntime/cgmanifests
Scott McKay b9ecd428c1
Add ability to register custom ops by specifying a function name (#14177)
### Description
<!-- Describe your changes. -->
Use dlsym/GetProcAddress to lookup a custom ops registration function by
name and call it.

This will be better on mobile platforms where the custom ops library is
linked against, and there isn't necessarily a filesystem that a library
path can be loaded from.

Alternative is to wire up passing in the address of the function, but
that has multiple complications which differ by platform.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Enable using ort and ort-ext packages on mobile platforms.

Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
2023-01-12 15:11:34 +10:00
..
generated pin ort-ext to 81e7799c69044c745239202085eb0a98f102937b (#14044) 2023-01-10 10:10:17 -08:00
cgmanifest.json Add ability to register custom ops by specifying a function name (#14177) 2023-01-12 15:11:34 +10:00
generate_cgmanifest.py Use onnxruntime_fetchcontent_makeavailable cmake function for TRT (#13918) 2022-12-12 11:27:46 -08:00
print_submodule_info.py Format all python files under onnxruntime with black and isort (#11324) 2022-04-26 09:35:16 -07:00
README.md Improve dependency management (#13523) 2022-12-01 09:51:59 -08:00

CGManifest Files

This directory contains CGManifest (cgmanifest.json) files. See here for details.

cgmanifests/generated/cgmanifest.json

This file contains generated CGManifest entries.

It covers these dependencies:

  • git submodules
  • dependencies from the Dockerfile tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11
  • the entries in ../cmake/deps.txt

If any of these dependencies change, this file should be updated. When updating, please regenerate instead of editing manually.

How to Generate

  1. Change to the repository root directory.
  2. Ensure the git submodules are checked out and up to date. For example, with:
    $ git submodule update --init --recursive
    
  3. Run the generator script:
    $ python cgmanifests/generate_cgmanifest.py --username <xxx> --token <your_access_token>
    

Please supply your github username and access token to the script. If you don't have a token, you can generate one at https://github.com/settings/tokens. This is for authenticating with Github REST API so that you would not hit the rate limit.

cgmanifests/cgmanifest.json

This file contains non-generated CGManifest entries. Please edit directly as needed.