Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
d1bc220
refactor row-IR
lamarrr May 14, 2026
b8872f8
Add an operators library
lamarrr May 14, 2026
cbaaa96
documentation, test, & refactoring fixes
lamarrr May 14, 2026
0f0c134
documentation, test, & refactoring fixes
lamarrr May 14, 2026
c612ac8
Add validation for predicate input column sizes in filter function
lamarrr May 14, 2026
01320e6
remove linter warning
lamarrr May 14, 2026
2830fc4
Merge branch 'main' into ansi-jit-1--refactor-row-ir
lamarrr May 14, 2026
a4f14ef
doc fix
lamarrr May 15, 2026
451da98
Merge branch 'ansi-jit-1--refactor-row-ir' of https://github.com/lama…
lamarrr May 15, 2026
1511c32
Merge branch 'main' into ansi-jit-1--refactor-row-ir
lamarrr May 15, 2026
ac99883
Update cpp/src/join/filter_join_indices_jit.cu
lamarrr May 19, 2026
e2c17fa
Merge branch 'main' into ansi-jit-1--refactor-row-ir
lamarrr May 19, 2026
4671ac9
Merge remote-tracking branch 'upstream/main' into ansi-jit-1--refacto…
lamarrr May 20, 2026
6d92a29
fix user_data usage
lamarrr May 20, 2026
d4d4077
Merge branch 'ansi-jit-1--refactor-row-ir' into ansi-jit-2--operator-…
lamarrr May 20, 2026
77993a0
bug fixes
lamarrr May 20, 2026
49fbf4c
Merge remote-tracking branch 'upstream/main' into ansi-jit-2--operato…
lamarrr May 20, 2026
655689a
docs: clarify parameter description for ipow10 function
lamarrr May 20, 2026
4775b56
docs: fix formatting of comments for ansi_abs function
lamarrr May 20, 2026
29bec09
fix: handle negative scale in ceil and floor functions for decimal types
lamarrr May 20, 2026
c7c8745
refactor: simplify arithmetic operations with overflow detection for …
lamarrr May 20, 2026
05fa30d
fix: improve error handling in ansi_div for division by zero and over…
lamarrr May 20, 2026
03c3ef9
WARs for doxygen checks
lamarrr May 21, 2026
84032a4
refactor: remove unused promote header
lamarrr May 21, 2026
92ef3e9
refactor: change enum to enum class for better type safety in error h…
lamarrr May 21, 2026
74fa4c2
Merge branch 'main' into ansi-jit-2--operator-library
lamarrr May 21, 2026
fae557c
Refactor null handling and trigonometric operations to use cuda::std:…
lamarrr May 22, 2026
fc45531
fix if_else logic
lamarrr May 22, 2026
85bdb0a
doc: clarify if_else parameter description for false_value
lamarrr May 22, 2026
0393ffc
Merge branch 'main' into ansi-jit-2--operator-library
lamarrr May 22, 2026
0dc859e
refactoring + doc cleanup
lamarrr May 28, 2026
44a8942
Merge branch 'ansi-jit-2--operator-library' of https://github.com/lam…
lamarrr May 28, 2026
1653923
Fix precision check and update requirements for fixed point types in …
lamarrr May 28, 2026
aff7de9
Merge branch 'main' into ansi-jit-2--operator-library
lamarrr May 28, 2026
c96c444
Fix overflow checks in ansi_add and update comparison functions to re…
lamarrr May 28, 2026
da53667
Add all.cuh header file with operator includes
lamarrr May 29, 2026
d7bd548
merge AST operators into operator library
lamarrr May 30, 2026
a014c89
Refactor operator functor calls to remove unnecessary 'false' paramet…
lamarrr May 30, 2026
172524f
Update predicate references to use cudf::ops in row_ir code generation
lamarrr May 30, 2026
e6da432
Add ordered concept for pre-CUDA 12.3 compatibility and update compar…
lamarrr May 30, 2026
106cbc9
Refactor operator functions to use template type parameters for impro…
lamarrr May 30, 2026
b60e31a
update
lamarrr May 31, 2026
3a85d86
Refactor result struct to use CUDF_HOST_DEVICE for device and host co…
lamarrr Jun 1, 2026
3e97bb5
Merge branch 'main' into ansi-jit-2--operator-library
lamarrr Jun 1, 2026
87fe99a
Potential fix for pull request finding
lamarrr Jun 1, 2026
2f62ba3
refactoring and cleanup
lamarrr Jun 2, 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
16 changes: 8 additions & 8 deletions cpp/include/cudf/ast/detail/expression_evaluator.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -719,7 +719,7 @@ struct expression_evaluator {
typename ResultSubclass,
typename T,
bool result_has_nulls,
CUDF_ENABLE_IF(detail::is_valid_unary_op<detail::operator_functor<op, has_nulls>,
CUDF_ENABLE_IF(detail::is_valid_unary_op<detail::operator_functor<op>,
possibly_null_value_t<Input, has_nulls>>)>
__device__ inline void operator()(
expression_result<ResultSubclass, T, result_has_nulls>& output_object,
Expand All @@ -730,19 +730,19 @@ struct expression_evaluator {
{
// The output data type is the same whether or not nulls are present, so
// pull from the non-nullable operator.
using Out = cuda::std::invoke_result_t<detail::operator_functor<op, false>, Input>;
using Out = cuda::std::invoke_result_t<detail::operator_functor<op>, Input>;
this->template resolve_output<Out>(output_object,
output,
output_row_index,
thread_intermediate_storage,
detail::operator_functor<op, has_nulls>{}(input));
detail::operator_functor<op>{}(input));
}

template <ast_operator op,
typename ResultSubclass,
typename T,
bool result_has_nulls,
CUDF_ENABLE_IF(!detail::is_valid_unary_op<detail::operator_functor<op, has_nulls>,
CUDF_ENABLE_IF(!detail::is_valid_unary_op<detail::operator_functor<op>,
possibly_null_value_t<Input, has_nulls>>)>
__device__ inline void operator()(
expression_result<ResultSubclass, T, result_has_nulls>& output_object,
Expand Down Expand Up @@ -781,7 +781,7 @@ struct expression_evaluator {
typename ResultSubclass,
typename T,
bool result_has_nulls,
CUDF_ENABLE_IF(detail::is_valid_binary_op<detail::operator_functor<op, has_nulls>,
CUDF_ENABLE_IF(detail::is_valid_binary_op<detail::operator_functor<op>,
possibly_null_value_t<LHS, has_nulls>,
possibly_null_value_t<RHS, has_nulls>>)>
__device__ inline void operator()(
Expand All @@ -794,19 +794,19 @@ struct expression_evaluator {
{
// The output data type is the same whether or not nulls are present, so
// pull from the non-nullable operator.
using Out = cuda::std::invoke_result_t<detail::operator_functor<op, false>, LHS, RHS>;
using Out = cuda::std::invoke_result_t<detail::operator_functor<op>, LHS, RHS>;
this->template resolve_output<Out>(output_object,
output,
output_row_index,
thread_intermediate_storage,
detail::operator_functor<op, has_nulls>{}(lhs, rhs));
detail::operator_functor<op>{}(lhs, rhs));
}

template <ast_operator op,
typename ResultSubclass,
typename T,
bool result_has_nulls,
CUDF_ENABLE_IF(!detail::is_valid_binary_op<detail::operator_functor<op, has_nulls>,
CUDF_ENABLE_IF(!detail::is_valid_binary_op<detail::operator_functor<op>,
possibly_null_value_t<LHS, has_nulls>,
possibly_null_value_t<RHS, has_nulls>>)>
__device__ inline void operator()(
Expand Down
Loading
Loading