Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow runtime has_nulls parameter for row operators #9623

Merged
merged 28 commits into from
Dec 6, 2021
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
30aab15
Allow runtime has_nulls parameter for row operators
davidwendt Nov 8, 2021
be00fed
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 11, 2021
ef725e0
update groupby/scan for row-op
davidwendt Nov 12, 2021
2b378ae
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 12, 2021
933c3c0
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 12, 2021
0a9203d
use contains_nulls in place of has_nulls template parameter
davidwendt Nov 17, 2021
fbe2ed5
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 17, 2021
a631b7c
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 17, 2021
4c43dbf
use std::bool_constant for indicator truthiness
davidwendt Nov 18, 2021
cb6a9b5
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 18, 2021
5c92b48
change contains_nulls to nullate
davidwendt Nov 18, 2021
f38cc0e
fix merge conflict
davidwendt Nov 18, 2021
4aaa819
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 19, 2021
d58daea
update clang-format version
davidwendt Nov 19, 2021
159438a
move nullate to column-dev-view header
davidwendt Nov 19, 2021
3c42a25
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 19, 2021
a33ac35
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 22, 2021
69327b7
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 23, 2021
336174d
add more doxygen to DYNAMIC
davidwendt Nov 23, 2021
56de367
add updates to benchmarks to verify changes in this PR
davidwendt Nov 29, 2021
e55d04e
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Nov 30, 2021
2508797
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Dec 1, 2021
e0c456a
removed commented-out default ctor
davidwendt Dec 1, 2021
109d2e3
fix new call to row_arg_minmax_fn
davidwendt Dec 1, 2021
e37bbdb
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Dec 2, 2021
144e476
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Dec 3, 2021
0962359
fix various tparam texts
davidwendt Dec 3, 2021
c4f6a08
Merge branch 'branch-22.02' into fea-row-op-has-nulls
davidwendt Dec 3, 2021
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
7 changes: 4 additions & 3 deletions cpp/benchmarks/groupby/group_sum_benchmark.cu
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ void BM_basic_sum(benchmark::State& state)
{
using wrapper = cudf::test::fixed_width_column_wrapper<int64_t>;

// const cudf::size_type num_columns{(cudf::size_type)state.range(0)};
const cudf::size_type column_size{(cudf::size_type)state.range(0)};

auto data_it = cudf::detail::make_counting_transform_iterator(
Expand All @@ -53,7 +52,7 @@ void BM_basic_sum(benchmark::State& state)
wrapper keys(data_it, data_it + column_size);
wrapper vals(data_it, data_it + column_size);

cudf::groupby::groupby gb_obj(cudf::table_view({keys}));
cudf::groupby::groupby gb_obj(cudf::table_view({keys, keys, keys}));

std::vector<cudf::groupby::aggregation_request> requests;
requests.emplace_back(cudf::groupby::aggregation_request());
Expand All @@ -73,7 +72,9 @@ BENCHMARK_REGISTER_F(Groupby, Basic)
->UseManualTime()
->Unit(benchmark::kMillisecond)
->Arg(10000)
->Arg(10000000);
->Arg(1000000)
->Arg(10000000)
->Arg(100000000);

void BM_pre_sorted_sum(benchmark::State& state)
{
Expand Down
37 changes: 25 additions & 12 deletions cpp/benchmarks/hashing/hash_benchmark.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,40 @@
class HashBenchmark : public cudf::benchmark {
};

static void BM_hash(benchmark::State& state, cudf::hash_id hid)
enum contains_nulls { no_nulls, nulls };

static void BM_hash(benchmark::State& state, cudf::hash_id hid, contains_nulls has_nulls)
{
cudf::size_type const n_rows{(cudf::size_type)state.range(0)};
auto const data = create_random_table({cudf::type_id::INT64}, 1, row_count{n_rows});
if (has_nulls == contains_nulls::no_nulls)
data->get_column(0).set_null_mask(rmm::device_buffer{}, 0);

for (auto _ : state) {
cuda_event_timer raii(state, true, rmm::cuda_stream_default);
cudf::hash(data->view(), hid);
}
}

#define HASH_BENCHMARK_DEFINE(name) \
BENCHMARK_DEFINE_F(HashBenchmark, name) \
(::benchmark::State & st) { BM_hash(st, cudf::hash_id::name); } \
BENCHMARK_REGISTER_F(HashBenchmark, name) \
->RangeMultiplier(4) \
->Ranges({{1 << 14, 1 << 24}}) \
->UseManualTime() \
#define concat(a, b, c) a##b##c

#define H_BENCHMARK_DEFINE(name, hid, n) \
BENCHMARK_DEFINE_F(HashBenchmark, name) \
(::benchmark::State & st) { BM_hash(st, cudf::hash_id::hid, contains_nulls::n); } \
BENCHMARK_REGISTER_F(HashBenchmark, name) \
->RangeMultiplier(4) \
->Ranges({{1 << 14, 1 << 24}}) \
->UseManualTime() \
->Unit(benchmark::kMillisecond);

HASH_BENCHMARK_DEFINE(HASH_MURMUR3)
HASH_BENCHMARK_DEFINE(HASH_MD5)
HASH_BENCHMARK_DEFINE(HASH_SERIAL_MURMUR3)
HASH_BENCHMARK_DEFINE(HASH_SPARK_MURMUR3)
#define HASH_BENCHMARK_DEFINE(hid, n) H_BENCHMARK_DEFINE(concat(hid, _, n), hid, n)

HASH_BENCHMARK_DEFINE(HASH_MURMUR3, nulls)
HASH_BENCHMARK_DEFINE(HASH_MD5, nulls)
HASH_BENCHMARK_DEFINE(HASH_SERIAL_MURMUR3, nulls)
HASH_BENCHMARK_DEFINE(HASH_SPARK_MURMUR3, nulls)

HASH_BENCHMARK_DEFINE(HASH_MURMUR3, no_nulls)
HASH_BENCHMARK_DEFINE(HASH_MD5, no_nulls)
HASH_BENCHMARK_DEFINE(HASH_SERIAL_MURMUR3, no_nulls)
HASH_BENCHMARK_DEFINE(HASH_SPARK_MURMUR3, no_nulls)
Loading