Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add test for _Halide_target_export_single_symbol #6983

Merged
merged 15 commits into from
Aug 29, 2022

Conversation

steven-johnson
Copy link
Contributor

Partially addresses #6982

This adds a rule to create a single Python extension library from one (or more) halide_library rules. This allows you to package multiple Halide filters into a single Python module, which is nice because (1) being able to organize is good, and (2) all the filters in a single Python extension module share the same Halide runtime, including (e.g.) thread pools and method overrides.

(It also removes the just-recently-added PYTHON_EXTENSION_LIBRARY option from the add_halide_library rule, as this new rule is better and more flexible in pretty much every way.)

This modifies the content of our `python_extension` output in such a way that existing uses should be completely unaffected, but defining the right preprocessor macros allows us to split the function wrappers up from the method-definition declaration, so we don't have to generate any new code artifiacts to make this work.

Partially addresses #6956.
@steven-johnson steven-johnson added the buildbot_test_everything Buildbots should run all available tests on this PR (unless build_test_nothing is set). label Aug 29, 2022
Base automatically changed from srj/py-multi-lib to main August 29, 2022 20:48
@steven-johnson steven-johnson merged commit e7c1c86 into main Aug 29, 2022
@steven-johnson steven-johnson deleted the srj/single-export-test branch August 29, 2022 23:09
ardier pushed a commit to ardier/Halide-mutation that referenced this pull request Mar 3, 2024
Add test for _Halide_target_export_single_symbol
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
buildbot_test_everything Buildbots should run all available tests on this PR (unless build_test_nothing is set).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants