Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
307 commits
Select commit Hold shift + click to select a range
613eb37
changed symbol visibility
lamarrr Feb 11, 2026
1d53fc8
Rename struct `jit_statistics` to `jit_compilation_stats` for clarity
lamarrr Feb 11, 2026
112ae32
cmake dependency fix
lamarrr Feb 11, 2026
32383c0
refactoring
lamarrr Feb 12, 2026
21a2610
refactoring
lamarrr Feb 12, 2026
c82867b
Refactor JIT Compilation and Embed Functionality
lamarrr Feb 14, 2026
badacea
checkpoint
lamarrr Feb 18, 2026
6f829ac
started making operators AST-based
lamarrr Feb 20, 2026
ec95217
update
lamarrr Feb 20, 2026
5e0f2e7
update
lamarrr Feb 21, 2026
93b57a5
Merge remote-tracking branch 'upstream/main' into lto-ir-expr-ast-based
lamarrr Feb 21, 2026
5ffddda
update
lamarrr Feb 22, 2026
4414b4e
Merge remote-tracking branch 'upstream/main' into lto-ir-expr-ast-based
lamarrr Feb 27, 2026
dbaa133
Add system includes for CUDA standard library and refactor RTC cache
lamarrr Mar 2, 2026
7e5fb74
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Mar 2, 2026
ca50cc9
remove faked headers
lamarrr Mar 2, 2026
db2e2dd
Update conda environment files to require python-zstd version 1.5.7.2…
lamarrr Mar 2, 2026
75916e4
Refactor init_flags and initialization logic to remove RTC and JIT bu…
lamarrr Mar 2, 2026
8bb341d
Clean up JIT-related code: remove RTC test file, delete unused transf…
lamarrr Mar 2, 2026
4bb406a
Refactor JIT compilation options: streamline precompiled header usage…
lamarrr Mar 2, 2026
e53bf52
Remove TODO comment regarding CMake tracking in jit_bundle_t constructor
lamarrr Mar 2, 2026
bdc6597
Update log message to specify compiled CUDA library in compile_librar…
lamarrr Mar 2, 2026
6c9be74
[FEA] Support Multi-Output JIT Transforms
lamarrr Mar 7, 2026
8dba8b8
Refactor transform functionality to support new output specifications…
lamarrr Mar 8, 2026
e8250e2
update
lamarrr Mar 8, 2026
e55ba0f
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Mar 8, 2026
aa2fd4d
Merge remote-tracking branch 'upstream/main' into multi-output-transf…
lamarrr Mar 10, 2026
f708ff9
initial diff
lamarrr Mar 12, 2026
69ff5e1
Add [[nodiscard]] attribute to head() and data() methods in mutable_c…
lamarrr Mar 12, 2026
2ab3bc5
Refactoring + add support for zero inputs
lamarrr Mar 12, 2026
176d356
added test todos
lamarrr Mar 12, 2026
8efd349
Merge remote-tracking branch 'upstream/main' into multi-output-transf…
lamarrr Mar 12, 2026
8ff447d
Refactor variable names for clarity in transform functions
lamarrr Mar 12, 2026
4bd0c72
Refactor JIT transform kernel and related components
lamarrr Mar 13, 2026
cfc1e23
Remove unnecessary blank line in transform kernel definition
lamarrr Mar 13, 2026
c82923c
Merge remote-tracking branch 'upstream/main' into multi-output-transf…
lamarrr Mar 13, 2026
b279d49
remove TODO
lamarrr Mar 13, 2026
21a8733
Merge remote-tracking branch 'upstream/main' into multi-output-transf…
lamarrr Mar 13, 2026
40f4129
code review refactoring
lamarrr Mar 14, 2026
ddd251d
more improvements
lamarrr Mar 17, 2026
2e1bbab
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Mar 17, 2026
10c6410
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Mar 17, 2026
ce31d17
refactor
lamarrr Mar 17, 2026
ddfbba1
Refactor JIT kernel paths, enhance cache management, and improve buff…
lamarrr Mar 18, 2026
ac12ff7
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Mar 18, 2026
5ea3317
Update copyright years in header files and enhance kernel launch para…
lamarrr Mar 18, 2026
3bd4106
Merge branch 'main' into drop-jitify
lamarrr Mar 18, 2026
78bdf40
update
lamarrr Mar 18, 2026
9fe78f3
CI errors fix + refactoring
lamarrr Mar 18, 2026
2854850
Merge branch 'main' into drop-jitify
lamarrr Mar 18, 2026
68e7974
added lz4 dep
lamarrr Mar 19, 2026
f7f55a8
Merge branch 'drop-jitify' of https://github.com/lamarrr/cudf into dr…
lamarrr Mar 19, 2026
084f735
Merge branch 'main' into multi-output-transform-support
lamarrr Mar 19, 2026
71e25ce
update recipe
lamarrr Mar 19, 2026
cdb66c6
update lz4 dependency to version 4.4.5 in environment YAML files
lamarrr Mar 19, 2026
b64eb2e
refactor: update linking parameters to use structured fragments for i…
lamarrr Mar 20, 2026
b9a2153
Fix Python dependencies on lz4 and zstandard
bdice Mar 21, 2026
43b1dbf
Merge branch 'main' into drop-jitify
lamarrr Mar 21, 2026
16386fd
Merge branch 'main' into drop-jitify
lamarrr Mar 21, 2026
ea11f0b
Refactor JIT installation error handling and remove unused kernel nam…
lamarrr Mar 21, 2026
422ea0a
drop lz4 dependencies and support from rtcx
lamarrr Mar 21, 2026
96d254c
update
lamarrr Mar 22, 2026
a0ee09d
Remove Jitify references and clean up CMake configuration
lamarrr Mar 22, 2026
11e01b3
Add TODO for glob restrictions in embed.cmake to filter source files
lamarrr Mar 22, 2026
6bc9c0b
Update comments to clarify NVRTC and jit-compiling references in stri…
lamarrr Mar 22, 2026
9be6531
Merge branch 'main' into multi-output-transform-support
lamarrr Mar 25, 2026
40d46cf
Merge branch 'main' into multi-output-transform-support
lamarrr Mar 27, 2026
df6bd8d
Merge branch 'main' into multi-output-transform-support
lamarrr Mar 30, 2026
060d369
refactor null mask handling to use set_null_mask for consistency
lamarrr Mar 30, 2026
4ba506a
properly handle cuda version for "-minimal" flag
lamarrr Mar 30, 2026
c21c228
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Mar 30, 2026
476025e
Merge branch 'main' into multi-output-transform-support
lamarrr Mar 30, 2026
7e8c903
Merge remote-tracking branch 'upstream/main' into multi-output-transf…
lamarrr Apr 1, 2026
3aa3b20
fix invocation error
lamarrr Apr 1, 2026
e1a6f43
Use global namespace for standard library functions in rtcx.cpp
lamarrr Apr 1, 2026
b382e49
reorg
lamarrr Apr 1, 2026
a8f8c3d
Remove unused kernel enumeration functions from library_t
lamarrr Apr 1, 2026
3f92780
Remove get_name method and its declaration from kernel_ref
lamarrr Apr 1, 2026
49d81e6
remove unused kernel header from helpers.hpp
lamarrr Apr 1, 2026
70c558c
Update PTX code in ColumnVectorTest with generated output from Numba
lamarrr Apr 1, 2026
c0b947b
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 1, 2026
742b88a
FIX JAVA string literal quote
lamarrr Apr 1, 2026
d27a094
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Apr 1, 2026
6b4fe05
Merge remote-tracking branch 'upstream/main' into multi-output-transf…
lamarrr Apr 1, 2026
cc503e2
Update cpp/src/transform/transform.cu
lamarrr Apr 1, 2026
24c450a
Update cpp/src/transform/transform.cu
lamarrr Apr 1, 2026
29cfcc7
Refactor inplace_null_mask_and to move bitmask calculations after inp…
lamarrr Apr 1, 2026
22b189b
reduce binary size + fix java string
lamarrr Apr 2, 2026
c9e651c
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 2, 2026
4932483
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 4, 2026
eb1b4f2
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Apr 4, 2026
c43ac2f
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 5, 2026
c261b83
update
lamarrr Apr 5, 2026
3bc9868
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Apr 5, 2026
25a35f0
Remove lz4 and zstandard dependencies from environment and project files
lamarrr Apr 5, 2026
cedd9bd
Add zstandard dependency to pyproject.toml
lamarrr Apr 5, 2026
45e48f5
Update TODO comment to clarify glob restrictions for included source …
lamarrr Apr 5, 2026
6a1267f
remove libraryunload handling
lamarrr Apr 6, 2026
8f50bb3
fix identation
lamarrr Apr 6, 2026
6cf08ca
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Apr 6, 2026
f2282ac
Fix symbol loading error handling and improve lru_memory_cache initia…
lamarrr Apr 6, 2026
7bfd0a8
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 9, 2026
ed68841
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 9, 2026
dd64fd9
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 9, 2026
b6db8f2
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 10, 2026
485107e
code review changes
lamarrr Apr 11, 2026
85e96db
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 11, 2026
f6209b1
feature improvements + added workaround for missing cuda driver func…
lamarrr Apr 11, 2026
bbe8d5c
Refactor JIT include directories and fix delimiter typo in embed.in.cpp
lamarrr Apr 11, 2026
c46450e
Refactor JIT kernel paths and include directives for improved organiz…
lamarrr Apr 11, 2026
8c30430
Merge remote-tracking branch 'origin/multi-output-transform-support' …
lamarrr Apr 11, 2026
f8fcc70
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Apr 11, 2026
4ba9950
Enhance JIT kernel functions with additional parameters for minimal u…
lamarrr Apr 11, 2026
74286e0
Fix formatting in compression output message for clarity
lamarrr Apr 11, 2026
25901ea
Refactor function parameter formatting for improved readability in JI…
lamarrr Apr 11, 2026
2b5dbc5
fix up
lamarrr Apr 12, 2026
a521f47
Refactor detail namespace usage in transform.cu for consistency
lamarrr Apr 12, 2026
3b70eb3
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Apr 12, 2026
843dbd5
Enhance argument handling in to_args function by utilizing pinned vec…
lamarrr Apr 12, 2026
d44bbbb
Fix type in to_args function to use column_device_view_base for impro…
lamarrr Apr 12, 2026
5101289
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 12, 2026
58a6385
Refactor to_args function to use host_vector for better memory manage…
lamarrr Apr 12, 2026
49f94ed
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Apr 12, 2026
70f62f1
Merge remote-tracking branch 'origin/multi-output-transform-support' …
lamarrr Apr 12, 2026
7616d54
Refactor rolling window wrappers to include constructors and improve …
lamarrr Apr 12, 2026
bdbed4b
Add embedded file generation and SHA256 hashing functionality
lamarrr Apr 12, 2026
689495f
Remove redundant SetFlowCallback from log_trace function
lamarrr Apr 12, 2026
ea2ef02
Enhance const correctness by adding [[nodiscard]] to relevant methods…
lamarrr Apr 12, 2026
18372f7
Merge branch 'main' into drop-jitify
lamarrr Apr 12, 2026
0112b98
Refactor transform_kernel template parameters for clarity and consist…
lamarrr Apr 12, 2026
9cc8747
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 12, 2026
222618d
Add CUDF_KERNEL qualifier to kernel functions in binaryop, join, and …
lamarrr Apr 12, 2026
1c0def6
Merge remote-tracking branch 'origin/multi-output-transform-support' …
lamarrr Apr 12, 2026
b37b545
simplify column_accessor traits
lamarrr Apr 13, 2026
ed81710
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Apr 13, 2026
95925f9
Merge remote-tracking branch 'origin/multi-output-transform-support' …
lamarrr Apr 13, 2026
225e597
Refactor CUDA utility includes and improve string offset validation l…
lamarrr Apr 14, 2026
8085323
Update copyright year to 2026 in cuda.cuh
lamarrr Apr 14, 2026
f0646bc
Merge branch 'main' into multi-output-transform-support
lamarrr Apr 14, 2026
6af15c0
remove nullable trait in column accessor
lamarrr Apr 14, 2026
ea82e0d
Merge branch 'multi-output-transform-support' of https://github.com/l…
lamarrr Apr 14, 2026
4c7e43d
Merge remote-tracking branch 'origin/multi-output-transform-support' …
lamarrr Apr 14, 2026
3c5adc7
refactor: simplify variable declarations in reflect function
lamarrr Apr 14, 2026
d42466d
remove zstandard dependency from recipe and pyproject files
lamarrr Apr 14, 2026
1e5cb73
initial changes
lamarrr Apr 18, 2026
0ec6804
Refactor JIT compilation and embedding process
lamarrr Apr 20, 2026
0dbb87b
Merge branch 'main' into drop-jitify
lamarrr Apr 20, 2026
28295bb
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Apr 20, 2026
aa3f3c3
clean up diff
lamarrr Apr 20, 2026
6682abd
Remove unused kernel argument configuration in launch function
lamarrr Apr 20, 2026
d9f4185
update embed script
lamarrr Apr 20, 2026
0055ca0
Merge branch 'main' into drop-jitify
lamarrr Apr 20, 2026
8a9878c
update docs
lamarrr Apr 20, 2026
c59d13f
Merge branch 'drop-jitify' of https://github.com/lamarrr/cudf into dr…
lamarrr Apr 20, 2026
43f9cd0
disable excessive linter warnings
lamarrr Apr 20, 2026
b7c9f3c
fix lints
lamarrr Apr 20, 2026
d0e86fd
refactor: change class declarations to struct for cache_t and jit_bun…
lamarrr Apr 21, 2026
067123e
refactor: improve formatting and modernize array declarations in get_…
lamarrr Apr 21, 2026
57d1192
removed static linking to CUDA libs and fixed lint errors
lamarrr Apr 21, 2026
36d06ae
Merge branch 'main' into drop-jitify
lamarrr Apr 21, 2026
fae6e2c
removed invalid linter warnings
lamarrr Apr 21, 2026
2301055
Merge branch 'drop-jitify' of https://github.com/lamarrr/cudf into dr…
lamarrr Apr 21, 2026
bfa6782
Merge branch 'main' into drop-jitify
lamarrr Apr 21, 2026
32eb792
Merge branch 'main' into drop-jitify
lamarrr Apr 21, 2026
9ae5096
refactoring + code review suggestions
lamarrr Apr 22, 2026
95591ba
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr Apr 22, 2026
610beab
refactoring
lamarrr Apr 22, 2026
457ee40
Remove unnecessary blank lines and clean up SPDX license headers in m…
lamarrr Apr 22, 2026
855b246
Refactor embed functions to remove unused binary file name variable a…
lamarrr Apr 22, 2026
2c98a35
Refactor CMakeLists.txt and source files to remove unused variables a…
lamarrr Apr 23, 2026
37d6696
Rename environment variable for clearing JIT cache to improve clarity
lamarrr Apr 23, 2026
49636cc
Refactoring + removed disk LRU
lamarrr Apr 23, 2026
169618d
Apply suggestion from @wence-
lamarrr Apr 23, 2026
b5cd518
Refactor object type handling in disk cache functions for improved cl…
lamarrr Apr 24, 2026
3c607ca
Merge branch 'drop-jitify' of https://github.com/lamarrr/cudf into dr…
lamarrr Apr 24, 2026
1c025b4
Merge branch 'main' into drop-jitify
lamarrr Apr 24, 2026
8c3ac2f
update
lamarrr Apr 24, 2026
4a17020
Merge branch 'main' into drop-jitify
lamarrr Apr 24, 2026
2c497dc
Merge branch 'main' into drop-jitify
lamarrr Apr 24, 2026
72a17bc
Merge branch 'main' into drop-jitify
lamarrr Apr 25, 2026
29826d4
fix(context): update environment variable names for JIT cache configu…
lamarrr Apr 26, 2026
f3f72b2
Merge branch 'main' into drop-jitify
lamarrr Apr 28, 2026
9ed9325
Merge branch 'main' into drop-jitify
lamarrr May 4, 2026
8c7f368
Refactor JIT operators and add compute columns functionality
lamarrr May 5, 2026
6fe3108
code review changes
lamarrr May 5, 2026
2e647ef
Merge branch 'drop-jitify' of https://github.com/lamarrr/cudf into dr…
lamarrr May 5, 2026
e9ec212
Refactor decompress_blob function signature to use std::uint8_t and s…
lamarrr May 5, 2026
6f5a542
Merge remote-tracking branch 'upstream/main' into drop-jitify
lamarrr May 5, 2026
01b42c2
Merge remote-tracking branch 'origin/drop-jitify' into lto-ir-jit
lamarrr May 5, 2026
5188eca
Remove inline specifier from load and store functions in compute_colu…
lamarrr May 5, 2026
0b0ba2f
Implement LTO (Link Time Optimization) for transform operations
lamarrr May 12, 2026
0ea5656
Implement LTO (Link Time Optimization) for transform operations and u…
lamarrr May 12, 2026
6b2e0e7
Remove untyped LTO kernel implementations and related code
lamarrr May 13, 2026
dc95bba
Update CMakeLists.txt to enhance library linking and update copyright…
lamarrr May 13, 2026
40fd3eb
Add documentation for JIT embedding functions in CMake files
lamarrr May 13, 2026
12b8cf7
Merge remote-tracking branch 'upstream/main' into lto-ir-jit
lamarrr May 13, 2026
6e3840e
update
lamarrr May 13, 2026
630beab
revert non-librtcx changes
lamarrr May 13, 2026
3f5fc79
revert LTO doc
lamarrr May 13, 2026
8aad236
revert docker change
lamarrr May 13, 2026
eb3ef79
fix coderabbit nits
lamarrr May 13, 2026
1bbc0f8
Merge branch 'main' into drop-jitify
lamarrr May 13, 2026
03ec682
revert: code rabbit suggestion
lamarrr May 14, 2026
00b32b3
Update documentation and improve function signatures in librtcx
lamarrr May 15, 2026
8bde405
Refactor embed_includes function to use SOURCE_DIRECTORY instead of C…
lamarrr May 15, 2026
463d008
Add template specialization for reflect function to handle various types
lamarrr May 15, 2026
2a26428
WAR: pre-commit namespace decl
lamarrr May 15, 2026
df6c97d
Fix formatting in generate_cxx_source_files_data function for improve…
lamarrr May 15, 2026
2662703
Merge branch 'main' into drop-jitify
lamarrr May 15, 2026
ac0caaa
replace error-prone parent scope variable assignment with target prop…
lamarrr May 18, 2026
908cf50
pre-commit: formatting
lamarrr May 18, 2026
48d1ec0
fix: correct variable name for embed properties in JIT functions
lamarrr May 18, 2026
cbfc086
fix: update std::call_once to use value() for initialization flags
lamarrr May 20, 2026
56ac249
fix: change namespace declaration to inline for detail
lamarrr May 20, 2026
a138cb7
fix: update reflect_enum to use reflect instead of reflect_int
lamarrr May 20, 2026
a0ec040
Merge branch 'main' into drop-jitify
bdice May 21, 2026
59593ed
Merge branch 'main' into drop-jitify
lamarrr May 22, 2026
f554c66
code refactoring
lamarrr May 22, 2026
1f87560
Merge branch 'main' into lto-ir-2--jit-refactoring
lamarrr May 22, 2026
9194410
initial jitify replacement diff
lamarrr May 22, 2026
01f40f7
update copyright year to 2026 in rolling window files
lamarrr May 22, 2026
1909376
Merge branch 'lto-ir-2--jit-refactoring' of https://github.com/lamarr…
lamarrr May 22, 2026
67ee5f6
Update LIBCUDF_KERNEL_CACHE_PATH in Dockerfile to use libcudf_kernel_…
lamarrr May 22, 2026
2b8aab7
Merge branch 'lto-ir-2--jit-refactoring' into lto-ir-3-rtcx-adoption
lamarrr May 22, 2026
ef0fc46
Implement JIT kernel embedding and update related includes for improv…
lamarrr May 22, 2026
560901e
Fix include guard placement in assert.cuh
lamarrr May 22, 2026
b3786f7
Merge branch 'lto-ir-2--jit-refactoring' into lto-ir-3-rtcx-adoption
lamarrr May 22, 2026
ea73d7d
update
lamarrr May 23, 2026
3d69873
Merge branch 'lto-ir-2--jit-refactoring' into lto-ir-3-rtcx-adoption
lamarrr May 23, 2026
e44478c
Refactor embedded file header comment and delete unused reflect function
lamarrr May 23, 2026
69b434f
Merge branch 'main' into lto-ir-2--jit-refactoring
lamarrr May 24, 2026
9ae0741
Merge branch 'lto-ir-2--jit-refactoring' into lto-ir-3-rtcx-adoption
lamarrr May 24, 2026
f6f2192
Merge branch 'main' into lto-ir-2--jit-refactoring
lamarrr May 26, 2026
ffea1b6
update
lamarrr May 26, 2026
522866b
update
lamarrr May 26, 2026
42eb516
Merge branch 'lto-ir-2--jit-refactoring' of https://github.com/lamarr…
lamarrr May 26, 2026
f103bf6
Merge branch 'lto-ir-2--jit-refactoring' into lto-ir-3--rtcx-adoption
lamarrr May 26, 2026
86ead05
Merge remote-tracking branch 'upstream/main' into lto-ir-3--rtcx-adop…
lamarrr May 26, 2026
812b6b7
update
lamarrr May 26, 2026
d94aa7a
Merge branch 'main' into lto-ir-3--rtcx-adoption
lamarrr May 26, 2026
cd162a1
Refactor includes and format source file assignment in JIT cache
lamarrr May 26, 2026
08065f6
Merge branch 'lto-ir-3--rtcx-adoption' of https://github.com/lamarrr/…
lamarrr May 26, 2026
ac00b4a
Refactor kernel entry parameters in filter_join_kernel and remove TOD…
lamarrr May 26, 2026
b462e22
fix compile error + refactoring
lamarrr May 27, 2026
e261087
Merge branch 'main' into lto-ir-3--rtcx-adoption
lamarrr May 27, 2026
79a9bcd
code review refactoring
lamarrr May 28, 2026
6ec718b
Refactor JIT cache initialization and improve code readability
lamarrr May 28, 2026
2d0e7c2
Merge branch 'main' into lto-ir-3--rtcx-adoption
lamarrr May 28, 2026
3846c9e
fix error
lamarrr May 28, 2026
da973b9
Merge branch 'lto-ir-3--rtcx-adoption' of https://github.com/lamarrr/…
lamarrr May 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ ENV PYTHONUNBUFFERED="1"
ENV PYTHONDONTWRITEBYTECODE="1"

ENV HISTFILE="/home/coder/.cache/._bash_history"
ENV LIBCUDF_KERNEL_CACHE_PATH="/home/coder/cudf/cpp/build/${PYTHON_PACKAGE_MANAGER}/cuda-${CUDA_VERSION}/latest/jitify_cache"
ENV LIBCUDF_KERNEL_CACHE_PATH="/home/coder/cudf/cpp/build/${PYTHON_PACKAGE_MANAGER}/cuda-${CUDA_VERSION}/latest/libcudf_kernel_cache"

###
# sccache configuration
Expand Down
101 changes: 60 additions & 41 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ rapids_cuda_init_architectures(CUDF)
project(
CUDF
VERSION "${RAPIDS_VERSION}"
LANGUAGES C CXX CUDA
LANGUAGES C CXX CUDA ASM
)

if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" AND CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 12.2)
Expand All @@ -38,7 +38,6 @@ option(USE_NVTX "Build with NVTX support" ON)
option(BUILD_TESTS "Configure CMake to build tests" ON)
option(BUILD_BENCHMARKS "Configure CMake to build benchmarks" OFF)
option(BUILD_SHARED_LIBS "Build cuDF shared libraries" ON)
option(JITIFY_USE_CACHE "Use a file cache for JIT compiled kernels" ON)
option(CUDF_BUILD_TESTUTIL "Whether to build the test utilities contained in libcudf" ON)
mark_as_advanced(CUDF_BUILD_TESTUTIL)
option(CUDF_LARGE_STRINGS_DISABLED "Build with large string support disabled" OFF)
Expand Down Expand Up @@ -110,7 +109,6 @@ message(VERBOSE "CUDF: Build with NVTX support: ${USE_NVTX}")
message(VERBOSE "CUDF: Configure CMake to build tests: ${BUILD_TESTS}")
message(VERBOSE "CUDF: Configure CMake to build benchmarks: ${BUILD_BENCHMARKS}")
message(VERBOSE "CUDF: Build cuDF shared libraries: ${BUILD_SHARED_LIBS}")
message(VERBOSE "CUDF: Use a file cache for JIT compiled kernels: ${JITIFY_USE_CACHE}")
message(VERBOSE "CUDF: Build with per-thread default stream: ${CUDF_USE_PER_THREAD_DEFAULT_STREAM}")
message(
VERBOSE
Expand Down Expand Up @@ -345,9 +343,6 @@ endif()

create_logger_macros(CUDF "cudf::default_logger()" include/cudf)

# find jitify
include(cmake/thirdparty/get_jitify.cmake)

# find NVTX
include(cmake/thirdparty/get_nvtx.cmake)

Expand Down Expand Up @@ -377,9 +372,6 @@ if(CUDF_BUILD_TESTUTIL)
include(cmake/thirdparty/get_gtest.cmake)
endif()

# preprocess jitify-able kernels
include(cmake/Modules/JitifyPreprocessKernels.cmake)

# find KvikIO
include(cmake/thirdparty/get_kvikio.cmake)

Expand All @@ -392,6 +384,9 @@ include(cmake/thirdparty/get_thread_pool.cmake)
# find zstd
include(cmake/thirdparty/get_zstd.cmake)

# JIT Embedding helper functions
include(librtcx/embed.cmake)

# Workaround until https://github.com/rapidsai/rapids-cmake/issues/176 is resolved
if(NOT BUILD_SHARED_LIBS)
include("${rapids-cmake-dir}/export/find_package_file.cmake")
Expand All @@ -409,6 +404,56 @@ if(NOT BUILD_SHARED_LIBS)
endif()
endif()

add_embed(cudf_cuda_embed)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/librtcx/libcxx DEST_DIRECTORY
librtcx/libcxx INCLUDE_DIRECTORIES librtcx/libcxx
)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/cudf DEST_DIRECTORY
cudf/cpp/include/cudf INCLUDE_DIRECTORIES cudf/cpp/include
)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/jit DEST_DIRECTORY
cudf/cpp/src/jit INCLUDE_DIRECTORIES cudf/cpp/src
)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/binaryop/jit DEST_DIRECTORY
cudf/cpp/src/binaryop/jit INCLUDE_DIRECTORIES cudf/cpp/src
)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/join/jit DEST_DIRECTORY
cudf/cpp/src/join/jit INCLUDE_DIRECTORIES cudf/cpp/src
)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/rolling DEST_DIRECTORY
cudf/cpp/src/rolling INCLUDE_DIRECTORIES cudf/cpp/src
)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/transform/jit DEST_DIRECTORY
cudf/cpp/src/transform/jit INCLUDE_DIRECTORIES cudf/cpp/src
)

