[FEA] LTO IR Support (3) - Replace JITIFY usage with LIBRTCX - #22654
Conversation
- Updated CMakeLists.txt to remove unnecessary comments and added src/jit/jit.cpp to the build. - Enhanced JitEmbed.cmake for better dependency management and code clarity. - Renamed structures in column_view.cuh for consistency and clarity. - Updated thunk.cuh to reflect new structure names and ensure proper mapping. - Modified types.cuh to align with new structure names and improve documentation. - Cleaned up transform.hpp by removing unnecessary whitespace. - Introduced jit.cpp and jit.hpp for improved JIT compilation handling. - Added README.md for documentation on JIT LTO functionality. - Updated cache.hpp and rtc.cpp to include necessary checks and improve error handling. - Refactored context.cpp and context.hpp to integrate new JIT bundle structure. - Adjusted transform2.cu to ensure proper namespace usage. - Updated rtc.cpp test cases to reflect changes in structure names and improve test clarity.
- Introduced new header files in `librtcx/system_includes` for various standard library components, including algorithm, array, atomic, barrier, bit, cassert, complex, and more, all utilizing the CUDA standard library. - Updated the `context` class to replace the old RTC cache implementation with the new `rtcx` namespace, ensuring proper initialization and usage of the cache. - Refactored includes and namespaces to maintain consistency and improve code organization.
… and remove deprecated nullable_element functions
…ndle initialization
…orm2.cu, and update export.hpp copyright year
… and add new compiler flags
…y_uncached function
… and improve column handling - Updated `transform_input` to remove `mutable_column_view` and streamline input handling. - Introduced `transform_output` struct to specify output types and nullability policies. - Modified `transform_extended2` to return a `table` instead of a vector of columns, enhancing output management. - Refactored `column_accessor` to utilize `detail::column_device_view_base` for better abstraction. - Removed deprecated reflection functions for input accessors and adjusted related helper functions. - Enhanced `transform_udf` to work with the new column view structure, ensuring compatibility with the updated input/output specifications. - Updated kernel launch and argument handling to accommodate changes in input and output types. - Improved nullability checks and handling in the transform execution flow. - Added support for pre-allocated string offsets in output columns to optimize memory usage.
…olumn_device_view_core
|
/ok to test 2d0e7c2 |
|
No, we can't, I accidentally omitted it for some of the kernels while re-applying my local patch files. |
…cudf into lto-ir-3--rtcx-adoption
|
/ok to test 2d0e7c2 |
@lamarrr, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/ |
|
/ok to test da973b9 |
vyasr
left a comment
There was a problem hiding this comment.
I'm comfortable moving forward with this so we can start on the proposed next steps of the split.
|
awaiting re-review from @bdice |
bdice
left a comment
There was a problem hiding this comment.
Nice work. I have a few minor comments. Please merge when you're ready.
|
/merge |
Description
This PR:
LIBCUDF_JIT_DISABLE_CUDA_CACHE)LIBCUDF_JIT_DUMP_TRACE,LIBCUDF_JIT_DUMP_TIME_PROFILE,LIBCUDF_KERNEL_CACHE_DISABLED)_FILE_OFFSET_BITS=64(replaced by ASM embedding)Immediate Impact
Checklist