[FEA] LTO IR Support (1) - Introduce LibRTCX - #21625
Merged
Merged
Conversation
- Introduced a new `jit_bundle` class to encapsulate JIT installation and management. - Updated `cache_statistics` to include disk hit/miss counters for blobs and fragments. - Removed the custom `rw_spinlock_t` implementation in favor of standard synchronization mechanisms. - Enhanced the `cache_t` class to manage JIT bundle installation and caching more effectively. - Refactored file handling functions to improve clarity and error handling. - Updated kernel compilation logic to utilize the new JIT bundle structure. - Improved test cases for fragment creation to reflect changes in the JIT compilation process.
- Change LZ4 library linking from static to object files for better flexibility. - Update LZ4 compression method in Python script to use block compression. - Enhance JIT installation logging for better debugging. - Modify CMake configuration to use the latest LZ4 development version.
…pdate related functions
…timing in JIT compilation
Contributor
|
/ok to test a0ec040 |
bdice
approved these changes
May 21, 2026
bdice
left a comment
Contributor
There was a problem hiding this comment.
Thank you for your care and attention to detail!
Contributor
Author
|
/merge |
Contributor
Author
|
/ok to test d146ece |
3 tasks
3 tasks
This was referenced Jun 11, 2026
This was referenced Jul 1, 2026
5 tasks
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces new library called
librtcxfor JIT compilation & linking (replacing JITIFY).Jitify previously helped bootstrap and get JIT compilation working quickly but, it has proven to be difficult for continued usage, due to multiple factors:
_FILE_OFFSET_BITSto 64-bits to enable large arrays of binaries in C++ code rather than embedding it-minifyoption). The preprocessed headers are duplicated across each kernel, this doesn't scale as we use more existing CUDF, CCCL, & CUB headers and expand the number of JIT kernelsThis Pull Request:
librtcx, a wrapper on top of NVRTC, NVJITLINK, and CUDART to provide full control of the JIT compilation pipelineFuture Work
Checklist