get_target_property(LIBCUDACXX_RAW_INCLUDE_DIRS CCCL::libcudacxx INTERFACE_INCLUDE_DIRECTORIES)

foreach(INC_DIR IN LISTS LIBCUDACXX_RAW_INCLUDE_DIRS)
cmake_path(GET INC_DIR FILENAME INC_DIR_NAME)

embed_includes(
cudf_cuda_embed SOURCE_DIRECTORY ${INC_DIR} DEST_DIRECTORY CCCL/libcudacxx/${INC_DIR_NAME}
INCLUDE_DIRECTORIES CCCL/libcudacxx/${INC_DIR_NAME}
)
endforeach()

embed(cudf_cuda_embed COMPRESSION zstd)

# ##################################################################################################
# * library targets -------------------------------------------------------------------------------
add_library(
Expand Down Expand Up @@ -963,20 +1008,11 @@ add_library(
src/utilities/traits.cpp
src/utilities/type_checks.cpp
src/utilities/type_dispatcher.cpp
librtcx/rtcx.cpp
${cudf_cuda_embed_SOURCE_DIR}/cudf_cuda_embed.s
)

# Anything that includes jitify needs to be compiled with _FILE_OFFSET_BITS=64 due to a limitation
# in how conda builds glibc
set_source_files_properties(
src/binaryop/binaryop.cpp
src/jit/cache.cpp
src/rolling/detail/rolling_fixed_window.cu
src/rolling/detail/rolling_variable_window.cu
src/rolling/grouped_rolling.cu
src/rolling/rolling.cu
src/transform/transform.cu
PROPERTIES COMPILE_DEFINITIONS "_FILE_OFFSET_BITS=64"
)
add_dependencies(cudf cudf_cuda_embed)

set_property(
SOURCE src/io/parquet/writer_impl.cu
Expand Down Expand Up @@ -1040,14 +1076,14 @@ target_compile_options(
# Specify include paths for the current target and dependents
target_include_directories(
cudf
PUBLIC "$<BUILD_INTERFACE:${DLPACK_INCLUDE_DIR}>"
"$<BUILD_INTERFACE:${JITIFY_INCLUDE_DIR}>"
"$<BUILD_INTERFACE:${CUDF_SOURCE_DIR}/include>"
PUBLIC "$<BUILD_INTERFACE:${DLPACK_INCLUDE_DIR}>" "$<BUILD_INTERFACE:${CUDF_SOURCE_DIR}/include>"
"$<BUILD_INTERFACE:${CUDF_GENERATED_INCLUDE_DIR}/include>"
PRIVATE "$<BUILD_INTERFACE:${CUDF_SOURCE_DIR}/src>"
"$<BUILD_INTERFACE:${nanoarrow_SOURCE_DIR}/src>"
"$<BUILD_INTERFACE:${FlatBuffers_SOURCE_DIR}/include>"
"$<BUILD_INTERFACE:${ZSTD_INCLUDE_DIR}>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/librtcx>"
"$<BUILD_INTERFACE:${cudf_cuda_embed_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:include>"
)

Expand All @@ -1056,20 +1092,6 @@ target_compile_definitions(
"$<BUILD_INTERFACE:$<$<COMPILE_LANGUAGE:CUDA>:${CUDF_CUDA_DEFINITIONS}>>"
)

# Disable Jitify log printing. See https://github.com/NVIDIA/jitify/issues/79
target_compile_definitions(cudf PRIVATE "JITIFY_PRINT_LOG=0")

if(JITIFY_USE_CACHE)
# Instruct src/jit/cache what version of cudf we are building so it can compute a cal-ver cache
# directory. We isolate this definition to the single source so it doesn't effect compiling
# caching for all of libcudf
set_property(
SOURCE src/jit/cache.cpp
APPEND
PROPERTY COMPILE_DEFINITIONS "JITIFY_USE_CACHE" "CUDF_VERSION=${PROJECT_VERSION}"
)
endif()

# Per-thread default stream
if(CUDF_USE_PER_THREAD_DEFAULT_STREAM)
target_compile_definitions(
Expand Down Expand Up @@ -1099,9 +1121,6 @@ target_compile_definitions(cudf PRIVATE $<$<BOOL:${CUDF_KVIKIO_REMOTE_IO}>:CUDF_
# https://github.com/NVIDIA/cccl/pull/2844
target_compile_definitions(cudf PRIVATE THRUST_FORCE_32_BIT_OFFSET_TYPE=1 CCCL_AVOID_SORT_UNROLL=1)

# Compile stringified JIT sources first
add_dependencies(cudf jitify_preprocess_run)

# Specify the target module library dependencies
target_link_libraries(
cudf
Expand Down
82 changes: 0 additions & 82 deletions cpp/cmake/Modules/JitifyPreprocessKernels.cmake

This file was deleted.

25 changes: 0 additions & 25 deletions cpp/cmake/thirdparty/get_jitify.cmake

This file was deleted.

8 changes: 8 additions & 0 deletions cpp/include/cudf/detail/kernel_instance.cuh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION.
* SPDX-License-Identifier: Apache-2.0
*/

#pragma once

// This file serves as a placeholder for kernel entry instantiations, so NVRTC/NVCC can override it
13 changes: 13 additions & 0 deletions cpp/include/cudf/detail/utilities/getenv_or.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <cudf/logger.hpp>

#include <cstdlib>
#include <optional>
#include <sstream>
#include <string>

Expand Down Expand Up @@ -43,6 +44,18 @@ T getenv_or(std::string_view env_var_name, T default_val)
return converted_val;
}

template <typename T>
std::optional<T> getenv_optional(std::string_view env_var_name)
{
auto const env_val = std::getenv(env_var_name.data());
if (env_val == nullptr) { return std::nullopt; }

std::stringstream sstream(env_val);
T converted_val;
sstream >> converted_val;
return converted_val;
}

/**
* @brief Specialization of getenv_or for bool, to allow common "ON"/"OFF" string values.
*/
Expand Down
3 changes: 1 addition & 2 deletions cpp/librtcx/embed.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ embed_output generate_cxx_source_files_data(std::string_view id,

auto cxx_header = std::format(
R"***(
// Auto-generated header for embedded files with ID: {}
// Auto-generated header for embedded files
#pragma once

#include <cstdint>
Expand Down Expand Up @@ -321,7 +321,6 @@ constexpr std::uint8_t hash[{}] =
}}
)***",
namespace_decl,
id,
include_dirs.size(),
include_dirs_list,
file_indices_list,
Expand Down
2 changes: 1 addition & 1 deletion cpp/librtcx/rtcx.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ void teardown();
* appropriate CUDA string representations.
*/
template <typename T>
std::string reflect(T value);
std::string reflect(T value) = delete;

/**
* @brief Reflect a boolean value into its CUDA string representation ("true" or "false")
Expand Down
Loading
Loading