Skip to content

Commit

Permalink
Merge branch 'branch-25.02' into decimal32-decimal64
Browse files Browse the repository at this point in the history
  • Loading branch information
zeroshade authored Jan 17, 2025
2 parents 1ef986f + 6293b70 commit 37609d0
Show file tree
Hide file tree
Showing 13 changed files with 90 additions and 91 deletions.
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ dependencies:
- sphinx>=8.1.0
- sphinxcontrib-websupport
- streamz
- sysroot_linux-64==2.17
- sysroot_linux-64==2.28
- typing_extensions>=4.0.0
- zlib>=1.2.13
name: all_cuda-118_arch-x86_64
4 changes: 2 additions & 2 deletions conda/environments/all_cuda-125_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies:
- flatbuffers==24.3.25
- fmt>=11.0.2,<12
- fsspec>=0.6.0
- gcc_linux-64=11.*
- gcc_linux-64=13.*
- hypothesis
- identify>=2.5.20
- ipython
Expand Down Expand Up @@ -93,7 +93,7 @@ dependencies:
- sphinx>=8.1.0
- sphinxcontrib-websupport
- streamz
- sysroot_linux-64==2.17
- sysroot_linux-64==2.28
- tokenizers==0.15.2
- transformers==4.39.3
- typing_extensions>=4.0.0
Expand Down
14 changes: 7 additions & 7 deletions conda/recipes/cudf/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
c_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

cxx_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"
- "2.28"

