Skip to content

JSON defined jit lto kernels - #3030

Draft
robertmaynard wants to merge 2 commits into
NVIDIA:mainfrom
robertmaynard:fea/json_defined_jit_lto_kernels
Draft

robertmaynard wants to merge 2 commits into
NVIDIA:mainfrom
robertmaynard:fea/json_defined_jit_lto_kernels

Conversation

@robertmaynard

Copy link
Copy Markdown
Contributor

Use functionality added in rapidsai/rapids-cmake#1116 to simplify the CMakeLists.txt for cuVS.

Added benifit of moving to JSON files for this work, is that we can remove a cuvs-cmake-codeowners review for PRs that just add or remove LTO files.

@robertmaynard robertmaynard added feature request New feature or request non-breaking Introduces a non-breaking change labels Nov 9, 2026
@copy-pr-bot

copy-pr-bot Bot commented Nov 9, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

Replace the 56 inline generate_jit_lto_kernels calls with one JSON file per kernel family and a generate_jit_lto_kernel_collection wrapper built on rapids_json_array_items and rapids_json_parse. The wrapper calls the existing rtcx generate_jit_lto_kernels unchanged, and the arguments of all 56 calls are identical to before.
Replace the 33 generate_inst_matrix calls in cpp/CMakeLists.txt with
inst_matrix.json files, one per matrix directory, that are expanded by
generate_inst_matrix_collection. The generated files are collected in a
single cuvs_inst_files list, with the multi-GPU instantiations kept in
their own file so they are only generated when BUILD_MG_ALGOS is on.

Also have generate_jit_lto_kernel_collection check its required members
itself, and ask rapids_json_array_items for the JSON file directory.
@robertmaynard
robertmaynard force-pushed the fea/json_defined_jit_lto_kernels branch from 4939cc8 to c9da0cd Compare November 9, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature request New feature or request non-breaking Introduces a non-breaking change

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant