Skip to content
23 changes: 22 additions & 1 deletion cpp/include/cudf/detail/null_mask.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION.
* SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
Expand Down Expand Up @@ -224,6 +224,27 @@ CUDF_KERNEL void segmented_offset_bitmask_binop(Binop op,
if (lane == 0) { null_counts[segment_id] = warp_count; }
}

// Forward declarations; defined later in this header but called from the templates below.
Comment thread
PointKernel marked this conversation as resolved.
template <typename Binop>
size_type inplace_bitmask_binop(Binop op,
device_span<bitmask_type> dest_mask,
host_span<bitmask_type const* const> masks,
host_span<size_type const> masks_begin_bits,
size_type mask_size_bits,
rmm::cuda_stream_view stream);

template <typename Binop>
rmm::device_uvector<size_type> inplace_segmented_bitmask_binop(
Binop op,
device_span<bitmask_type*> dest_masks,
size_type dest_mask_size,
host_span<bitmask_type const* const> masks,
host_span<size_type const> masks_begin_bits,
size_type mask_size_bits,
host_span<size_type const> segment_offsets,
rmm::cuda_stream_view stream,
rmm::device_async_resource_ref mr);

/**
* @copydoc bitmask_binop(Binop op, host_span<bitmask_type const* const>, host_span<size_type>
* const, size_type, rmm::device_async_resource_ref)
Expand Down
Loading
Loading