cmake_version:
- ">=3.26.4,!=3.30.0"

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc
- cuda-nvcc # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- nvcc # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
6 changes: 2 additions & 4 deletions conda/recipes/cudf/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,8 @@ build:
# libcudf's run_exports pinning is looser than we would like
- libcudf
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% if cuda_major != "11" %}
- cuda-cudart-dev
- libcufile-dev # [linux64]
{% endif %}
Expand All @@ -52,7 +50,7 @@ requirements:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
- {{ compiler('cuda') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
Expand Down
14 changes: 7 additions & 7 deletions conda/recipes/cudf_kafka/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
c_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

cxx_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"
- "2.28"

cmake_version:
- ">=3.26.4,!=3.30.0"

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc
- cuda-nvcc # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- nvcc # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
8 changes: 3 additions & 5 deletions conda/recipes/cudf_kafka/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2020-2024, NVIDIA CORPORATION.
# Copyright (c) 2020-2025, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
Expand Down Expand Up @@ -34,10 +34,8 @@ build:
- SCCACHE_S3_USE_SSL
- SCCACHE_S3_NO_CREDENTIALS
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% if cuda_major != "11" %}
- cuda-cudart-dev
{% endif %}

Expand All @@ -48,7 +46,7 @@ requirements:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
- {{ compiler('cuda') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
Expand Down
14 changes: 7 additions & 7 deletions conda/recipes/libcudf/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
c_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

cxx_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc
- cuda-nvcc # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- nvcc # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"
- "2.28"

cmake_version:
- ">=3.26.4,!=3.30.0"
Expand Down
22 changes: 5 additions & 17 deletions conda/recipes/libcudf/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2018-2024, NVIDIA CORPORATION.
# Copyright (c) 2018-2025, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
Expand Down Expand Up @@ -37,7 +37,7 @@ requirements:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
- {{ compiler('cuda') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
Expand Down Expand Up @@ -80,11 +80,7 @@ outputs:
run_exports:
- {{ pin_subpackage("libcudf", max_pin="x.x") }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
requirements:
build:
- cmake {{ cmake_version }}
Expand Down Expand Up @@ -120,11 +116,7 @@ outputs:
number: {{ GIT_DESCRIBE_NUMBER }}
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
requirements:
build:
- cmake {{ cmake_version }}
Expand All @@ -150,10 +142,8 @@ outputs:
number: {{ GIT_DESCRIBE_NUMBER }}
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% if cuda_major != "11" %}
- cuda-nvtx-dev
{% endif %}
requirements:
Expand All @@ -162,7 +152,7 @@ outputs:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
- {{ compiler('cuda') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
Expand Down Expand Up @@ -196,10 +186,8 @@ outputs:
number: {{ GIT_DESCRIBE_NUMBER }}
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% if cuda_major != "11" %}
- libcurand-dev
{% endif %}
requirements:
Expand Down
14 changes: 7 additions & 7 deletions conda/recipes/pylibcudf/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
c_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

cxx_compiler_version:
- 11
- 13 # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- 11 # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]

c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"
- "2.28"

cmake_version:
- ">=3.26.4,!=3.30.0"

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc
- cuda-nvcc # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
- nvcc # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("11")]
6 changes: 2 additions & 4 deletions conda/recipes/pylibcudf/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,8 @@ build:
# libcudf's run_exports pinning is looser than we would like
- libcudf
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% else %}
- {{ compiler('cuda') }}
{% if cuda_major != "11" %}
- cuda-cudart-dev
- libcufile-dev # [linux64]
{% endif %}
Expand All @@ -52,7 +50,7 @@ requirements:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
- {{ compiler('cuda') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
Expand Down
2 changes: 1 addition & 1 deletion cpp/src/io/orc/writer_impl.cu
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,7 @@ size_t RLE_stream_size(TypeKind kind, size_t count)
case TypeKind::DOUBLE:
return div_rounding_up_unsafe(count, gpu::encode_block_size) *
(gpu::encode_block_size * max_varint_size<int64_t>() + 2);
default: CUDF_FAIL("Unsupported ORC type for RLE stream size");
default: CUDF_FAIL("Unsupported ORC type for RLE stream size: " + std::to_string(kind));
}
}

Expand Down
57 changes: 30 additions & 27 deletions cpp/src/io/parquet/bloom_filter_reader.cu
Original file line number Diff line number Diff line change
Expand Up @@ -58,28 +58,25 @@ struct bloom_filter_caster {
enum class is_int96_timestamp : bool { YES, NO };

template <typename T, is_int96_timestamp IS_INT96_TIMESTAMP = is_int96_timestamp::NO>
std::unique_ptr<cudf::column> query_bloom_filter(cudf::size_type equality_col_idx,
cudf::data_type dtype,
ast::literal const* const literal,
rmm::cuda_stream_view stream) const
std::enable_if_t<not std::is_same_v<T, bool> and
not(cudf::is_compound<T>() and not std::is_same_v<T, string_view>),
std::unique_ptr<cudf::column>>
query_bloom_filter(cudf::size_type equality_col_idx,
cudf::data_type dtype,
ast::literal const* const literal,
rmm::cuda_stream_view stream) const
{
using key_type = T;
using policy_type = cuco::arrow_filter_policy<key_type, cudf::hashing::detail::XXHash_64>;
using word_type = typename policy_type::word_type;

// Boolean, List, Struct, Dictionary types are not supported
if constexpr (std::is_same_v<T, bool> or
(cudf::is_compound<T>() and not std::is_same_v<T, string_view>)) {
CUDF_FAIL("Bloom filters do not support boolean or compound types");
} else {
// Check if the literal has the same type as the predicate column
CUDF_EXPECTS(
dtype == literal->get_data_type() and
cudf::have_same_types(
cudf::column_view{dtype, 0, {}, {}, 0, 0, {}},
cudf::scalar_type_t<T>(T{}, false, stream, cudf::get_current_device_resource_ref())),
"Mismatched predicate column and literal types");
}
// Check if the literal has the same type as the predicate column
CUDF_EXPECTS(
dtype == literal->get_data_type() and
cudf::have_same_types(
cudf::column_view{dtype, 0, {}, {}, 0, 0, {}},
cudf::scalar_type_t<T>(T{}, false, stream, cudf::get_current_device_resource_ref())),
"Mismatched predicate column and literal types");

// Filter properties
auto constexpr bytes_per_block = sizeof(word_type) * policy_type::words_per_block;
Expand Down Expand Up @@ -142,20 +139,26 @@ struct bloom_filter_caster {
template <typename T>
std::unique_ptr<cudf::column> operator()(cudf::size_type equality_col_idx,
cudf::data_type dtype,
ast::literal* const literal,
ast::literal const* const literal,
rmm::cuda_stream_view stream) const
{
// For INT96 timestamps, use cudf::string_view type and set is_int96_timestamp to YES
if constexpr (cudf::is_timestamp<T>()) {
if (parquet_types[equality_col_idx] == Type::INT96) {
// For INT96 timestamps, use cudf::string_view type and set is_int96_timestamp to YES
return query_bloom_filter<cudf::string_view, bloom_filter_caster::is_int96_timestamp::YES>(
equality_col_idx, dtype, literal, stream);
// Boolean, List, Struct, Dictionary types are not supported
if constexpr (std::is_same_v<T, bool> or
(cudf::is_compound<T>() and not std::is_same_v<T, string_view>)) {
CUDF_FAIL("Bloom filters do not support boolean or compound types");
} else {
// For INT96 timestamps, use cudf::string_view type and set is_int96_timestamp to YES
if constexpr (cudf::is_timestamp<T>()) {
if (parquet_types[equality_col_idx] == Type::INT96) {
// For INT96 timestamps, use cudf::string_view type and set is_int96_timestamp to YES
return query_bloom_filter<cudf::string_view, is_int96_timestamp::YES>(
equality_col_idx, dtype, literal, stream);
}
}
}

// For all other cases
return query_bloom_filter<T>(equality_col_idx, dtype, literal, stream);
// For all other cases
return query_bloom_filter<T>(equality_col_idx, dtype, literal, stream);
}
}
};

Expand Down
18 changes: 16 additions & 2 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -382,14 +382,28 @@ dependencies:
matrices:
- matrix:
arch: x86_64
cuda: "11.8"
packages:
- gcc_linux-64=11.*
- sysroot_linux-64==2.17
- sysroot_linux-64==2.28
- matrix:
arch: aarch64
cuda: "11.8"
packages:
- gcc_linux-aarch64=11.*
- sysroot_linux-aarch64==2.17
- sysroot_linux-aarch64==2.28
- matrix:
arch: x86_64
cuda: "12.*"
packages:
- gcc_linux-64=13.*
- sysroot_linux-64==2.28
- matrix:
arch: aarch64
cuda: "12.*"
packages:
- gcc_linux-aarch64=13.*
- sysroot_linux-aarch64==2.28
- output_types: conda
matrices:
- matrix:
Expand Down

0 comments on commit 37609d0

Please sign in to comment.