NVIDIA / NVIDIA/cudf

[FEA] Apply the RAII event wrapper wherever possible

Open
#16,815 0 comments 0 reactions 1 assignee Claimed by @kingcrimsontianyu View on GitHub
feature request libcudf
Dominant language
C++
Stars
9.8k
Forks
1.1k
Avg merge
3d 6m
Merged PRs (30d)
278

Description

**Is your feature request related to a problem? Please describe.**

The stream pool implementation internally uses a [RAII event wrapper](https://github.com/rapidsai/cudf/blob/f8d50639fffb541dee3b860c19756af2c4a5a850/cpp/src/utilities/stream_pool.cpp#L131), where the CUDA event is created with the flag `cudaEventDisableTiming` for potential performance improvement. This wrapper class should be applied to other part of libcudf wherever possible (where event-based timing is not needed), such as [this](https://github.com/rapidsai/cudf/blob/f8d50639fffb541dee3b860c19756af2c4a5a850/cpp/src/io/text/data_chunk_source_factories.cpp#L41), [this](https://github.com/rapidsai/cudf/blob/f8d50639fffb541dee3b860c19756af2c4a5a850/cpp/src/io/text/bgzip_data_chunk_source.cu#L118), [this](https://github.com/rapidsai/cudf/blob/f8d50639fffb541dee3b860c19756af2c4a5a850/cpp/src/io/text/multibyte_split.cu#L387), and [this](https://github.com/rapidsai/cudf/blob/f8d50639fffb541dee3b860c19756af2c4a5a850/cpp/src/interop/to_arrow_device.cu#L581).

**Describe the solution you'd like**
Make the event wrapper publicly available for use in other parts of libcudf.

**Describe alternatives you've considered**
N/A

**Additional context**
N/A

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.