diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 24b683a930b..95c509efc5b 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -711,8 +711,10 @@ set_target_properties( CXX_STANDARD_REQUIRED ON # For std:: support of __int128_t. Can be removed once using cuda::std CXX_EXTENSIONS ON + CXX_VISIBILITY_PRESET hidden CUDA_STANDARD 17 CUDA_STANDARD_REQUIRED ON + CUDA_VISIBILITY_PRESET hidden POSITION_INDEPENDENT_CODE ON INTERFACE_POSITION_INDEPENDENT_CODE ON ) @@ -887,8 +889,10 @@ if(CUDF_BUILD_TESTUTIL) # set target compile options CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON + CXX_VISIBILITY_PRESET hidden CUDA_STANDARD 17 CUDA_STANDARD_REQUIRED ON + CUDA_VISIBILITY_PRESET hidden POSITION_INDEPENDENT_CODE ON INTERFACE_POSITION_INDEPENDENT_CODE ON ) diff --git a/cpp/cmake/thirdparty/patches/cccl_override.json b/cpp/cmake/thirdparty/patches/cccl_override.json index 2f29578f7ae..dcf9c1139f9 100644 --- a/cpp/cmake/thirdparty/patches/cccl_override.json +++ b/cpp/cmake/thirdparty/patches/cccl_override.json @@ -3,6 +3,11 @@ "packages" : { "CCCL" : { "patches" : [ + { + "file" : "${current_json_dir}/cccl_symbol_visibility.diff", + "issue" : "Correct symbol visibility issues in libcudacxx [https://github.com/NVIDIA/cccl/pull/1832/]", + "fixed_in" : "2.6" + }, { "file" : "${current_json_dir}/thrust_disable_64bit_dispatching.diff", "issue" : "Remove 64bit dispatching as not needed by libcudf and results in compiling twice as many kernels [https://github.com/rapidsai/cudf/pull/11437]", diff --git a/cpp/cmake/thirdparty/patches/cccl_symbol_visibility.diff b/cpp/cmake/thirdparty/patches/cccl_symbol_visibility.diff new file mode 100644 index 00000000000..f745d5fa314 --- /dev/null +++ b/cpp/cmake/thirdparty/patches/cccl_symbol_visibility.diff @@ -0,0 +1,27 @@ +diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__config b/libcudacxx/include/cuda/std/detail/libcxx/include/__config +index e7c62c031b..5db861853a 100644 +--- a/libcudacxx/include/cuda/std/detail/libcxx/include/__config ++++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__config +@@ -1049,7 +1049,6 @@ typedef __char32_t char32_t; + # define _LIBCUDACXX_EXPORTED_FROM_ABI __declspec(dllimport) + # endif + +-# define _LIBCUDACXX_TYPE_VIS _LIBCUDACXX_DLL_VIS + # define _LIBCUDACXX_FUNC_VIS _LIBCUDACXX_DLL_VIS + # define _LIBCUDACXX_EXCEPTION_ABI _LIBCUDACXX_DLL_VIS + # define _LIBCUDACXX_HIDDEN +@@ -1448,14 +1447,6 @@ __sanitizer_annotate_contiguous_container(const void*, const void*, const void*, + # define _LIBCUDACXX_WEAK __attribute__((__weak__)) + # endif + +-// Redefine some macros for internal use +-# if defined(__cuda_std__) +-# undef _LIBCUDACXX_FUNC_VIS +-# define _LIBCUDACXX_FUNC_VIS _LIBCUDACXX_INLINE_VISIBILITY +-# undef _LIBCUDACXX_TYPE_VIS +-# define _LIBCUDACXX_TYPE_VIS +-# endif // __cuda_std__ +- + // Thread API + # ifndef _LIBCUDACXX_HAS_THREAD_API_EXTERNAL + # if defined(_CCCL_COMPILER_NVRTC) || defined(__EMSCRIPTEN__) diff --git a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md index 0d097541692..aa054ba93e9 100644 --- a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md +++ b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md @@ -52,15 +52,36 @@ header file in `cudf/cpp/include/cudf/`. For example, `cudf/cpp/include/cudf/cop contains the APIs for functions related to copying from one column to another. Note the `.hpp` file extension used to indicate a C++ header file. -Header files should use the `#pragma once` include guard. +External/public libcudf C++ API header files need to mark all symbols inside of them with `CUDF_EXPORT`. +This is done by placing the macro on the `namespace cudf` as seen below. Markup on namespace +require them not to be nested, so the `cudf` namespace must be kept by itself. + +```c++ + +#pragma once + +namespace CUDF_EXPORT cudf { +namespace lists { + +... + + +} // namespace lists +} // namespace CUDF_EXPORT cudf + +``` + The naming of external API headers should be consistent with the name of the folder that contains the source files that implement the API. For example, the implementation of the APIs found in `cudf/cpp/include/cudf/copying.hpp` are located in `cudf/src/copying`. Likewise, the unit tests for the APIs reside in `cudf/tests/copying/`. -Internal API headers containing `detail` namespace definitions that are used across translation -units inside libcudf should be placed in `include/cudf/detail`. +Internal API headers containing `detail` namespace definitions that are either used across translation +units inside libcudf should be placed in `include/cudf/detail`. Just like the public C++ API headers, any +internal C++ API header requires `CUDF_EXPORT` markup on the `cudf` namespace so that the functions can be tested. + +All headers in cudf should use `#pragma once` for include guards. ## File extensions diff --git a/cpp/doxygen/developer_guide/DOCUMENTATION.md b/cpp/doxygen/developer_guide/DOCUMENTATION.md index b86f7db82b0..89376223baf 100644 --- a/cpp/doxygen/developer_guide/DOCUMENTATION.md +++ b/cpp/doxygen/developer_guide/DOCUMENTATION.md @@ -363,7 +363,7 @@ Here is an example of a doxygen description comment for a namespace declaration. * * This is the top-level namespace which contains all cuDF functions and types. */ - namespace cudf { + namespace CUDF_EXPORT cudf { A description comment should be included only once for each unique namespace declaration. Otherwise, if more than one description is found, doxygen aggregates the descriptions in an arbitrary order in the output pages. @@ -385,7 +385,7 @@ The existing groups have been carefully structured and named, so new groups shou When creating a new API, specify its group using the [\@ingroup](https://www.doxygen.nl/manual/commands.html#cmdingroup) tag and the group reference id from the [doxygen_groups.h](../include/doxygen_groups.h) file. - namespace cudf { + namespace CUDF_EXPORT cudf { /** * @brief ... @@ -401,7 +401,7 @@ When creating a new API, specify its group using the [\@ingroup](https://www.dox You can also use the \@addtogroup with a `@{ ... @}` pair to automatically include doxygen comment blocks as part of a group. - namespace cudf { + namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_fill * @{ diff --git a/cpp/include/cudf/aggregation.hpp b/cpp/include/cudf/aggregation.hpp index 3c1023017be..f5f514d26d9 100644 --- a/cpp/include/cudf/aggregation.hpp +++ b/cpp/include/cudf/aggregation.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -31,7 +32,7 @@ * individual function documentation to see what aggregations are supported. */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup aggregation_factories * @{ @@ -770,4 +771,4 @@ template std::unique_ptr make_merge_tdigest_aggregation(int max_centroids = 1000); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/ast/detail/expression_parser.hpp b/cpp/include/cudf/ast/detail/expression_parser.hpp index 38f7ac5291f..da552d95421 100644 --- a/cpp/include/cudf/ast/detail/expression_parser.hpp +++ b/cpp/include/cudf/ast/detail/expression_parser.hpp @@ -29,9 +29,8 @@ #include #include -namespace cudf { -namespace ast { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace ast::detail { /** * @brief Node data reference types. @@ -328,8 +327,6 @@ class expression_parser { std::vector _literals; }; -} // namespace detail +} // namespace ast::detail -} // namespace ast - -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/ast/detail/expression_transformer.hpp b/cpp/include/cudf/ast/detail/expression_transformer.hpp index a6529c338e6..3af1663abf8 100644 --- a/cpp/include/cudf/ast/detail/expression_transformer.hpp +++ b/cpp/include/cudf/ast/detail/expression_transformer.hpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 2023, NVIDIA CORPORATION. + * Copyright (c) 2023-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,8 @@ #include -namespace cudf::ast::detail { +namespace CUDF_EXPORT cudf { +namespace ast::detail { /** * @brief Base "visitor" pattern class with the `expression` class for expression transformer. * @@ -61,4 +62,7 @@ class expression_transformer { virtual ~expression_transformer() {} }; -} // namespace cudf::ast::detail + +} // namespace ast::detail + +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/ast/detail/operators.hpp b/cpp/include/cudf/ast/detail/operators.hpp index c483d459833..46507700e21 100644 --- a/cpp/include/cudf/ast/detail/operators.hpp +++ b/cpp/include/cudf/ast/detail/operators.hpp @@ -29,7 +29,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace ast { @@ -1233,4 +1233,4 @@ CUDF_HOST_DEVICE inline cudf::size_type ast_operator_arity(ast_operator op) } // namespace ast -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/ast/expressions.hpp b/cpp/include/cudf/ast/expressions.hpp index 918271e3e4f..4299ee5f20f 100644 --- a/cpp/include/cudf/ast/expressions.hpp +++ b/cpp/include/cudf/ast/expressions.hpp @@ -23,7 +23,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace ast { /** * @addtogroup expressions @@ -555,4 +555,4 @@ class column_name_reference : public expression { /** @} */ // end of group } // namespace ast -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/binaryop.hpp b/cpp/include/cudf/binaryop.hpp index c74c91e39c2..51199bb5792 100644 --- a/cpp/include/cudf/binaryop.hpp +++ b/cpp/include/cudf/binaryop.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_binaryops @@ -316,8 +317,13 @@ std::pair scalar_col_valid_mask_and( rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); -namespace compiled { -namespace detail { +} // namespace binops + +/** @} */ // end of group +} // namespace CUDF_EXPORT cudf + +namespace CUDF_EXPORT cudf { +namespace binops::compiled::detail { /** * @brief struct binary operation using `NaN` aware sorting physical element comparators @@ -337,9 +343,5 @@ void apply_sorting_struct_binary_op(mutable_column_view& out, bool is_rhs_scalar, binary_operator op, rmm::cuda_stream_view stream); -} // namespace detail -} // namespace compiled -} // namespace binops - -/** @} */ // end of group -} // namespace cudf +} // namespace binops::compiled::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/column/column.hpp b/cpp/include/cudf/column/column.hpp index 22db25bdc83..5d1d74c3f28 100644 --- a/cpp/include/cudf/column/column.hpp +++ b/cpp/include/cudf/column/column.hpp @@ -36,7 +36,7 @@ * @brief Class definition for cudf::column */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief A container of nullable device data as a column of elements. @@ -332,4 +332,4 @@ class column { }; /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/column/column_device_view.cuh b/cpp/include/cudf/column/column_device_view.cuh index 787e9c2c479..89fe59bfeaa 100644 --- a/cpp/include/cudf/column/column_device_view.cuh +++ b/cpp/include/cudf/column/column_device_view.cuh @@ -44,7 +44,7 @@ * @brief Column device view class definitions */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief Indicates the presence of nulls at compile-time or runtime. @@ -1527,4 +1527,4 @@ ColumnDeviceView* child_columns_to_device_array(ColumnViewIterator child_begin, } } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/column/column_factories.hpp b/cpp/include/cudf/column/column_factories.hpp index dc4700576e6..c1f295b7ea8 100644 --- a/cpp/include/cudf/column/column_factories.hpp +++ b/cpp/include/cudf/column/column_factories.hpp @@ -27,7 +27,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_factories * @{ @@ -571,4 +571,4 @@ std::unique_ptr make_dictionary_from_scalar( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/column/column_view.hpp b/cpp/include/cudf/column/column_view.hpp index 03352fdce13..3ef7bafe727 100644 --- a/cpp/include/cudf/column/column_view.hpp +++ b/cpp/include/cudf/column/column_view.hpp @@ -31,8 +31,7 @@ * @file column_view.hpp * @brief column view class definitions */ - -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @brief A non-owning, immutable view of device data as a column of elements, @@ -296,6 +295,7 @@ class column_view_base { size_type null_count, size_type offset = 0); }; + } // namespace detail /** @@ -797,5 +797,6 @@ std::size_t shallow_hash(column_view const& input); * @return If `lhs` and `rhs` have equivalent shallow state */ bool is_shallow_equivalent(column_view const& lhs, column_view const& rhs); + } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/concatenate.hpp b/cpp/include/cudf/concatenate.hpp index e7b55a2e6d0..0935bdf7def 100644 --- a/cpp/include/cudf/concatenate.hpp +++ b/cpp/include/cudf/concatenate.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -25,7 +26,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup copy_concatenate * @{ @@ -97,4 +98,4 @@ std::unique_ptr concatenate( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/contiguous_split.hpp b/cpp/include/cudf/contiguous_split.hpp index 0d4f20d1ef2..195dac25268 100644 --- a/cpp/include/cudf/contiguous_split.hpp +++ b/cpp/include/cudf/contiguous_split.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup copy_split @@ -124,8 +125,14 @@ std::vector contiguous_split( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); namespace detail { + +/** + * @brief A helper struct containing the state of contiguous_split, whether the caller + * is using the single-pass contiguous_split or chunked_pack. + * + */ struct contiguous_split_state; -}; +} // namespace detail /** * @brief Perform a chunked "pack" operation of the input `table_view` using a user provided @@ -338,4 +345,4 @@ table_view unpack(packed_columns const& input); table_view unpack(uint8_t const* metadata, uint8_t const* gpu_data); /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/copying.hpp b/cpp/include/cudf/copying.hpp index b17cafb05ab..3c44ff48fdf 100644 --- a/cpp/include/cudf/copying.hpp +++ b/cpp/include/cudf/copying.hpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -30,7 +31,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_copy @@ -913,7 +914,7 @@ bool may_have_nonempty_nulls(column_view const& input); * * @code{.pseudo} * auto const lists = lists_column_wrapper{ {0,1}, {2,3}, {4,5} }.release(); - * cudf::detail::set_null_mask(lists->null_mask(), 1, 2, false); + * cudf::set_null_mask(lists->null_mask(), 1, 2, false); * * lists[1] is now null, but the lists child column still stores `{2,3}`. * The lists column contents will be: @@ -929,7 +930,7 @@ bool may_have_nonempty_nulls(column_view const& input); * * @code{.pseudo} * auto const strings = strings_column_wrapper{ "AB", "CD", "EF" }.release(); - * cudf::detail::set_null_mask(strings->null_mask(), 1, 2, false); + * cudf::set_null_mask(strings->null_mask(), 1, 2, false); * * strings[1] is now null, but the strings column still stores `"CD"`. * The lists column contents will be: @@ -972,4 +973,4 @@ std::unique_ptr purge_nonempty_nulls( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/datetime.hpp b/cpp/include/cudf/datetime.hpp index 06b7d24f6cd..f7bed8bdc7e 100644 --- a/cpp/include/cudf/datetime.hpp +++ b/cpp/include/cudf/datetime.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -28,7 +29,7 @@ * @brief DateTime column APIs. */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace datetime { /** * @addtogroup datetime_extract @@ -401,4 +402,4 @@ std::unique_ptr round_datetimes( /** @} */ // end of group } // namespace datetime -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/aggregation/aggregation.hpp b/cpp/include/cudf/detail/aggregation/aggregation.hpp index 843414817e3..b257eef1e9e 100644 --- a/cpp/include/cudf/detail/aggregation/aggregation.hpp +++ b/cpp/include/cudf/detail/aggregation/aggregation.hpp @@ -26,7 +26,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { // Visitor pattern @@ -1674,4 +1674,4 @@ constexpr inline bool is_valid_aggregation() bool is_valid_aggregation(data_type source, aggregation::Kind k); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/aggregation/result_cache.hpp b/cpp/include/cudf/detail/aggregation/result_cache.hpp index 41eec156c47..ec5a511bb7c 100644 --- a/cpp/include/cudf/detail/aggregation/result_cache.hpp +++ b/cpp/include/cudf/detail/aggregation/result_cache.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { struct pair_column_aggregation_equal_to { bool operator()(std::pair const& lhs, @@ -66,4 +66,4 @@ class result_cache { }; } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/binaryop.hpp b/cpp/include/cudf/detail/binaryop.hpp index de1fde8bc96..fe739327a08 100644 --- a/cpp/include/cudf/detail/binaryop.hpp +++ b/cpp/include/cudf/detail/binaryop.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Inner interfaces and implementations namespace detail { @@ -77,4 +78,4 @@ std::unique_ptr binary_operation(column_view const& lhs, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/concatenate.hpp b/cpp/include/cudf/detail/concatenate.hpp index 3e039175542..1be269710b2 100644 --- a/cpp/include/cudf/detail/concatenate.hpp +++ b/cpp/include/cudf/detail/concatenate.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -26,7 +27,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Inner interfaces and implementations namespace detail { /** @@ -48,4 +49,4 @@ std::unique_ptr
concatenate(host_span tables_to_concat, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/concatenate_masks.hpp b/cpp/include/cudf/detail/concatenate_masks.hpp index dd2fb471a7d..fc829361fde 100644 --- a/cpp/include/cudf/detail/concatenate_masks.hpp +++ b/cpp/include/cudf/detail/concatenate_masks.hpp @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -24,7 +25,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Inner interfaces and implementations namespace detail { @@ -69,4 +70,4 @@ rmm::device_buffer concatenate_masks(host_span views, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/contiguous_split.hpp b/cpp/include/cudf/detail/contiguous_split.hpp index 1467ed1aa67..52c51daa917 100644 --- a/cpp/include/cudf/detail/contiguous_split.hpp +++ b/cpp/include/cudf/detail/contiguous_split.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -125,4 +125,4 @@ std::vector pack_metadata(table_view const& table, metadata_builder& builder); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/copy.hpp b/cpp/include/cudf/detail/copy.hpp index f7430eb090d..2be432c0825 100644 --- a/cpp/include/cudf/detail/copy.hpp +++ b/cpp/include/cudf/detail/copy.hpp @@ -28,7 +28,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @brief Constructs a zero-copy `column_view`/`mutable_column_view` of the @@ -280,4 +280,4 @@ std::unique_ptr purge_nonempty_nulls(column_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/datetime.hpp b/cpp/include/cudf/detail/datetime.hpp index a93c06d4371..95469de8ae6 100644 --- a/cpp/include/cudf/detail/datetime.hpp +++ b/cpp/include/cudf/detail/datetime.hpp @@ -23,7 +23,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace datetime { namespace detail { /** @@ -174,4 +174,4 @@ std::unique_ptr extract_quarter(cudf::column_view const& column, } // namespace detail } // namespace datetime -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/fill.hpp b/cpp/include/cudf/detail/fill.hpp index 6996cda6974..82c6af8b611 100644 --- a/cpp/include/cudf/detail/fill.hpp +++ b/cpp/include/cudf/detail/fill.hpp @@ -25,7 +25,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -52,4 +52,4 @@ std::unique_ptr fill(column_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/gather.cuh b/cpp/include/cudf/detail/gather.cuh index d3e9fc4974d..073c37ccb77 100644 --- a/cpp/include/cudf/detail/gather.cuh +++ b/cpp/include/cudf/detail/gather.cuh @@ -571,7 +571,7 @@ void gather_bitmask(table_view const& source, not target[i]->nullable()) { auto const state = op == gather_bitmask_op::PASSTHROUGH ? mask_state::ALL_VALID : mask_state::UNINITIALIZED; - auto mask = detail::create_null_mask(target[i]->size(), state, stream, mr); + auto mask = cudf::create_null_mask(target[i]->size(), state, stream, mr); target[i]->set_null_mask(std::move(mask), 0); } } diff --git a/cpp/include/cudf/detail/gather.hpp b/cpp/include/cudf/detail/gather.hpp index 36824f56895..39cd43934e3 100644 --- a/cpp/include/cudf/detail/gather.hpp +++ b/cpp/include/cudf/detail/gather.hpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -27,7 +28,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { @@ -84,4 +85,4 @@ std::unique_ptr
gather(table_view const& source_table, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/groupby.hpp b/cpp/include/cudf/detail/groupby.hpp index 5a8c9b0a27f..36eae05ce39 100644 --- a/cpp/include/cudf/detail/groupby.hpp +++ b/cpp/include/cudf/detail/groupby.hpp @@ -25,10 +25,8 @@ #include #include -namespace cudf { -namespace groupby { -namespace detail { -namespace hash { +namespace CUDF_EXPORT cudf { +namespace groupby::detail::hash { /** * @brief Indicates if a set of aggregation requests can be satisfied with a * hash-based groupby implementation. @@ -47,8 +45,5 @@ std::pair, std::vector> groupby( null_policy include_null_keys, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace hash - -} // namespace detail -} // namespace groupby -} // namespace cudf +} // namespace groupby::detail::hash +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/groupby/group_replace_nulls.hpp b/cpp/include/cudf/detail/groupby/group_replace_nulls.hpp index 389c7952875..c0910b4d5ae 100644 --- a/cpp/include/cudf/detail/groupby/group_replace_nulls.hpp +++ b/cpp/include/cudf/detail/groupby/group_replace_nulls.hpp @@ -24,7 +24,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace groupby { namespace detail { @@ -45,4 +45,4 @@ std::unique_ptr group_replace_nulls(cudf::column_view const& grouped_val } // namespace detail } // namespace groupby -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/groupby/sort_helper.hpp b/cpp/include/cudf/detail/groupby/sort_helper.hpp index 567efedb9b2..a411a890622 100644 --- a/cpp/include/cudf/detail/groupby/sort_helper.hpp +++ b/cpp/include/cudf/detail/groupby/sort_helper.hpp @@ -25,10 +25,8 @@ #include #include -namespace cudf { -namespace groupby { -namespace detail { -namespace sort { +namespace CUDF_EXPORT cudf { +namespace groupby::detail::sort { /** * @brief Helper class for computing sort-based groupby * @@ -229,7 +227,5 @@ struct sort_groupby_helper { std::vector _null_precedence; ///< How to sort NULLs }; -} // namespace sort -} // namespace detail -} // namespace groupby -} // namespace cudf +} // namespace groupby::detail::sort +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/interop.hpp b/cpp/include/cudf/detail/interop.hpp index 5b2b9b5e69d..0b9319ba663 100644 --- a/cpp/include/cudf/detail/interop.hpp +++ b/cpp/include/cudf/detail/interop.hpp @@ -34,12 +34,13 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -156,4 +157,4 @@ constexpr std::size_t max_precision() } } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/is_element_valid.hpp b/cpp/include/cudf/detail/is_element_valid.hpp index 72a85d42eb3..4b74d12f306 100644 --- a/cpp/include/cudf/detail/is_element_valid.hpp +++ b/cpp/include/cudf/detail/is_element_valid.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,11 @@ #include #include +#include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -44,4 +45,4 @@ bool is_element_valid_sync(column_view const& col_view, rmm::cuda_stream_view stream); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/join.hpp b/cpp/include/cudf/detail/join.hpp index b4ec5f2cc69..ff7da4462a2 100644 --- a/cpp/include/cudf/detail/join.hpp +++ b/cpp/include/cudf/detail/join.hpp @@ -34,10 +34,10 @@ // Forward declaration namespace cudf::experimental::row::equality { -class preprocessed_table; +class CUDF_EXPORT preprocessed_table; } -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { constexpr int DEFAULT_JOIN_CG_SIZE = 2; @@ -185,4 +185,4 @@ struct hash_join { rmm::device_async_resource_ref mr) const; }; } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/label_bins.hpp b/cpp/include/cudf/detail/label_bins.hpp index 9f6dcce448d..92a417b0132 100644 --- a/cpp/include/cudf/detail/label_bins.hpp +++ b/cpp/include/cudf/detail/label_bins.hpp @@ -27,7 +27,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { @@ -55,4 +55,4 @@ std::unique_ptr label_bins(column_view const& input, /** @} */ // end of group } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/merge.hpp b/cpp/include/cudf/detail/merge.hpp index 56ac0554403..72e34b76158 100644 --- a/cpp/include/cudf/detail/merge.hpp +++ b/cpp/include/cudf/detail/merge.hpp @@ -16,12 +16,14 @@ #pragma once +#include + #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -59,4 +61,4 @@ std::unique_ptr merge(std::vector const& tables_to_merg rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/null_mask.hpp b/cpp/include/cudf/detail/null_mask.hpp index 04d8d663acb..67e3617d873 100644 --- a/cpp/include/cudf/detail/null_mask.hpp +++ b/cpp/include/cudf/detail/null_mask.hpp @@ -25,7 +25,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -63,6 +63,7 @@ void set_null_mask(bitmask_type* bitmask, * @param stream CUDA stream used for device memory operations and kernel launches. * @return The number of non-zero bits in the specified range. */ +CUDF_EXPORT cudf::size_type count_set_bits(bitmask_type const* bitmask, size_type start, size_type stop, @@ -82,6 +83,7 @@ cudf::size_type count_set_bits(bitmask_type const* bitmask, * @param stream CUDA stream used for device memory operations and kernel launches. * @return The number of zero bits in the specified range. */ +CUDF_EXPORT cudf::size_type count_unset_bits(bitmask_type const* bitmask, size_type start, size_type stop, @@ -100,6 +102,7 @@ cudf::size_type count_unset_bits(bitmask_type const* bitmask, * @param[in] stream CUDA stream used for device memory operations and kernel launches. * @return A vector storing the number of non-zero bits in the specified ranges. */ +CUDF_EXPORT std::vector segmented_count_set_bits(bitmask_type const* bitmask, host_span indices, rmm::cuda_stream_view stream); @@ -117,6 +120,7 @@ std::vector segmented_count_set_bits(bitmask_type const* bitmask, * @param[in] stream CUDA stream used for device memory operations and kernel launches. * @return A vector storing the number of zero bits in the specified ranges. */ +CUDF_EXPORT std::vector segmented_count_unset_bits(bitmask_type const* bitmask, host_span indices, rmm::cuda_stream_view stream); @@ -137,6 +141,7 @@ std::vector segmented_count_unset_bits(bitmask_type const* bitmask, * @param[in] stream CUDA stream used for device memory operations and kernel launches. * @return The number of valid elements in the specified range. */ +CUDF_EXPORT cudf::size_type valid_count(bitmask_type const* bitmask, size_type start, size_type stop, @@ -169,6 +174,7 @@ cudf::size_type null_count(bitmask_type const* bitmask, * @param[in] stream CUDA stream used for device memory operations and kernel launches. * @return A vector storing the number of valid elements in each specified range. */ +CUDF_EXPORT std::vector segmented_valid_count(bitmask_type const* bitmask, host_span indices, rmm::cuda_stream_view stream); @@ -189,6 +195,7 @@ std::vector segmented_valid_count(bitmask_type const* bitmask, * @param[in] stream CUDA stream used for device memory operations and kernel launches. * @return A vector storing the number of null elements in each specified range. */ +CUDF_EXPORT std::vector segmented_null_count(bitmask_type const* bitmask, host_span indices, rmm::cuda_stream_view stream); @@ -220,6 +227,7 @@ rmm::device_buffer copy_bitmask(column_view const& view, * * @param stream CUDA stream used for device memory operations and kernel launches */ +CUDF_EXPORT std::pair bitmask_and(host_span masks, host_span masks_begin_bits, size_type mask_size_bits, @@ -279,4 +287,4 @@ void set_all_valid_null_masks(column_view const& input, } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/quantiles.hpp b/cpp/include/cudf/detail/quantiles.hpp index 6c188d2ca68..23d5fb73ba3 100644 --- a/cpp/include/cudf/detail/quantiles.hpp +++ b/cpp/include/cudf/detail/quantiles.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -64,4 +65,4 @@ std::unique_ptr percentile_approx(tdigest::tdigest_column_view const& in rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/repeat.hpp b/cpp/include/cudf/detail/repeat.hpp index abb9e45a95c..e17f1b7c5fd 100644 --- a/cpp/include/cudf/detail/repeat.hpp +++ b/cpp/include/cudf/detail/repeat.hpp @@ -24,7 +24,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -51,4 +51,4 @@ std::unique_ptr
repeat(table_view const& input_table, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/replace.hpp b/cpp/include/cudf/detail/replace.hpp index 46203bdf2f0..e2bd729861b 100644 --- a/cpp/include/cudf/detail/replace.hpp +++ b/cpp/include/cudf/detail/replace.hpp @@ -24,7 +24,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @copydoc cudf::replace_nulls(column_view const&, column_view const&, @@ -102,4 +102,4 @@ std::unique_ptr normalize_nans_and_zeros(column_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/reshape.hpp b/cpp/include/cudf/detail/reshape.hpp index 7a1c3d6c4f0..30f8b88b116 100644 --- a/cpp/include/cudf/detail/reshape.hpp +++ b/cpp/include/cudf/detail/reshape.hpp @@ -24,7 +24,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @copydoc cudf::tile @@ -46,4 +46,4 @@ std::unique_ptr interleave_columns(table_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/rolling.hpp b/cpp/include/cudf/detail/rolling.hpp index ea6f38c421c..5bfa5679531 100644 --- a/cpp/include/cudf/detail/rolling.hpp +++ b/cpp/include/cudf/detail/rolling.hpp @@ -26,7 +26,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -49,4 +49,4 @@ std::unique_ptr rolling_window(column_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/round.hpp b/cpp/include/cudf/detail/round.hpp index 1a9c5c82c65..ba3ef1c1ce7 100644 --- a/cpp/include/cudf/detail/round.hpp +++ b/cpp/include/cudf/detail/round.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Inner interfaces and implementations namespace detail { @@ -39,4 +39,4 @@ std::unique_ptr round(column_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/scan.hpp b/cpp/include/cudf/detail/scan.hpp index 54c25d0157c..bd60309c5c3 100644 --- a/cpp/include/cudf/detail/scan.hpp +++ b/cpp/include/cudf/detail/scan.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -73,6 +74,7 @@ std::unique_ptr scan_exclusive(column_view const& input, * @param mr Device memory resource used to allocate the returned scalar's device memory. * @returns Column with scan results. */ +CUDF_EXPORT std::unique_ptr scan_inclusive(column_view const& input, scan_aggregation const& agg, null_policy null_handling, @@ -99,6 +101,7 @@ std::unique_ptr inclusive_rank_scan(column_view const& order_by, * @param mr Device memory resource used to allocate the returned column's device memory. * @return rank values. */ +CUDF_EXPORT std::unique_ptr inclusive_dense_rank_scan(column_view const& order_by, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); @@ -117,4 +120,4 @@ std::unique_ptr inclusive_one_normalized_percent_rank_scan( column_view const& order_by, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/scatter.hpp b/cpp/include/cudf/detail/scatter.hpp index 95ed6af8c3c..6691ddc5c09 100644 --- a/cpp/include/cudf/detail/scatter.hpp +++ b/cpp/include/cudf/detail/scatter.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -26,7 +27,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @brief Scatters the rows of the source table into a copy of the target table @@ -144,4 +145,4 @@ std::unique_ptr
boolean_mask_scatter( rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/search.hpp b/cpp/include/cudf/detail/search.hpp index e60b18f4c8d..72e2cf074bc 100644 --- a/cpp/include/cudf/detail/search.hpp +++ b/cpp/include/cudf/detail/search.hpp @@ -25,7 +25,9 @@ #include #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { + /** * @copydoc cudf::lower_bound * @@ -92,6 +94,7 @@ std::unique_ptr contains(column_view const& haystack, * @param mr Device memory resource used to allocate the returned vector * @return A vector of bools indicating if each row in `needles` has matching rows in `haystack` */ +CUDF_EXPORT rmm::device_uvector contains(table_view const& haystack, table_view const& needles, null_equality compare_nulls, @@ -99,4 +102,5 @@ rmm::device_uvector contains(table_view const& haystack, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/sequence.hpp b/cpp/include/cudf/detail/sequence.hpp index a18a9d3b200..a08010a610f 100644 --- a/cpp/include/cudf/detail/sequence.hpp +++ b/cpp/include/cudf/detail/sequence.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @copydoc cudf::sequence(size_type size, scalar const& init, scalar const& step, @@ -65,4 +65,4 @@ std::unique_ptr calendrical_month_sequence(size_type size, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/sorting.hpp b/cpp/include/cudf/detail/sorting.hpp index 4ddba38a7e9..08cf329f199 100644 --- a/cpp/include/cudf/detail/sorting.hpp +++ b/cpp/include/cudf/detail/sorting.hpp @@ -26,7 +26,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -163,4 +163,4 @@ std::unique_ptr
stable_sort(table_view const& values, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/stream_compaction.hpp b/cpp/include/cudf/detail/stream_compaction.hpp index e3ef4190fd2..05194148a70 100644 --- a/cpp/include/cudf/detail/stream_compaction.hpp +++ b/cpp/include/cudf/detail/stream_compaction.hpp @@ -25,7 +25,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @copydoc cudf::drop_nulls(table_view const&, std::vector const&, @@ -148,4 +148,4 @@ cudf::size_type distinct_count(table_view const& input, rmm::cuda_stream_view stream); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/structs/utilities.hpp b/cpp/include/cudf/detail/structs/utilities.hpp index beedc009c84..7de68035b19 100644 --- a/cpp/include/cudf/detail/structs/utilities.hpp +++ b/cpp/include/cudf/detail/structs/utilities.hpp @@ -25,9 +25,8 @@ #include #include -#include - -namespace cudf::structs::detail { +namespace CUDF_EXPORT cudf { +namespace structs::detail { enum class column_nullability { MATCH_INCOMING, ///< generate a null column if the incoming column has nulls @@ -268,4 +267,5 @@ class flattened_table { */ bool contains_null_structs(column_view const& col); -} // namespace cudf::structs::detail +} // namespace structs::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/tdigest/tdigest.hpp b/cpp/include/cudf/detail/tdigest/tdigest.hpp index bfd12c18fff..10eb3d389c7 100644 --- a/cpp/include/cudf/detail/tdigest/tdigest.hpp +++ b/cpp/include/cudf/detail/tdigest/tdigest.hpp @@ -18,14 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { -namespace tdigest { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace tdigest::detail { /** * @brief Generate a tdigest column from a grouped, sorted set of numeric input values. @@ -152,6 +152,7 @@ std::unique_ptr make_tdigest_column(size_type num_rows, * * @returns An empty tdigest column. */ +CUDF_EXPORT std::unique_ptr make_empty_tdigest_column(rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); @@ -236,6 +237,5 @@ std::unique_ptr reduce_merge_tdigest(column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace tdigest -} // namespace cudf +} // namespace tdigest::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/timezone.hpp b/cpp/include/cudf/detail/timezone.hpp index 037164aa297..c7798ff60ed 100644 --- a/cpp/include/cudf/detail/timezone.hpp +++ b/cpp/include/cudf/detail/timezone.hpp @@ -16,11 +16,13 @@ #pragma once #include +#include #include #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { /** * @copydoc cudf::make_timezone_transition_table(std::optional, std::string_view, @@ -34,4 +36,5 @@ std::unique_ptr
make_timezone_transition_table( rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/transform.hpp b/cpp/include/cudf/detail/transform.hpp index 47e13fa2e5e..02849ef023c 100644 --- a/cpp/include/cudf/detail/transform.hpp +++ b/cpp/include/cudf/detail/transform.hpp @@ -19,11 +19,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @copydoc cudf::transform @@ -112,4 +113,4 @@ std::unique_ptr segmented_row_bit_count(table_view const& t, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/transpose.hpp b/cpp/include/cudf/detail/transpose.hpp index 1f8effc8103..559b2c32996 100644 --- a/cpp/include/cudf/detail/transpose.hpp +++ b/cpp/include/cudf/detail/transpose.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @copydoc cudf::transpose @@ -34,4 +35,4 @@ std::pair, table_view> transpose(table_view const& input rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/unary.hpp b/cpp/include/cudf/detail/unary.hpp index 5245cfdf079..bb05138bc8c 100644 --- a/cpp/include/cudf/detail/unary.hpp +++ b/cpp/include/cudf/detail/unary.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -26,7 +27,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @brief Creates a column of `type_id::BOOL8` elements by applying a predicate to every element @@ -101,4 +102,4 @@ std::unique_ptr is_not_nan(cudf::column_view const& input, rmm::device_async_resource_ref mr); } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/alignment.hpp b/cpp/include/cudf/detail/utilities/alignment.hpp index e52032fe104..2677eca34db 100644 --- a/cpp/include/cudf/detail/utilities/alignment.hpp +++ b/cpp/include/cudf/detail/utilities/alignment.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -43,4 +43,4 @@ T* align_ptr_for_type(void* destination) } } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/cuda_memcpy.hpp b/cpp/include/cudf/detail/utilities/cuda_memcpy.hpp index b66c461ab12..632d5a732ec 100644 --- a/cpp/include/cudf/detail/utilities/cuda_memcpy.hpp +++ b/cpp/include/cudf/detail/utilities/cuda_memcpy.hpp @@ -16,9 +16,12 @@ #pragma once +#include + #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { enum class host_memory_kind : uint8_t { PINNED, PAGEABLE }; @@ -50,4 +53,5 @@ void cuda_memcpy_async( void cuda_memcpy( void* dst, void const* src, size_t size, host_memory_kind kind, rmm::cuda_stream_view stream); -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/default_stream.hpp b/cpp/include/cudf/detail/utilities/default_stream.hpp index fa438f142b7..f988355e6e0 100644 --- a/cpp/include/cudf/detail/utilities/default_stream.hpp +++ b/cpp/include/cudf/detail/utilities/default_stream.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,10 +16,12 @@ #pragma once +#include + #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { @@ -33,4 +35,4 @@ extern rmm::cuda_stream_view const default_stream_value; } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/host_vector.hpp b/cpp/include/cudf/detail/utilities/host_vector.hpp index f4e5f718da4..d4dd7b0d626 100644 --- a/cpp/include/cudf/detail/utilities/host_vector.hpp +++ b/cpp/include/cudf/detail/utilities/host_vector.hpp @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -28,7 +29,8 @@ #include #include // for bad_alloc -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { /*! \p rmm_host_allocator is a CUDA-specific host memory allocator * that employs \c a `rmm::host_async_resource_ref` for allocation. @@ -202,4 +204,5 @@ class host_vector : public thrust::host_vector> { host_vector(size_t size, rmm_host_allocator const& alloc) : base(size, alloc) {} }; -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/linked_column.hpp b/cpp/include/cudf/detail/utilities/linked_column.hpp index 0feef0f1a44..0b388938754 100644 --- a/cpp/include/cudf/detail/utilities/linked_column.hpp +++ b/cpp/include/cudf/detail/utilities/linked_column.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,13 @@ #include #include +#include #include #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { struct linked_column_view; @@ -68,4 +70,5 @@ struct linked_column_view : public column_view_base { */ LinkedColVector table_to_linked_columns(table_view const& table); -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/stacktrace.hpp b/cpp/include/cudf/detail/utilities/stacktrace.hpp index c3ec9ce7a52..f54f5f3579a 100644 --- a/cpp/include/cudf/detail/utilities/stacktrace.hpp +++ b/cpp/include/cudf/detail/utilities/stacktrace.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, NVIDIA CORPORATION. + * Copyright (c) 2023-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,12 @@ #pragma once +#include + #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { /** * @addtogroup utility_stacktrace * @{ @@ -44,4 +47,5 @@ std::string get_stacktrace(capture_last_stackframe capture_last_frame); /** @} */ // end of group -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/stream_pool.hpp b/cpp/include/cudf/detail/utilities/stream_pool.hpp index 64c1d4ae514..dfe028bc5b7 100644 --- a/cpp/include/cudf/detail/utilities/stream_pool.hpp +++ b/cpp/include/cudf/detail/utilities/stream_pool.hpp @@ -16,6 +16,7 @@ #pragma once +#include #include #include @@ -23,7 +24,8 @@ #include #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { class cuda_stream_pool { public: @@ -122,4 +124,5 @@ cuda_stream_pool& global_cuda_stream_pool(); */ void join_streams(host_span streams, rmm::cuda_stream_view stream); -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/utilities/vector_factories.hpp b/cpp/include/cudf/detail/utilities/vector_factories.hpp index 45dc839c9bd..a9d91cdeee1 100644 --- a/cpp/include/cudf/detail/utilities/vector_factories.hpp +++ b/cpp/include/cudf/detail/utilities/vector_factories.hpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -36,7 +37,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -515,4 +516,4 @@ host_vector make_pinned_vector_sync(size_t size, rmm::cuda_stream_view stream } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/detail/valid_if.cuh b/cpp/include/cudf/detail/valid_if.cuh index 64a3c4edf78..56a2c76b741 100644 --- a/cpp/include/cudf/detail/valid_if.cuh +++ b/cpp/include/cudf/detail/valid_if.cuh @@ -97,7 +97,7 @@ std::pair valid_if(InputIterator begin, size_type size = thrust::distance(begin, end); - auto null_mask = detail::create_null_mask(size, mask_state::UNINITIALIZED, stream, mr); + auto null_mask = cudf::create_null_mask(size, mask_state::UNINITIALIZED, stream, mr); size_type null_count{0}; if (size > 0) { diff --git a/cpp/include/cudf/dictionary/detail/concatenate.hpp b/cpp/include/cudf/dictionary/detail/concatenate.hpp index 55f3825b3ec..0eb17aa06f4 100644 --- a/cpp/include/cudf/dictionary/detail/concatenate.hpp +++ b/cpp/include/cudf/dictionary/detail/concatenate.hpp @@ -23,9 +23,8 @@ #include #include -namespace cudf { -namespace dictionary { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace dictionary::detail { /** * @brief Returns a single column by vertically concatenating the given vector of * dictionary columns. @@ -42,6 +41,5 @@ std::unique_ptr concatenate(host_span columns, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace dictionary -} // namespace cudf +} // namespace dictionary::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/detail/encode.hpp b/cpp/include/cudf/dictionary/detail/encode.hpp index 3b5a3bbab56..cc7ffbd397f 100644 --- a/cpp/include/cudf/dictionary/detail/encode.hpp +++ b/cpp/include/cudf/dictionary/detail/encode.hpp @@ -23,9 +23,8 @@ #include #include -namespace cudf { -namespace dictionary { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace dictionary::detail { /** * @brief Construct a dictionary column by dictionary encoding an existing column. * @@ -84,6 +83,5 @@ std::unique_ptr decode(dictionary_column_view const& dictionary_column, */ data_type get_indices_type_for_size(size_type keys_size); -} // namespace detail -} // namespace dictionary -} // namespace cudf +} // namespace dictionary::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/detail/merge.hpp b/cpp/include/cudf/dictionary/detail/merge.hpp index c4229690ff5..a1777d412fe 100644 --- a/cpp/include/cudf/dictionary/detail/merge.hpp +++ b/cpp/include/cudf/dictionary/detail/merge.hpp @@ -22,9 +22,8 @@ #include #include -namespace cudf { -namespace dictionary { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace dictionary::detail { /** * @brief Merges two dictionary columns. @@ -47,6 +46,5 @@ std::unique_ptr merge(dictionary_column_view const& lcol, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace dictionary -} // namespace cudf +} // namespace dictionary::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/detail/replace.hpp b/cpp/include/cudf/dictionary/detail/replace.hpp index 81a91d57169..1e1ee182fc5 100644 --- a/cpp/include/cudf/dictionary/detail/replace.hpp +++ b/cpp/include/cudf/dictionary/detail/replace.hpp @@ -23,9 +23,8 @@ #include #include -namespace cudf { -namespace dictionary { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace dictionary::detail { /** * @brief Create a new dictionary column by replacing nulls with values @@ -62,6 +61,5 @@ std::unique_ptr replace_nulls(dictionary_column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace dictionary -} // namespace cudf +} // namespace dictionary::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/detail/search.hpp b/cpp/include/cudf/dictionary/detail/search.hpp index 2563b96b214..921acc258a9 100644 --- a/cpp/include/cudf/dictionary/detail/search.hpp +++ b/cpp/include/cudf/dictionary/detail/search.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace dictionary { namespace detail { @@ -63,4 +64,4 @@ std::unique_ptr get_insert_index(dictionary_column_view const& dictionar } // namespace detail } // namespace dictionary -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/detail/update_keys.hpp b/cpp/include/cudf/dictionary/detail/update_keys.hpp index 9cdda773dbb..9eb812eb8ee 100644 --- a/cpp/include/cudf/dictionary/detail/update_keys.hpp +++ b/cpp/include/cudf/dictionary/detail/update_keys.hpp @@ -24,9 +24,8 @@ #include #include -namespace cudf { -namespace dictionary { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace dictionary::detail { /** * @copydoc cudf::dictionary::add_keys(dictionary_column_view const&,column_view * const&,rmm::device_async_resource_ref) @@ -103,6 +102,5 @@ std::vector> match_dictionaries( std::pair>, std::vector> match_dictionaries( std::vector tables, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace dictionary -} // namespace cudf +} // namespace dictionary::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/dictionary_column_view.hpp b/cpp/include/cudf/dictionary/dictionary_column_view.hpp index 9f2bc90c0b2..dc822fee38b 100644 --- a/cpp/include/cudf/dictionary/dictionary_column_view.hpp +++ b/cpp/include/cudf/dictionary/dictionary_column_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ * @brief Class definition for cudf::dictionary_column_view */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup dictionary_classes * @{ @@ -124,4 +124,4 @@ class dictionary_column_view : private column_view { namespace dictionary { // defined here for doxygen output } -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/dictionary_factories.hpp b/cpp/include/cudf/dictionary/dictionary_factories.hpp index 21f593e1aec..2f663c4af61 100644 --- a/cpp/include/cudf/dictionary/dictionary_factories.hpp +++ b/cpp/include/cudf/dictionary/dictionary_factories.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_factories Factories * @{ @@ -127,4 +127,4 @@ std::unique_ptr make_dictionary_column( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/encode.hpp b/cpp/include/cudf/dictionary/encode.hpp index 768e2be2b0d..9e68c947793 100644 --- a/cpp/include/cudf/dictionary/encode.hpp +++ b/cpp/include/cudf/dictionary/encode.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace dictionary { /** * @addtogroup dictionary_encode @@ -86,4 +86,4 @@ std::unique_ptr decode( /** @} */ // end of group } // namespace dictionary -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/search.hpp b/cpp/include/cudf/dictionary/search.hpp index 1dff6dc1d5d..66275de33e9 100644 --- a/cpp/include/cudf/dictionary/search.hpp +++ b/cpp/include/cudf/dictionary/search.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace dictionary { /** * @addtogroup dictionary_search @@ -50,4 +50,4 @@ std::unique_ptr get_index( /** @} */ // end of group } // namespace dictionary -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/dictionary/update_keys.hpp b/cpp/include/cudf/dictionary/update_keys.hpp index ce7057359a1..c02e91f8d78 100644 --- a/cpp/include/cudf/dictionary/update_keys.hpp +++ b/cpp/include/cudf/dictionary/update_keys.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace dictionary { /** * @addtogroup dictionary_update @@ -169,4 +169,4 @@ std::vector> match_dictionaries( /** @} */ // end of group } // namespace dictionary -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/filling.hpp b/cpp/include/cudf/filling.hpp index 90139e8634a..054f1e859f4 100644 --- a/cpp/include/cudf/filling.hpp +++ b/cpp/include/cudf/filling.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_fill * @{ @@ -244,4 +245,4 @@ std::unique_ptr calendrical_month_sequence( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/fixed_point/fixed_point.hpp b/cpp/include/cudf/fixed_point/fixed_point.hpp index c9cbc603226..ea2f5d4b6ca 100644 --- a/cpp/include/cudf/fixed_point/fixed_point.hpp +++ b/cpp/include/cudf/fixed_point/fixed_point.hpp @@ -30,7 +30,7 @@ #include /// `fixed_point` and supporting types -namespace numeric { +namespace CUDF_EXPORT numeric { /** * @addtogroup fixed_point_classes @@ -799,4 +799,4 @@ using decimal64 = fixed_point; ///< 64-bit decima using decimal128 = fixed_point<__int128_t, Radix::BASE_10>; ///< 128-bit decimal fixed point /** @} */ // end of group -} // namespace numeric +} // namespace CUDF_EXPORT numeric diff --git a/cpp/include/cudf/fixed_point/floating_conversion.hpp b/cpp/include/cudf/fixed_point/floating_conversion.hpp index f12177c6a4b..f0d50edccd1 100644 --- a/cpp/include/cudf/fixed_point/floating_conversion.hpp +++ b/cpp/include/cudf/fixed_point/floating_conversion.hpp @@ -16,6 +16,7 @@ #pragma once +#include #include #include @@ -24,7 +25,7 @@ #include -namespace numeric { +namespace CUDF_EXPORT numeric { /** * @addtogroup floating_conversion @@ -1142,4 +1143,4 @@ CUDF_HOST_DEVICE inline FloatingType convert_integral_to_floating(Rep const& val } // namespace detail /** @} */ // end of group -} // namespace numeric +} // namespace CUDF_EXPORT numeric diff --git a/cpp/include/cudf/fixed_point/temporary.hpp b/cpp/include/cudf/fixed_point/temporary.hpp index 17dba6c2452..2bafe235058 100644 --- a/cpp/include/cudf/fixed_point/temporary.hpp +++ b/cpp/include/cudf/fixed_point/temporary.hpp @@ -24,7 +24,7 @@ #include #include -namespace numeric { +namespace CUDF_EXPORT numeric { namespace detail { template @@ -81,4 +81,4 @@ constexpr auto exp10(int32_t exponent) } } // namespace detail -} // namespace numeric +} // namespace CUDF_EXPORT numeric diff --git a/cpp/include/cudf/groupby.hpp b/cpp/include/cudf/groupby.hpp index 831ef68ed15..f7df9c1aa9b 100644 --- a/cpp/include/cudf/groupby.hpp +++ b/cpp/include/cudf/groupby.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -31,7 +32,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! `groupby` APIs namespace groupby { namespace detail { @@ -420,4 +421,4 @@ class groupby { }; /** @} */ } // namespace groupby -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/hashing.hpp b/cpp/include/cudf/hashing.hpp index 3c2f6dfe0d5..b8be2af6967 100644 --- a/cpp/include/cudf/hashing.hpp +++ b/cpp/include/cudf/hashing.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_hash @@ -187,4 +188,4 @@ std::unique_ptr xxhash_64( } // namespace hashing /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/hashing/detail/hashing.hpp b/cpp/include/cudf/hashing/detail/hashing.hpp index 77266ceb48f..1a459430346 100644 --- a/cpp/include/cudf/hashing/detail/hashing.hpp +++ b/cpp/include/cudf/hashing/detail/hashing.hpp @@ -24,9 +24,8 @@ #include #include -namespace cudf { -namespace hashing { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace hashing::detail { std::unique_ptr murmurhash3_x86_32(table_view const& input, uint32_t seed, @@ -109,9 +108,8 @@ constexpr std::size_t hash_combine(std::size_t lhs, std::size_t rhs) return lhs ^ (rhs + 0x9e37'79b9'7f4a'7c15 + (lhs << 6) + (lhs >> 2)); } -} // namespace detail -} // namespace hashing -} // namespace cudf +} // namespace hashing::detail +} // namespace CUDF_EXPORT cudf // specialization of std::hash for cudf::data_type namespace std { diff --git a/cpp/include/cudf/interop.hpp b/cpp/include/cudf/interop.hpp index 73bc205a095..9a8f87b4a46 100644 --- a/cpp/include/cudf/interop.hpp +++ b/cpp/include/cudf/interop.hpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -53,7 +54,7 @@ struct ArrowArray; struct ArrowArrayStream; -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup interop_dlpack * @{ @@ -648,4 +649,4 @@ unique_column_view_t from_arrow_device_column( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/arrow_io_source.hpp b/cpp/include/cudf/io/arrow_io_source.hpp index d7a48c34e12..ed5c839cbb4 100644 --- a/cpp/include/cudf/io/arrow_io_source.hpp +++ b/cpp/include/cudf/io/arrow_io_source.hpp @@ -18,6 +18,8 @@ #include "datasource.hpp" +#include + #include #include @@ -25,7 +27,8 @@ #include #include -namespace cudf::io { +namespace CUDF_EXPORT cudf { +namespace io { /** * @addtogroup io_datasources * @{ @@ -86,4 +89,5 @@ class arrow_io_source : public datasource { }; /** @} */ // end of group -} // namespace cudf::io +} // namespace io +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/avro.hpp b/cpp/include/cudf/io/avro.hpp index 8bc74eb574c..63f9ea3a624 100644 --- a/cpp/include/cudf/io/avro.hpp +++ b/cpp/include/cudf/io/avro.hpp @@ -28,7 +28,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { /** * @addtogroup io_readers @@ -221,4 +221,4 @@ table_with_metadata read_avro( /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/csv.hpp b/cpp/include/cudf/io/csv.hpp index cc361f0918e..bbb4636a5a3 100644 --- a/cpp/include/cudf/io/csv.hpp +++ b/cpp/include/cudf/io/csv.hpp @@ -31,7 +31,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { /** @@ -1762,4 +1762,4 @@ void write_csv(csv_writer_options const& options, /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/data_sink.hpp b/cpp/include/cudf/io/data_sink.hpp index 69d8a388d45..e1eb9c042c7 100644 --- a/cpp/include/cudf/io/data_sink.hpp +++ b/cpp/include/cudf/io/data_sink.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! IO interfaces namespace io { @@ -209,4 +209,4 @@ class data_sink { /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/datasource.hpp b/cpp/include/cudf/io/datasource.hpp index 28263d466f3..b12fbe39a57 100644 --- a/cpp/include/cudf/io/datasource.hpp +++ b/cpp/include/cudf/io/datasource.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -25,7 +26,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! IO interfaces namespace io { @@ -376,4 +377,4 @@ class datasource { /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/detail/avro.hpp b/cpp/include/cudf/io/detail/avro.hpp index fe9f935d2cc..13f695d6866 100644 --- a/cpp/include/cudf/io/detail/avro.hpp +++ b/cpp/include/cudf/io/detail/avro.hpp @@ -18,14 +18,13 @@ #include #include +#include #include #include -namespace cudf { -namespace io { -namespace detail { -namespace avro { +namespace CUDF_EXPORT cudf { +namespace io::detail::avro { /** * @brief Reads the entire dataset. @@ -42,7 +41,5 @@ table_with_metadata read_avro(std::unique_ptr&& source, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace avro -} // namespace detail -} // namespace io -} // namespace cudf +} // namespace io::detail::avro +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/detail/csv.hpp b/cpp/include/cudf/io/detail/csv.hpp index 2a70fa888f4..d4cad2f70fd 100644 --- a/cpp/include/cudf/io/detail/csv.hpp +++ b/cpp/include/cudf/io/detail/csv.hpp @@ -17,14 +17,13 @@ #pragma once #include +#include #include #include -namespace cudf { -namespace io { -namespace detail { -namespace csv { +namespace CUDF_EXPORT cudf { +namespace io::detail::csv { /** * @brief Reads the entire dataset. @@ -56,7 +55,5 @@ void write_csv(data_sink* sink, csv_writer_options const& options, rmm::cuda_stream_view stream); -} // namespace csv -} // namespace detail -} // namespace io -} // namespace cudf +} // namespace io::detail::csv +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/detail/json.hpp b/cpp/include/cudf/io/detail/json.hpp index 6ff1c12831b..42b10a78ce8 100644 --- a/cpp/include/cudf/io/detail/json.hpp +++ b/cpp/include/cudf/io/detail/json.hpp @@ -18,11 +18,13 @@ #include #include +#include #include #include -namespace cudf::io::json::detail { +namespace CUDF_EXPORT cudf { +namespace io::json::detail { /** * @brief Reads and returns the entire data set. @@ -73,4 +75,5 @@ void normalize_single_quotes(datasource::owning_buffer void normalize_whitespace(datasource::owning_buffer>& indata, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace cudf::io::json::detail +} // namespace io::json::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/detail/orc.hpp b/cpp/include/cudf/io/detail/orc.hpp index 597ddd9cf0a..7538cf7d29c 100644 --- a/cpp/include/cudf/io/detail/orc.hpp +++ b/cpp/include/cudf/io/detail/orc.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -29,12 +30,13 @@ #include #include -namespace cudf::io { +namespace CUDF_EXPORT cudf { +namespace io { // Forward declaration -class orc_reader_options; -class orc_writer_options; -class chunked_orc_writer_options; +class CUDF_EXPORT orc_reader_options; +class CUDF_EXPORT orc_writer_options; +class CUDF_EXPORT chunked_orc_writer_options; namespace orc::detail { @@ -183,4 +185,5 @@ class writer { }; } // namespace orc::detail -} // namespace cudf::io +} // namespace io +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/detail/parquet.hpp b/cpp/include/cudf/io/detail/parquet.hpp index 21c870cb75e..a6945e0b7ab 100644 --- a/cpp/include/cudf/io/detail/parquet.hpp +++ b/cpp/include/cudf/io/detail/parquet.hpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -32,12 +33,13 @@ #include #include -namespace cudf::io { +namespace CUDF_EXPORT cudf { +namespace io { // Forward declaration -class parquet_reader_options; -class parquet_writer_options; -class chunked_parquet_writer_options; +class CUDF_EXPORT parquet_reader_options; +class CUDF_EXPORT parquet_writer_options; +class CUDF_EXPORT chunked_parquet_writer_options; namespace parquet::detail { @@ -257,4 +259,5 @@ class writer { */ parquet_metadata read_parquet_metadata(host_span const> sources); } // namespace parquet::detail -} // namespace cudf::io +} // namespace io +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/detail/tokenize_json.hpp b/cpp/include/cudf/io/detail/tokenize_json.hpp index d08c4e7c65a..715eb855daa 100644 --- a/cpp/include/cudf/io/detail/tokenize_json.hpp +++ b/cpp/include/cudf/io/detail/tokenize_json.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -117,7 +118,7 @@ enum token_t : PdaTokenT { NUM_TOKENS }; -namespace detail { +namespace CUDF_EXPORT detail { /** * @brief Parses the given JSON string and emits a sequence of tokens that demarcate relevant @@ -136,6 +137,6 @@ std::pair, rmm::device_uvector> ge rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail +} // namespace CUDF_EXPORT detail } // namespace cudf::io::json diff --git a/cpp/include/cudf/io/detail/utils.hpp b/cpp/include/cudf/io/detail/utils.hpp index 7bbda21858d..d0da9b410ce 100644 --- a/cpp/include/cudf/io/detail/utils.hpp +++ b/cpp/include/cudf/io/detail/utils.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,14 @@ #pragma once -namespace cudf { -namespace io { -namespace detail { +#include + +namespace CUDF_EXPORT cudf { +namespace io::detail { /** * @brief Whether writer writes in chunks or all at once */ enum class single_write_mode : bool { YES, NO }; -} // namespace detail -} // namespace io -} // namespace cudf + +} // namespace io::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/json.hpp b/cpp/include/cudf/io/json.hpp index d47266fdd12..0cb39d15cd5 100644 --- a/cpp/include/cudf/io/json.hpp +++ b/cpp/include/cudf/io/json.hpp @@ -30,7 +30,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { /** * @addtogroup io_readers @@ -1024,4 +1024,4 @@ void write_json(json_writer_options const& options, /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/orc.hpp b/cpp/include/cudf/io/orc.hpp index 623c1d9fc72..8d484b15872 100644 --- a/cpp/include/cudf/io/orc.hpp +++ b/cpp/include/cudf/io/orc.hpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -31,7 +32,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { /** * @addtogroup io_readers @@ -426,7 +427,7 @@ class chunked_orc_reader { * * This is added just to satisfy cython. */ - chunked_orc_reader() = default; + chunked_orc_reader(); /** * @brief Construct the reader from input/output size limits, output row granularity, along with @@ -1429,7 +1430,12 @@ class orc_chunked_writer { * @brief Default constructor, this should never be used. * This is added just to satisfy cython. */ - orc_chunked_writer() = default; + orc_chunked_writer(); + + /** + * @brief virtual destructor, Added so we don't leak detail types. + */ + ~orc_chunked_writer(); /** * @brief Constructor with chunked writer options @@ -1459,4 +1465,4 @@ class orc_chunked_writer { /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/orc_metadata.hpp b/cpp/include/cudf/io/orc_metadata.hpp index 35196a19349..3c6194bb721 100644 --- a/cpp/include/cudf/io/orc_metadata.hpp +++ b/cpp/include/cudf/io/orc_metadata.hpp @@ -23,12 +23,13 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { /** * @addtogroup io_types @@ -387,4 +388,4 @@ orc_metadata read_orc_metadata(source_info const& src_info, /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/orc_types.hpp b/cpp/include/cudf/io/orc_types.hpp index abd81d76579..f6c03814c9b 100644 --- a/cpp/include/cudf/io/orc_types.hpp +++ b/cpp/include/cudf/io/orc_types.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,12 @@ #pragma once +#include + #include -namespace cudf::io::orc { +namespace CUDF_EXPORT cudf { +namespace io::orc { /** * @addtogroup io_types * @{ @@ -104,4 +107,5 @@ enum ProtofType : uint8_t { }; /** @} */ // end of group -} // namespace cudf::io::orc +} // namespace io::orc +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/parquet.hpp b/cpp/include/cudf/io/parquet.hpp index 4d98cae73a7..12897ac77ef 100644 --- a/cpp/include/cudf/io/parquet.hpp +++ b/cpp/include/cudf/io/parquet.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -32,7 +33,8 @@ #include #include -namespace cudf::io { +namespace CUDF_EXPORT cudf { +namespace io { /** * @addtogroup io_readers * @{ @@ -480,8 +482,9 @@ class chunked_parquet_reader { * @brief Default constructor, this should never be used. * * This is added just to satisfy cython. + * This is added to not leak detail API */ - chunked_parquet_reader() = default; + chunked_parquet_reader(); /** * @brief Constructor for chunked reader. @@ -1380,8 +1383,9 @@ class parquet_chunked_writer { /** * @brief Default constructor, this should never be used. * This is added just to satisfy cython. + * This is added to not leak detail API */ - parquet_chunked_writer() = default; + parquet_chunked_writer(); /** * @brief Constructor with chunked writer options @@ -1391,6 +1395,11 @@ class parquet_chunked_writer { */ parquet_chunked_writer(chunked_parquet_writer_options const& options, rmm::cuda_stream_view stream = cudf::get_default_stream()); + /** + * @brief Default destructor. + * This is added to not leak detail API + */ + ~parquet_chunked_writer(); /** * @brief Writes table to output. @@ -1423,4 +1432,5 @@ class parquet_chunked_writer { /** @} */ // end of group -} // namespace cudf::io +} // namespace io +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/parquet_metadata.hpp b/cpp/include/cudf/io/parquet_metadata.hpp index e0c406c180c..dbb1fd03dca 100644 --- a/cpp/include/cudf/io/parquet_metadata.hpp +++ b/cpp/include/cudf/io/parquet_metadata.hpp @@ -22,13 +22,14 @@ #pragma once #include +#include #include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { /** * @addtogroup io_types @@ -270,4 +271,4 @@ parquet_metadata read_parquet_metadata(source_info const& src_info); /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/byte_range_info.hpp b/cpp/include/cudf/io/text/byte_range_info.hpp index 60ee867f058..7e9256be1d3 100644 --- a/cpp/include/cudf/io/text/byte_range_info.hpp +++ b/cpp/include/cudf/io/text/byte_range_info.hpp @@ -17,11 +17,12 @@ #pragma once #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { namespace text { /** @@ -113,4 +114,4 @@ byte_range_info create_byte_range_info_max(); } // namespace text } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/data_chunk_source.hpp b/cpp/include/cudf/io/text/data_chunk_source.hpp index 13aff4b3b8f..dd1d2331c1f 100644 --- a/cpp/include/cudf/io/text/data_chunk_source.hpp +++ b/cpp/include/cudf/io/text/data_chunk_source.hpp @@ -16,12 +16,13 @@ #pragma once +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { namespace text { @@ -120,4 +121,4 @@ class data_chunk_source { } // namespace text } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/data_chunk_source_factories.hpp b/cpp/include/cudf/io/text/data_chunk_source_factories.hpp index 046994d33cc..42d0540b386 100644 --- a/cpp/include/cudf/io/text/data_chunk_source_factories.hpp +++ b/cpp/include/cudf/io/text/data_chunk_source_factories.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +19,14 @@ #include #include #include +#include #include #include #include -namespace cudf::io::text { +namespace CUDF_EXPORT cudf { +namespace io::text { /** * @brief Creates a data source capable of producing device-buffered views of a datasource. @@ -84,4 +86,5 @@ std::unique_ptr make_source_from_bgzip_file(std::string_view */ std::unique_ptr make_source(cudf::string_scalar& data); -} // namespace cudf::io::text +} // namespace io::text +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/detail/bgzip_utils.hpp b/cpp/include/cudf/io/text/detail/bgzip_utils.hpp index 515bcf16de2..11eb4518210 100644 --- a/cpp/include/cudf/io/text/detail/bgzip_utils.hpp +++ b/cpp/include/cudf/io/text/detail/bgzip_utils.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -26,7 +27,8 @@ #include #include -namespace cudf::io::text::detail::bgzip { +namespace CUDF_EXPORT cudf { +namespace io::text::detail::bgzip { struct header { int block_size; @@ -109,4 +111,5 @@ void write_compressed_block(std::ostream& output_stream, host_span pre_size_subfields = {}, host_span post_size_subfields = {}); -} // namespace cudf::io::text::detail::bgzip +} // namespace io::text::detail::bgzip +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/detail/multistate.hpp b/cpp/include/cudf/io/text/detail/multistate.hpp index e4e47d8f010..32187b43d34 100644 --- a/cpp/include/cudf/io/text/detail/multistate.hpp +++ b/cpp/include/cudf/io/text/detail/multistate.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,11 @@ #pragma once +#include + #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { namespace text { namespace detail { @@ -125,4 +127,4 @@ constexpr multistate operator+(multistate const& lhs, multistate const& rhs) } // namespace detail } // namespace text } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/detail/tile_state.hpp b/cpp/include/cudf/io/text/detail/tile_state.hpp index aa9185b4983..3980a7fac02 100644 --- a/cpp/include/cudf/io/text/detail/tile_state.hpp +++ b/cpp/include/cudf/io/text/detail/tile_state.hpp @@ -16,12 +16,14 @@ #pragma once +#include + #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { namespace text { namespace detail { @@ -147,4 +149,4 @@ struct scan_tile_state_callback { } // namespace detail } // namespace text } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/detail/trie.hpp b/cpp/include/cudf/io/text/detail/trie.hpp index 28862d97ede..eee3fefc79f 100644 --- a/cpp/include/cudf/io/text/detail/trie.hpp +++ b/cpp/include/cudf/io/text/detail/trie.hpp @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -30,7 +31,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { namespace text { namespace detail { @@ -248,4 +249,4 @@ struct trie { } // namespace detail } // namespace text } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/text/multibyte_split.hpp b/cpp/include/cudf/io/text/multibyte_split.hpp index e29ab78ae46..8624a386d0f 100644 --- a/cpp/include/cudf/io/text/multibyte_split.hpp +++ b/cpp/include/cudf/io/text/multibyte_split.hpp @@ -27,7 +27,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace io { namespace text { /** @@ -120,4 +120,4 @@ std::unique_ptr multibyte_split( } // namespace text } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/io/types.hpp b/cpp/include/cudf/io/types.hpp index 431a5e7be83..3df737413fa 100644 --- a/cpp/include/cudf/io/types.hpp +++ b/cpp/include/cudf/io/types.hpp @@ -33,16 +33,16 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! IO interfaces namespace io { class data_sink; class datasource; } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf //! cuDF interfaces -namespace cudf { +namespace CUDF_EXPORT cudf { //! IO interfaces namespace io { /** @@ -1089,4 +1089,4 @@ class reader_column_schema { /** @} */ // end of group } // namespace io -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/join.hpp b/cpp/include/cudf/join.hpp index ba485bd6372..f4139721475 100644 --- a/cpp/include/cudf/join.hpp +++ b/cpp/include/cudf/join.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -32,7 +33,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief Enum to indicate whether the distinct join table has nested columns or not @@ -43,13 +44,24 @@ enum class has_nested : bool { YES, NO }; // forward declaration namespace hashing::detail { + +/** + * @brief Forward declaration for our Murmur Hash 3 implementation + */ template class MurmurHash3_x86_32; } // namespace hashing::detail namespace detail { + +/** + * @brief Forward declaration for our hash join + */ template class hash_join; +/** + * @brief Forward declaration for our distinct hash join + */ template class distinct_hash_join; } // namespace detail @@ -1179,4 +1191,4 @@ std::size_t conditional_left_anti_join_size( ast::expression const& binary_predicate, rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/json/json.hpp b/cpp/include/cudf/json/json.hpp index 385e8e54bdc..48d5dcf7727 100644 --- a/cpp/include/cudf/json/json.hpp +++ b/cpp/include/cudf/json/json.hpp @@ -17,13 +17,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup json_object @@ -173,4 +174,4 @@ std::unique_ptr get_json_object( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of doxygen group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/labeling/label_bins.hpp b/cpp/include/cudf/labeling/label_bins.hpp index 9091e31a9ea..7eb25134ca5 100644 --- a/cpp/include/cudf/labeling/label_bins.hpp +++ b/cpp/include/cudf/labeling/label_bins.hpp @@ -24,7 +24,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup label_bins @@ -79,4 +79,4 @@ std::unique_ptr label_bins( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/combine.hpp b/cpp/include/cudf/lists/combine.hpp index 853562acfff..5a310e6651f 100644 --- a/cpp/include/cudf/lists/combine.hpp +++ b/cpp/include/cudf/lists/combine.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Lists column APIs namespace lists { @@ -102,4 +103,4 @@ std::unique_ptr concatenate_list_elements( /** @} */ // end of group } // namespace lists -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/contains.hpp b/cpp/include/cudf/lists/contains.hpp index 060882555aa..cd0a216488c 100644 --- a/cpp/include/cudf/lists/contains.hpp +++ b/cpp/include/cudf/lists/contains.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace lists { /** * @addtogroup lists_contains @@ -182,4 +183,4 @@ std::unique_ptr index_of( /** @} */ // end of group } // namespace lists -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/count_elements.hpp b/cpp/include/cudf/lists/count_elements.hpp index 2b9f5aa5607..a6f2ea6e68a 100644 --- a/cpp/include/cudf/lists/count_elements.hpp +++ b/cpp/include/cudf/lists/count_elements.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace lists { /** * @addtogroup lists_elements @@ -58,4 +59,4 @@ std::unique_ptr count_elements( /** @} */ // end of lists_elements group } // namespace lists -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/combine.hpp b/cpp/include/cudf/lists/detail/combine.hpp index bd4c01bbb4b..07309da2814 100644 --- a/cpp/include/cudf/lists/detail/combine.hpp +++ b/cpp/include/cudf/lists/detail/combine.hpp @@ -21,9 +21,8 @@ #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::lists::concatenate_rows * @@ -44,6 +43,5 @@ std::unique_ptr concatenate_list_elements(column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/concatenate.hpp b/cpp/include/cudf/lists/detail/concatenate.hpp index d67958ef260..edfa3355dcd 100644 --- a/cpp/include/cudf/lists/detail/concatenate.hpp +++ b/cpp/include/cudf/lists/detail/concatenate.hpp @@ -24,9 +24,8 @@ #include #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @brief Returns a single column by concatenating the given vector of @@ -48,6 +47,5 @@ std::unique_ptr concatenate(host_span columns, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/contains.hpp b/cpp/include/cudf/lists/detail/contains.hpp index 638cc7afb81..1ca3651b55a 100644 --- a/cpp/include/cudf/lists/detail/contains.hpp +++ b/cpp/include/cudf/lists/detail/contains.hpp @@ -20,9 +20,8 @@ #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::lists::index_of(cudf::lists_column_view const&, @@ -71,6 +70,5 @@ std::unique_ptr contains(cudf::lists_column_view const& lists, cudf::column_view const& search_keys, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/copying.hpp b/cpp/include/cudf/lists/detail/copying.hpp index 18a70bba5e9..76154ae7064 100644 --- a/cpp/include/cudf/lists/detail/copying.hpp +++ b/cpp/include/cudf/lists/detail/copying.hpp @@ -20,9 +20,8 @@ #include #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @brief Returns a new lists column created from a subset of the @@ -49,6 +48,5 @@ std::unique_ptr copy_slice(lists_column_view const& lists, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/dremel.hpp b/cpp/include/cudf/lists/detail/dremel.hpp index 53448424827..96ee30dd261 100644 --- a/cpp/include/cudf/lists/detail/dremel.hpp +++ b/cpp/include/cudf/lists/detail/dremel.hpp @@ -17,10 +17,12 @@ #pragma once #include +#include #include -namespace cudf::detail { +namespace CUDF_EXPORT cudf { +namespace detail { /** * @brief Device view for `dremel_data`. @@ -213,4 +215,5 @@ dremel_data get_comparator_data(column_view input, std::vector nullability, bool output_as_byte_array, rmm::cuda_stream_view stream); -} // namespace cudf::detail +} // namespace detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/extract.hpp b/cpp/include/cudf/lists/detail/extract.hpp index 6f983d44bc9..e14b93ff912 100644 --- a/cpp/include/cudf/lists/detail/extract.hpp +++ b/cpp/include/cudf/lists/detail/extract.hpp @@ -20,9 +20,8 @@ #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::lists::extract_list_element(lists_column_view, size_type, @@ -44,6 +43,5 @@ std::unique_ptr extract_list_element(lists_column_view lists_column, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/gather.cuh b/cpp/include/cudf/lists/detail/gather.cuh index 0cd77556f33..294282d7caa 100644 --- a/cpp/include/cudf/lists/detail/gather.cuh +++ b/cpp/include/cudf/lists/detail/gather.cuh @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -276,6 +277,7 @@ gather_data make_gather_data(cudf::lists_column_view const& source_column, * * @returns column with elements gathered based on `gather_data` */ +CUDF_EXPORT std::unique_ptr gather_list_nested(lists_column_view const& list, gather_data& gd, rmm::cuda_stream_view stream, @@ -293,6 +295,7 @@ std::unique_ptr gather_list_nested(lists_column_view const& list, * * @returns column with elements gathered based on `gather_data` */ +CUDF_EXPORT std::unique_ptr gather_list_leaf(column_view const& column, gather_data const& gd, rmm::cuda_stream_view stream, diff --git a/cpp/include/cudf/lists/detail/interleave_columns.hpp b/cpp/include/cudf/lists/detail/interleave_columns.hpp index 3aff93840a9..ae8caa853f3 100644 --- a/cpp/include/cudf/lists/detail/interleave_columns.hpp +++ b/cpp/include/cudf/lists/detail/interleave_columns.hpp @@ -21,9 +21,8 @@ #include #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @brief Returns a single column by interleaving rows of the given table of list elements. @@ -50,6 +49,5 @@ std::unique_ptr interleave_columns(table_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/lists_column_factories.hpp b/cpp/include/cudf/lists/detail/lists_column_factories.hpp index 192aee8d811..18d66f15b1e 100644 --- a/cpp/include/cudf/lists/detail/lists_column_factories.hpp +++ b/cpp/include/cudf/lists/detail/lists_column_factories.hpp @@ -23,9 +23,8 @@ #include #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @brief Internal API to construct a lists column from a `list_scalar`, for public @@ -67,6 +66,5 @@ std::unique_ptr make_all_nulls_lists_column(size_type size, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/reverse.hpp b/cpp/include/cudf/lists/detail/reverse.hpp index d099a0708b9..d10d7784e6c 100644 --- a/cpp/include/cudf/lists/detail/reverse.hpp +++ b/cpp/include/cudf/lists/detail/reverse.hpp @@ -16,10 +16,12 @@ #pragma once #include +#include #include -namespace cudf::lists::detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::lists::reverse @@ -29,4 +31,5 @@ std::unique_ptr reverse(lists_column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace cudf::lists::detail +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/scatter.cuh b/cpp/include/cudf/lists/detail/scatter.cuh index c550ad5b94f..be76e456900 100644 --- a/cpp/include/cudf/lists/detail/scatter.cuh +++ b/cpp/include/cudf/lists/detail/scatter.cuh @@ -239,11 +239,11 @@ std::unique_ptr scatter(scalar const& slr, auto const num_rows = target.size(); if (num_rows == 0) { return cudf::empty_like(target); } - auto lv = static_cast(&slr); - bool slr_valid = slr.is_valid(stream); - rmm::device_buffer null_mask = - slr_valid ? cudf::detail::create_null_mask(1, mask_state::UNALLOCATED, stream, mr) - : cudf::detail::create_null_mask(1, mask_state::ALL_NULL, stream, mr); + auto lv = static_cast(&slr); + bool slr_valid = slr.is_valid(stream); + rmm::device_buffer null_mask = slr_valid + ? cudf::create_null_mask(1, mask_state::UNALLOCATED, stream, mr) + : cudf::create_null_mask(1, mask_state::ALL_NULL, stream, mr); auto offset_column = make_numeric_column(data_type{type_to_id()}, 2, mask_state::UNALLOCATED, stream, mr); thrust::sequence(rmm::exec_policy_nosync(stream), diff --git a/cpp/include/cudf/lists/detail/set_operations.hpp b/cpp/include/cudf/lists/detail/set_operations.hpp index 8746b1ba62a..abfcef72d47 100644 --- a/cpp/include/cudf/lists/detail/set_operations.hpp +++ b/cpp/include/cudf/lists/detail/set_operations.hpp @@ -24,7 +24,8 @@ #include #include -namespace cudf::lists::detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::list::have_overlap @@ -75,4 +76,5 @@ std::unique_ptr difference_distinct(lists_column_view const& lhs, rmm::device_async_resource_ref mr); /** @} */ // end of group -} // namespace cudf::lists::detail +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/sorting.hpp b/cpp/include/cudf/lists/detail/sorting.hpp index e428ea84ce6..8cbfbbae769 100644 --- a/cpp/include/cudf/lists/detail/sorting.hpp +++ b/cpp/include/cudf/lists/detail/sorting.hpp @@ -20,9 +20,8 @@ #include #include -namespace cudf { -namespace lists { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::lists::sort_lists @@ -46,6 +45,5 @@ std::unique_ptr stable_sort_lists(lists_column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace lists -} // namespace cudf +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/detail/stream_compaction.hpp b/cpp/include/cudf/lists/detail/stream_compaction.hpp index f5e5b29bc8f..c11e07cd190 100644 --- a/cpp/include/cudf/lists/detail/stream_compaction.hpp +++ b/cpp/include/cudf/lists/detail/stream_compaction.hpp @@ -17,11 +17,13 @@ #include #include +#include #include #include -namespace cudf::lists::detail { +namespace CUDF_EXPORT cudf { +namespace lists::detail { /** * @copydoc cudf::lists::apply_boolean_mask(lists_column_view const&, lists_column_view const&, @@ -45,4 +47,5 @@ std::unique_ptr distinct(lists_column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace cudf::lists::detail +} // namespace lists::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/explode.hpp b/cpp/include/cudf/lists/explode.hpp index 303f182ce8c..a3375887815 100644 --- a/cpp/include/cudf/lists/explode.hpp +++ b/cpp/include/cudf/lists/explode.hpp @@ -25,7 +25,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_reshape * @{ @@ -215,4 +215,4 @@ std::unique_ptr
explode_outer_position( /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/extract.hpp b/cpp/include/cudf/lists/extract.hpp index 096d276fcfb..29a02308c66 100644 --- a/cpp/include/cudf/lists/extract.hpp +++ b/cpp/include/cudf/lists/extract.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace lists { /** * @addtogroup lists_extract @@ -113,4 +114,4 @@ std::unique_ptr extract_list_element( /** @} */ // end of group } // namespace lists -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/filling.hpp b/cpp/include/cudf/lists/filling.hpp index 1d840c76bf8..a1f3c37ad9e 100644 --- a/cpp/include/cudf/lists/filling.hpp +++ b/cpp/include/cudf/lists/filling.hpp @@ -25,7 +25,8 @@ #include -namespace cudf::lists { +namespace CUDF_EXPORT cudf { +namespace lists { /** * @addtogroup lists_filling * @{ @@ -113,4 +114,5 @@ std::unique_ptr sequences( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf::lists +} // namespace lists +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/gather.hpp b/cpp/include/cudf/lists/gather.hpp index a0d79c05098..6359e0488c9 100644 --- a/cpp/include/cudf/lists/gather.hpp +++ b/cpp/include/cudf/lists/gather.hpp @@ -19,11 +19,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace lists { /** * @addtogroup lists_gather @@ -80,4 +81,4 @@ std::unique_ptr segmented_gather( /** @} */ // end of group } // namespace lists -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/list_device_view.cuh b/cpp/include/cudf/lists/list_device_view.cuh index 170a20bd7f5..29b81135d64 100644 --- a/cpp/include/cudf/lists/list_device_view.cuh +++ b/cpp/include/cudf/lists/list_device_view.cuh @@ -25,7 +25,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief A non-owning, immutable view of device data that represents @@ -377,4 +377,4 @@ CUDF_HOST_DEVICE auto inline make_list_size_iterator(detail::lists_column_device return detail::make_counting_transform_iterator(0, list_size_functor{c}); } -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/list_view.hpp b/cpp/include/cudf/lists/list_view.hpp index a3f36a9330f..59ad9c9bcee 100644 --- a/cpp/include/cudf/lists/list_view.hpp +++ b/cpp/include/cudf/lists/list_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,12 +16,14 @@ */ #pragma once +#include + /** * @file list_view.hpp * @brief Class definition for cudf::list_view. */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief A non-owning, immutable view of device data that represents @@ -29,4 +31,4 @@ namespace cudf { */ class list_view {}; -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/lists_column_device_view.cuh b/cpp/include/cudf/lists/lists_column_device_view.cuh index 4d12ee1cab4..b3ec18a7913 100644 --- a/cpp/include/cudf/lists/lists_column_device_view.cuh +++ b/cpp/include/cudf/lists/lists_column_device_view.cuh @@ -21,9 +21,7 @@ #include -namespace cudf { - -namespace detail { +namespace cudf::detail { /** * @brief Given a column_device_view, an instance of this class provides a @@ -116,6 +114,4 @@ class lists_column_device_view : private column_device_view { } }; -} // namespace detail - -} // namespace cudf +} // namespace cudf::detail diff --git a/cpp/include/cudf/lists/lists_column_view.hpp b/cpp/include/cudf/lists/lists_column_view.hpp index 3397cb0ca1d..b117a871b64 100644 --- a/cpp/include/cudf/lists/lists_column_view.hpp +++ b/cpp/include/cudf/lists/lists_column_view.hpp @@ -17,6 +17,7 @@ #include #include +#include #include @@ -25,7 +26,7 @@ * @brief Class definition for cudf::lists_column_view */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup lists_classes @@ -137,4 +138,4 @@ class lists_column_view : private column_view { } }; /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/reverse.hpp b/cpp/include/cudf/lists/reverse.hpp index 34c40c5a3ba..f00e6e5117a 100644 --- a/cpp/include/cudf/lists/reverse.hpp +++ b/cpp/include/cudf/lists/reverse.hpp @@ -17,13 +17,15 @@ #include #include +#include #include #include #include -namespace cudf::lists { +namespace CUDF_EXPORT cudf { +namespace lists { /** * @addtogroup lists_modify * @{ @@ -54,4 +56,5 @@ std::unique_ptr reverse( /** @} */ // end of doxygen group -} // namespace cudf::lists +} // namespace lists +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/set_operations.hpp b/cpp/include/cudf/lists/set_operations.hpp index 871e66b2d83..55b1591fc44 100644 --- a/cpp/include/cudf/lists/set_operations.hpp +++ b/cpp/include/cudf/lists/set_operations.hpp @@ -23,7 +23,8 @@ #include #include -namespace cudf::lists { +namespace CUDF_EXPORT cudf { +namespace lists { /** * @addtogroup set_operations * @{ @@ -177,4 +178,5 @@ std::unique_ptr difference_distinct( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf::lists +} // namespace lists +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/sorting.hpp b/cpp/include/cudf/lists/sorting.hpp index 78cea191bc5..39c71f6e9fa 100644 --- a/cpp/include/cudf/lists/sorting.hpp +++ b/cpp/include/cudf/lists/sorting.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace lists { /** * @addtogroup lists_sort @@ -74,4 +75,4 @@ std::unique_ptr stable_sort_lists( /** @} */ // end of group } // namespace lists -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/lists/stream_compaction.hpp b/cpp/include/cudf/lists/stream_compaction.hpp index 31f09d37560..28ef13cd870 100644 --- a/cpp/include/cudf/lists/stream_compaction.hpp +++ b/cpp/include/cudf/lists/stream_compaction.hpp @@ -17,12 +17,14 @@ #include #include +#include #include #include #include -namespace cudf::lists { +namespace CUDF_EXPORT cudf { +namespace lists { /** * @addtogroup lists_filtering @@ -94,4 +96,5 @@ std::unique_ptr distinct( /** @} */ // end of group -} // namespace cudf::lists +} // namespace lists +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/merge.hpp b/cpp/include/cudf/merge.hpp index 301e56c19b8..83c6ff04500 100644 --- a/cpp/include/cudf/merge.hpp +++ b/cpp/include/cudf/merge.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -24,7 +25,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_merge * @{ @@ -110,4 +111,4 @@ std::unique_ptr merge( rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/null_mask.hpp b/cpp/include/cudf/null_mask.hpp index 9e375df140b..70ca6aa29c5 100644 --- a/cpp/include/cudf/null_mask.hpp +++ b/cpp/include/cudf/null_mask.hpp @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -25,7 +26,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_nullmask @@ -208,4 +209,4 @@ cudf::size_type null_count(bitmask_type const* bitmask, size_type stop, rmm::cuda_stream_view stream = cudf::get_default_stream()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/partitioning.hpp b/cpp/include/cudf/partitioning.hpp index 9ed56297908..6a53553063e 100644 --- a/cpp/include/cudf/partitioning.hpp +++ b/cpp/include/cudf/partitioning.hpp @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -26,7 +27,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup reorder_partition * @{ @@ -254,4 +255,4 @@ std::pair, std::vector> round_robi rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/quantiles.hpp b/cpp/include/cudf/quantiles.hpp index a1c98ee4e9d..47eac2e72f9 100644 --- a/cpp/include/cudf/quantiles.hpp +++ b/cpp/include/cudf/quantiles.hpp @@ -20,11 +20,12 @@ #include #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_quantiles * @{ @@ -129,4 +130,4 @@ std::unique_ptr percentile_approx( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/reduction.hpp b/cpp/include/cudf/reduction.hpp index 52f39925a2d..e42ff5df15d 100644 --- a/cpp/include/cudf/reduction.hpp +++ b/cpp/include/cudf/reduction.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup aggregation_reduction * @{ @@ -232,4 +233,4 @@ std::pair, std::unique_ptr> minmax( /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/reduction/detail/histogram.hpp b/cpp/include/cudf/reduction/detail/histogram.hpp index f23c5a14e33..5b17df47ec7 100644 --- a/cpp/include/cudf/reduction/detail/histogram.hpp +++ b/cpp/include/cudf/reduction/detail/histogram.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -27,7 +28,8 @@ #include #include -namespace cudf::reduction::detail { +namespace CUDF_EXPORT cudf { +namespace reduction::detail { /** * @brief Compute the frequency for each distinct row in the input table. @@ -55,4 +57,5 @@ compute_row_frequencies(table_view const& input, */ [[nodiscard]] std::unique_ptr make_empty_histogram_like(column_view const& values); -} // namespace cudf::reduction::detail +} // namespace reduction::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/reduction/detail/reduction.hpp b/cpp/include/cudf/reduction/detail/reduction.hpp index 78f90a1e2c9..a15783fb460 100644 --- a/cpp/include/cudf/reduction/detail/reduction.hpp +++ b/cpp/include/cudf/reduction/detail/reduction.hpp @@ -19,12 +19,14 @@ #include #include #include +#include #include #include -namespace cudf::reduction::detail { +namespace CUDF_EXPORT cudf { +namespace reduction::detail { /** * @copydoc cudf::reduce(column_view const&, reduce_aggregation const&, data_type, @@ -39,4 +41,5 @@ std::unique_ptr reduce(column_view const& col, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace cudf::reduction::detail +} // namespace reduction::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/reduction/detail/reduction_functions.hpp b/cpp/include/cudf/reduction/detail/reduction_functions.hpp index 31d465619b9..fa21dc87e64 100644 --- a/cpp/include/cudf/reduction/detail/reduction_functions.hpp +++ b/cpp/include/cudf/reduction/detail/reduction_functions.hpp @@ -20,15 +20,15 @@ #include #include #include +#include #include #include #include -namespace cudf { -namespace reduction { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace reduction::detail { /** * @brief Computes sum of elements in input column * @@ -352,6 +352,5 @@ std::unique_ptr merge_sets(lists_column_view const& col, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace reduction -} // namespace cudf +} // namespace reduction::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/reduction/detail/segmented_reduction_functions.hpp b/cpp/include/cudf/reduction/detail/segmented_reduction_functions.hpp index 770ac6580ef..1c55b387454 100644 --- a/cpp/include/cudf/reduction/detail/segmented_reduction_functions.hpp +++ b/cpp/include/cudf/reduction/detail/segmented_reduction_functions.hpp @@ -20,15 +20,15 @@ #include #include #include +#include #include #include #include -namespace cudf { -namespace reduction { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace reduction::detail { /** * @brief Compute sum of each segment in the input column @@ -354,6 +354,5 @@ std::unique_ptr segmented_nunique(column_view const& col, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace reduction -} // namespace cudf +} // namespace reduction::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/replace.hpp b/cpp/include/cudf/replace.hpp index ae20e72f023..43aabd6c6c6 100644 --- a/cpp/include/cudf/replace.hpp +++ b/cpp/include/cudf/replace.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_replace * @{ @@ -308,4 +309,4 @@ void normalize_nans_and_zeros(mutable_column_view& in_out, rmm::cuda_stream_view stream = cudf::get_default_stream()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/reshape.hpp b/cpp/include/cudf/reshape.hpp index 26316be7fd4..a0a7fe694bb 100644 --- a/cpp/include/cudf/reshape.hpp +++ b/cpp/include/cudf/reshape.hpp @@ -19,13 +19,14 @@ #include #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_reshape * @{ @@ -105,4 +106,4 @@ std::unique_ptr byte_cast( /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/rolling.hpp b/cpp/include/cudf/rolling.hpp index d55322dd3e8..5a8c454d8fc 100644 --- a/cpp/include/cudf/rolling.hpp +++ b/cpp/include/cudf/rolling.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup aggregation_rolling * @{ @@ -615,4 +616,4 @@ std::unique_ptr rolling_window( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/rolling/range_window_bounds.hpp b/cpp/include/cudf/rolling/range_window_bounds.hpp index a9ee12cea27..21be609cbe6 100644 --- a/cpp/include/cudf/rolling/range_window_bounds.hpp +++ b/cpp/include/cudf/rolling/range_window_bounds.hpp @@ -17,8 +17,9 @@ #pragma once #include +#include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup aggregation_rolling * @{ @@ -119,4 +120,4 @@ struct range_window_bounds { }; /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/round.hpp b/cpp/include/cudf/round.hpp index 85935f8f05c..ef144b328f7 100644 --- a/cpp/include/cudf/round.hpp +++ b/cpp/include/cudf/round.hpp @@ -17,11 +17,12 @@ #pragma once #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_unaryops @@ -78,4 +79,4 @@ std::unique_ptr round( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/scalar/scalar.hpp b/cpp/include/cudf/scalar/scalar.hpp index d78907b473a..2c5cc60fc70 100644 --- a/cpp/include/cudf/scalar/scalar.hpp +++ b/cpp/include/cudf/scalar/scalar.hpp @@ -32,7 +32,7 @@ * @brief Class definitions for cudf::scalar */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup scalar_classes * @{ @@ -894,4 +894,4 @@ class struct_scalar : public scalar { }; /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/scalar/scalar_device_view.cuh b/cpp/include/cudf/scalar/scalar_device_view.cuh index 846da0bbe10..cbd3e9175ac 100644 --- a/cpp/include/cudf/scalar/scalar_device_view.cuh +++ b/cpp/include/cudf/scalar/scalar_device_view.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ * @brief Scalar device view class definitions */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** * @brief A non-owning view of scalar from device that is trivially copyable @@ -440,4 +440,4 @@ auto get_scalar_device_view(fixed_point_scalar& s) return fixed_point_scalar_device_view(s.type(), s.data(), s.validity_data()); } -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/scalar/scalar_factories.hpp b/cpp/include/cudf/scalar/scalar_factories.hpp index 7dd4674a2fd..a422c3bfbe9 100644 --- a/cpp/include/cudf/scalar/scalar_factories.hpp +++ b/cpp/include/cudf/scalar/scalar_factories.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup scalar_factories * @{ @@ -227,4 +227,4 @@ std::unique_ptr make_struct_scalar( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/search.hpp b/cpp/include/cudf/search.hpp index 2e50ba2d687..ad170ec726b 100644 --- a/cpp/include/cudf/search.hpp +++ b/cpp/include/cudf/search.hpp @@ -20,13 +20,14 @@ #include #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_search * @{ @@ -168,4 +169,4 @@ std::unique_ptr contains( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/sorting.hpp b/cpp/include/cudf/sorting.hpp index 79a00cbce42..4cb265a2a0b 100644 --- a/cpp/include/cudf/sorting.hpp +++ b/cpp/include/cudf/sorting.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -26,7 +27,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup column_sort @@ -346,4 +347,4 @@ std::unique_ptr
stable_segmented_sort_by_key( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/stream_compaction.hpp b/cpp/include/cudf/stream_compaction.hpp index 181af11adb8..cfe404ff6ab 100644 --- a/cpp/include/cudf/stream_compaction.hpp +++ b/cpp/include/cudf/stream_compaction.hpp @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -25,7 +26,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup reorder_compact * @{ @@ -401,4 +402,4 @@ cudf::size_type distinct_count(table_view const& input, null_equality nulls_equal = null_equality::EQUAL); /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/attributes.hpp b/cpp/include/cudf/strings/attributes.hpp index 26f906b3102..323290e907c 100644 --- a/cpp/include/cudf/strings/attributes.hpp +++ b/cpp/include/cudf/strings/attributes.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Strings column APIs namespace strings { @@ -91,4 +91,4 @@ std::unique_ptr code_points( /** @} */ // end of strings_apis group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/capitalize.hpp b/cpp/include/cudf/strings/capitalize.hpp index f8cbdc09748..420b46a05b2 100644 --- a/cpp/include/cudf/strings/capitalize.hpp +++ b/cpp/include/cudf/strings/capitalize.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_case @@ -129,4 +129,4 @@ std::unique_ptr is_title( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/case.hpp b/cpp/include/cudf/strings/case.hpp index 5403fa8db7e..45f56a681a6 100644 --- a/cpp/include/cudf/strings/case.hpp +++ b/cpp/include/cudf/strings/case.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_case @@ -89,4 +89,4 @@ std::unique_ptr swapcase( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/char_types/char_cases.hpp b/cpp/include/cudf/strings/char_types/char_cases.hpp index 9eb63f71a2f..e5e619b8a50 100644 --- a/cpp/include/cudf/strings/char_types/char_cases.hpp +++ b/cpp/include/cudf/strings/char_types/char_cases.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,9 @@ */ #pragma once -namespace cudf { +#include + +namespace CUDF_EXPORT cudf { namespace strings { namespace detail { /** @@ -31,4 +33,4 @@ void generate_special_mapping_hash_table(); } // namespace detail } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/char_types/char_types.hpp b/cpp/include/cudf/strings/char_types/char_types.hpp index da7a238a400..a6af681eec6 100644 --- a/cpp/include/cudf/strings/char_types/char_types.hpp +++ b/cpp/include/cudf/strings/char_types/char_types.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_types @@ -119,4 +119,4 @@ std::unique_ptr filter_characters_of_type( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/char_types/char_types_enum.hpp b/cpp/include/cudf/strings/char_types/char_types_enum.hpp index 8d248cb2ebf..a9142fdbda6 100644 --- a/cpp/include/cudf/strings/char_types/char_types_enum.hpp +++ b/cpp/include/cudf/strings/char_types/char_types_enum.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2022, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_types @@ -80,4 +80,4 @@ constexpr string_character_types& operator|=(string_character_types& lhs, /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/combine.hpp b/cpp/include/cudf/strings/combine.hpp index 8cc735831b8..2cade813d78 100644 --- a/cpp/include/cudf/strings/combine.hpp +++ b/cpp/include/cudf/strings/combine.hpp @@ -24,7 +24,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_combine @@ -334,4 +334,4 @@ std::unique_ptr join_list_elements( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/contains.hpp b/cpp/include/cudf/strings/contains.hpp index f79a0f19e9c..59c9b2dea40 100644 --- a/cpp/include/cudf/strings/contains.hpp +++ b/cpp/include/cudf/strings/contains.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { struct regex_program; @@ -209,4 +209,4 @@ std::unique_ptr like( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_booleans.hpp b/cpp/include/cudf/strings/convert/convert_booleans.hpp index 9c922361914..d79dd4a80ea 100644 --- a/cpp/include/cudf/strings/convert/convert_booleans.hpp +++ b/cpp/include/cudf/strings/convert/convert_booleans.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -72,4 +72,4 @@ std::unique_ptr from_booleans( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_datetime.hpp b/cpp/include/cudf/strings/convert/convert_datetime.hpp index b89384d718b..c3b3c91ab35 100644 --- a/cpp/include/cudf/strings/convert/convert_datetime.hpp +++ b/cpp/include/cudf/strings/convert/convert_datetime.hpp @@ -24,7 +24,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -255,4 +255,4 @@ std::unique_ptr from_timestamps( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_durations.hpp b/cpp/include/cudf/strings/convert/convert_durations.hpp index 2db719a4f1f..8b69968a609 100644 --- a/cpp/include/cudf/strings/convert/convert_durations.hpp +++ b/cpp/include/cudf/strings/convert/convert_durations.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -133,4 +133,4 @@ std::unique_ptr from_durations( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_fixed_point.hpp b/cpp/include/cudf/strings/convert/convert_fixed_point.hpp index 9911bea1948..a9c5aea6343 100644 --- a/cpp/include/cudf/strings/convert/convert_fixed_point.hpp +++ b/cpp/include/cudf/strings/convert/convert_fixed_point.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -130,4 +130,4 @@ std::unique_ptr is_fixed_point( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_floats.hpp b/cpp/include/cudf/strings/convert/convert_floats.hpp index feb5b528686..64e9bb776f4 100644 --- a/cpp/include/cudf/strings/convert/convert_floats.hpp +++ b/cpp/include/cudf/strings/convert/convert_floats.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -103,4 +103,4 @@ std::unique_ptr is_float( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_integers.hpp b/cpp/include/cudf/strings/convert/convert_integers.hpp index 82696811fdc..62eb1fdda4d 100644 --- a/cpp/include/cudf/strings/convert/convert_integers.hpp +++ b/cpp/include/cudf/strings/convert/convert_integers.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -235,4 +235,4 @@ std::unique_ptr integers_to_hex( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_ipv4.hpp b/cpp/include/cudf/strings/convert/convert_ipv4.hpp index 64f8a412ce9..04a04907c12 100644 --- a/cpp/include/cudf/strings/convert/convert_ipv4.hpp +++ b/cpp/include/cudf/strings/convert/convert_ipv4.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -113,4 +113,4 @@ std::unique_ptr is_ipv4( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_lists.hpp b/cpp/include/cudf/strings/convert/convert_lists.hpp index a88bbe99492..85b67907228 100644 --- a/cpp/include/cudf/strings/convert/convert_lists.hpp +++ b/cpp/include/cudf/strings/convert/convert_lists.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -68,4 +68,4 @@ std::unique_ptr format_list_column( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/convert/convert_urls.hpp b/cpp/include/cudf/strings/convert/convert_urls.hpp index 30988d2ff0a..a42a5cd2407 100644 --- a/cpp/include/cudf/strings/convert/convert_urls.hpp +++ b/cpp/include/cudf/strings/convert/convert_urls.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_convert @@ -75,4 +75,4 @@ std::unique_ptr url_decode( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/char_tables.hpp b/cpp/include/cudf/strings/detail/char_tables.hpp index 0901076c835..5d6aff28826 100644 --- a/cpp/include/cudf/strings/detail/char_tables.hpp +++ b/cpp/include/cudf/strings/detail/char_tables.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,11 +15,12 @@ */ #pragma once +#include + #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { // Type for the character flags table. using character_flags_table_type = std::uint8_t; @@ -101,6 +102,5 @@ constexpr uint16_t get_special_case_hash_index(uint32_t code_point) return static_cast(code_point % special_case_prime); } -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/combine.hpp b/cpp/include/cudf/strings/detail/combine.hpp index 25214055787..962191eae6a 100644 --- a/cpp/include/cudf/strings/detail/combine.hpp +++ b/cpp/include/cudf/strings/detail/combine.hpp @@ -21,13 +21,13 @@ #include #include #include +#include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @copydoc concatenate(table_view const&,string_scalar const&,string_scalar @@ -68,6 +68,5 @@ std::unique_ptr join_list_elements(lists_column_view const& lists_string rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/concatenate.hpp b/cpp/include/cudf/strings/detail/concatenate.hpp index b5dd5b9516a..e038102ab1f 100644 --- a/cpp/include/cudf/strings/detail/concatenate.hpp +++ b/cpp/include/cudf/strings/detail/concatenate.hpp @@ -19,14 +19,14 @@ #include #include #include +#include #include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Returns a single column by vertically concatenating the given vector of * strings columns. @@ -47,6 +47,5 @@ std::unique_ptr concatenate(host_span columns, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/converters.hpp b/cpp/include/cudf/strings/detail/converters.hpp index d212239264b..73a97499293 100644 --- a/cpp/include/cudf/strings/detail/converters.hpp +++ b/cpp/include/cudf/strings/detail/converters.hpp @@ -18,13 +18,13 @@ #include #include #include +#include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @copydoc to_integers(strings_column_view const&,data_type,rmm::device_async_resource_ref) @@ -153,6 +153,5 @@ std::unique_ptr from_fixed_point(column_view const& integers, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/copy_range.hpp b/cpp/include/cudf/strings/detail/copy_range.hpp index 192c5b833c6..71dcf9edaf3 100644 --- a/cpp/include/cudf/strings/detail/copy_range.hpp +++ b/cpp/include/cudf/strings/detail/copy_range.hpp @@ -21,9 +21,8 @@ #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Internal API to copy a range of string elements out-of-place from @@ -56,6 +55,5 @@ std::unique_ptr copy_range(strings_column_view const& source, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/copying.hpp b/cpp/include/cudf/strings/detail/copying.hpp index 240cac17188..b4d3362359d 100644 --- a/cpp/include/cudf/strings/detail/copying.hpp +++ b/cpp/include/cudf/strings/detail/copying.hpp @@ -19,13 +19,13 @@ #include #include #include +#include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Returns a new strings column created from a subset of * of the strings column. @@ -83,6 +83,5 @@ std::unique_ptr shift(strings_column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/fill.hpp b/cpp/include/cudf/strings/detail/fill.hpp index c5d005fbf75..1a3ff2c9166 100644 --- a/cpp/include/cudf/strings/detail/fill.hpp +++ b/cpp/include/cudf/strings/detail/fill.hpp @@ -19,13 +19,13 @@ #include #include #include +#include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Returns a strings column replacing a range of rows * with the specified string. @@ -50,6 +50,5 @@ std::unique_ptr fill(strings_column_view const& strings, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/merge.hpp b/cpp/include/cudf/strings/detail/merge.hpp index 35fd9c0593d..0aa5c0c2899 100644 --- a/cpp/include/cudf/strings/detail/merge.hpp +++ b/cpp/include/cudf/strings/detail/merge.hpp @@ -18,10 +18,12 @@ #include #include #include +#include #include -namespace cudf ::strings ::detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Merges two strings columns * @@ -38,4 +40,5 @@ std::unique_ptr merge(strings_column_view const& lhs, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace cudf::strings::detail +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/replace.hpp b/cpp/include/cudf/strings/detail/replace.hpp index 481d00f1bce..ab092555c48 100644 --- a/cpp/include/cudf/strings/detail/replace.hpp +++ b/cpp/include/cudf/strings/detail/replace.hpp @@ -19,13 +19,13 @@ #include #include #include +#include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @copydoc cudf::strings::replace(strings_column_view const&, string_scalar const&, @@ -100,6 +100,5 @@ std::unique_ptr find_and_replace_all( rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/scan.hpp b/cpp/include/cudf/strings/detail/scan.hpp index f32afa64a72..4991fd633d5 100644 --- a/cpp/include/cudf/strings/detail/scan.hpp +++ b/cpp/include/cudf/strings/detail/scan.hpp @@ -21,9 +21,8 @@ #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Scan function for strings * @@ -43,6 +42,5 @@ std::unique_ptr scan_inclusive(column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/utf8.hpp b/cpp/include/cudf/strings/detail/utf8.hpp index 5587597cb51..85349a421b1 100644 --- a/cpp/include/cudf/strings/detail/utf8.hpp +++ b/cpp/include/cudf/strings/detail/utf8.hpp @@ -22,9 +22,8 @@ * @brief Standalone string functions. */ -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief This will return true if passed a continuation byte of a UTF-8 character. @@ -206,6 +205,5 @@ constexpr cudf::char_utf8 codepoint_to_utf8(uint32_t unchr) return utf8; } -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/detail/utilities.hpp b/cpp/include/cudf/strings/detail/utilities.hpp index 4467a9d0023..1fa505501d8 100644 --- a/cpp/include/cudf/strings/detail/utilities.hpp +++ b/cpp/include/cudf/strings/detail/utilities.hpp @@ -18,15 +18,15 @@ #include #include #include +#include #include #include #include #include -namespace cudf { -namespace strings { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace strings::detail { /** * @brief Create an offsets column to be a child of a strings column @@ -96,6 +96,5 @@ int64_t get_offset_value(cudf::column_view const& offsets, size_type index, rmm::cuda_stream_view stream); -} // namespace detail -} // namespace strings -} // namespace cudf +} // namespace strings::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/extract.hpp b/cpp/include/cudf/strings/extract.hpp index 4138e1e59d5..2ef7308b802 100644 --- a/cpp/include/cudf/strings/extract.hpp +++ b/cpp/include/cudf/strings/extract.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { struct regex_program; @@ -104,4 +104,4 @@ std::unique_ptr extract_all_record( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/find.hpp b/cpp/include/cudf/strings/find.hpp index c116dbc2fe1..efba6da9454 100644 --- a/cpp/include/cudf/strings/find.hpp +++ b/cpp/include/cudf/strings/find.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_find @@ -262,4 +262,4 @@ std::unique_ptr ends_with( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/find_multiple.hpp b/cpp/include/cudf/strings/find_multiple.hpp index c2e82aa6f1a..dea08308ff0 100644 --- a/cpp/include/cudf/strings/find_multiple.hpp +++ b/cpp/include/cudf/strings/find_multiple.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_find @@ -63,4 +63,4 @@ std::unique_ptr find_multiple( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/findall.hpp b/cpp/include/cudf/strings/findall.hpp index abc1d28ee4c..26249b6842c 100644 --- a/cpp/include/cudf/strings/findall.hpp +++ b/cpp/include/cudf/strings/findall.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { struct regex_program; @@ -70,4 +70,4 @@ std::unique_ptr findall( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/padding.hpp b/cpp/include/cudf/strings/padding.hpp index f1382d6ea29..11e35f717ae 100644 --- a/cpp/include/cudf/strings/padding.hpp +++ b/cpp/include/cudf/strings/padding.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_modify @@ -96,4 +96,4 @@ std::unique_ptr zfill( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/regex/flags.hpp b/cpp/include/cudf/strings/regex/flags.hpp index 44ca68439e7..f7108129dee 100644 --- a/cpp/include/cudf/strings/regex/flags.hpp +++ b/cpp/include/cudf/strings/regex/flags.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,9 +15,11 @@ */ #pragma once +#include + #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** @@ -86,4 +88,4 @@ enum class capture_groups : uint32_t { /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/regex/regex_program.hpp b/cpp/include/cudf/strings/regex/regex_program.hpp index 95c86ae0f8a..9da859d9c87 100644 --- a/cpp/include/cudf/strings/regex/regex_program.hpp +++ b/cpp/include/cudf/strings/regex/regex_program.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** @@ -135,4 +135,4 @@ struct regex_program { /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/repeat_strings.hpp b/cpp/include/cudf/strings/repeat_strings.hpp index cbf1edc8331..e160f75390b 100644 --- a/cpp/include/cudf/strings/repeat_strings.hpp +++ b/cpp/include/cudf/strings/repeat_strings.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_copy @@ -133,4 +133,4 @@ std::unique_ptr repeat_strings( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/replace.hpp b/cpp/include/cudf/strings/replace.hpp index a714f762a19..5b4ffb98f99 100644 --- a/cpp/include/cudf/strings/replace.hpp +++ b/cpp/include/cudf/strings/replace.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_replace @@ -174,4 +174,4 @@ std::unique_ptr replace_multiple( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/replace_re.hpp b/cpp/include/cudf/strings/replace_re.hpp index f61f9585144..6b487072cb2 100644 --- a/cpp/include/cudf/strings/replace_re.hpp +++ b/cpp/include/cudf/strings/replace_re.hpp @@ -25,7 +25,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { struct regex_program; @@ -112,4 +112,4 @@ std::unique_ptr replace_with_backrefs( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/reverse.hpp b/cpp/include/cudf/strings/reverse.hpp index 86656693c8b..fbda2e5fe7c 100644 --- a/cpp/include/cudf/strings/reverse.hpp +++ b/cpp/include/cudf/strings/reverse.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_modify @@ -53,4 +53,4 @@ std::unique_ptr reverse( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/side_type.hpp b/cpp/include/cudf/strings/side_type.hpp index 5905e087deb..5b794261ad9 100644 --- a/cpp/include/cudf/strings/side_type.hpp +++ b/cpp/include/cudf/strings/side_type.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,9 @@ */ #pragma once -namespace cudf { +#include + +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_modify @@ -34,4 +36,4 @@ enum class side_type { /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/slice.hpp b/cpp/include/cudf/strings/slice.hpp index e2be6abd344..b0da6976207 100644 --- a/cpp/include/cudf/strings/slice.hpp +++ b/cpp/include/cudf/strings/slice.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_slice @@ -114,4 +114,4 @@ std::unique_ptr slice_strings( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/split/partition.hpp b/cpp/include/cudf/strings/split/partition.hpp index 0a837034ba1..8f5ae752417 100644 --- a/cpp/include/cudf/strings/split/partition.hpp +++ b/cpp/include/cudf/strings/split/partition.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_split @@ -101,4 +101,4 @@ std::unique_ptr
rpartition( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/split/split.hpp b/cpp/include/cudf/strings/split/split.hpp index d5c44406ca7..ca371d7abd1 100644 --- a/cpp/include/cudf/strings/split/split.hpp +++ b/cpp/include/cudf/strings/split/split.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_split @@ -245,4 +245,4 @@ std::unique_ptr rsplit_record( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/split/split_re.hpp b/cpp/include/cudf/strings/split/split_re.hpp index 81595fa7ed4..96ef0b6e830 100644 --- a/cpp/include/cudf/strings/split/split_re.hpp +++ b/cpp/include/cudf/strings/split/split_re.hpp @@ -22,7 +22,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { struct regex_program; @@ -263,4 +263,4 @@ std::unique_ptr rsplit_record_re( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/string_view.cuh b/cpp/include/cudf/strings/string_view.cuh index 93cc787683b..abb26d7ccb4 100644 --- a/cpp/include/cudf/strings/string_view.cuh +++ b/cpp/include/cudf/strings/string_view.cuh @@ -18,6 +18,7 @@ #include #include +#include #ifndef __CUDA_ARCH__ #include @@ -35,7 +36,7 @@ // This file should only include device code logic. // Host-only or host/device code should be defined in the string_view.hpp header file. -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { namespace detail { @@ -448,4 +449,4 @@ __device__ inline size_type string_view::character_offset(size_type bytepos) con return strings::detail::characters_in_string(data(), bytepos); } -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/string_view.hpp b/cpp/include/cudf/strings/string_view.hpp index afc7e027a4b..504c31057ae 100644 --- a/cpp/include/cudf/strings/string_view.hpp +++ b/cpp/include/cudf/strings/string_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,7 +26,7 @@ * @brief Class definition for cudf::string_view. */ -namespace cudf { +namespace CUDF_EXPORT cudf { using char_utf8 = uint32_t; ///< UTF-8 characters are 1-4 bytes @@ -406,4 +406,4 @@ class string_view { size_type count) const; }; -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/strings_column_view.hpp b/cpp/include/cudf/strings/strings_column_view.hpp index 1e9e73cef4c..4a2512eb7c5 100644 --- a/cpp/include/cudf/strings/strings_column_view.hpp +++ b/cpp/include/cudf/strings/strings_column_view.hpp @@ -17,13 +17,14 @@ #include #include +#include /** * @file * @brief Class definition for cudf::strings_column_view */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup strings_classes @@ -126,4 +127,4 @@ namespace strings { } // namespace strings /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/strip.hpp b/cpp/include/cudf/strings/strip.hpp index 6fb9bbc45e6..4cfba59c72c 100644 --- a/cpp/include/cudf/strings/strip.hpp +++ b/cpp/include/cudf/strings/strip.hpp @@ -23,7 +23,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_modify @@ -71,4 +71,4 @@ std::unique_ptr strip( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/translate.hpp b/cpp/include/cudf/strings/translate.hpp index 9cd6b7d5974..531753f4a8c 100644 --- a/cpp/include/cudf/strings/translate.hpp +++ b/cpp/include/cudf/strings/translate.hpp @@ -25,7 +25,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_modify @@ -109,4 +109,4 @@ std::unique_ptr filter_characters( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/strings/wrap.hpp b/cpp/include/cudf/strings/wrap.hpp index c05c33fbac8..465a9d15d00 100644 --- a/cpp/include/cudf/strings/wrap.hpp +++ b/cpp/include/cudf/strings/wrap.hpp @@ -21,7 +21,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace strings { /** * @addtogroup strings_modify @@ -72,4 +72,4 @@ std::unique_ptr wrap( /** @} */ // end of doxygen group } // namespace strings -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/structs/detail/concatenate.hpp b/cpp/include/cudf/structs/detail/concatenate.hpp index 5dc3169c0c4..16be868af52 100644 --- a/cpp/include/cudf/structs/detail/concatenate.hpp +++ b/cpp/include/cudf/structs/detail/concatenate.hpp @@ -18,13 +18,13 @@ #include #include #include +#include #include #include -namespace cudf { -namespace structs { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace structs::detail { /** * @brief Returns a single column by concatenating the given vector of structs columns. @@ -54,6 +54,5 @@ std::unique_ptr concatenate(host_span columns, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace structs -} // namespace cudf +} // namespace structs::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/structs/detail/scan.hpp b/cpp/include/cudf/structs/detail/scan.hpp index c97a8452ecd..6121f63d42f 100644 --- a/cpp/include/cudf/structs/detail/scan.hpp +++ b/cpp/include/cudf/structs/detail/scan.hpp @@ -17,13 +17,13 @@ #include #include +#include #include #include -namespace cudf { -namespace structs { -namespace detail { +namespace CUDF_EXPORT cudf { +namespace structs::detail { /** * @brief Scan function for struct column type * @@ -41,6 +41,5 @@ std::unique_ptr scan_inclusive(column_view const& input, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr); -} // namespace detail -} // namespace structs -} // namespace cudf +} // namespace structs::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/structs/struct_view.hpp b/cpp/include/cudf/structs/struct_view.hpp index 75483709867..65fd3f78d1a 100644 --- a/cpp/include/cudf/structs/struct_view.hpp +++ b/cpp/include/cudf/structs/struct_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ * @brief Class definition for cudf::struct_view. */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief A non-owning, immutable view of device data that represents @@ -29,4 +29,4 @@ namespace cudf { */ class struct_view {}; -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/structs/structs_column_device_view.cuh b/cpp/include/cudf/structs/structs_column_device_view.cuh index 7580582631f..cf71ba87a20 100644 --- a/cpp/include/cudf/structs/structs_column_device_view.cuh +++ b/cpp/include/cudf/structs/structs_column_device_view.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { @@ -84,4 +84,4 @@ class structs_column_device_view : private column_device_view { } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/structs/structs_column_view.hpp b/cpp/include/cudf/structs/structs_column_view.hpp index 4a50488ef00..19798f51656 100644 --- a/cpp/include/cudf/structs/structs_column_view.hpp +++ b/cpp/include/cudf/structs/structs_column_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,7 +26,7 @@ * @brief Class definition for cudf::structs_column_view. */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup structs_classes @@ -98,4 +98,4 @@ class structs_column_view : public column_view { int index, rmm::cuda_stream_view stream = cudf::get_default_stream()) const; }; // class structs_column_view; /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/table/experimental/row_operators.cuh b/cpp/include/cudf/table/experimental/row_operators.cuh index c181ac7d402..f05e5f4ca5c 100644 --- a/cpp/include/cudf/table/experimental/row_operators.cuh +++ b/cpp/include/cudf/table/experimental/row_operators.cuh @@ -54,7 +54,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace experimental { @@ -2026,4 +2026,4 @@ class row_hasher { } // namespace row } // namespace experimental -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/table/row_operators.cuh b/cpp/include/cudf/table/row_operators.cuh index 0e57d24f4b3..e3b65d77b4a 100644 --- a/cpp/include/cudf/table/row_operators.cuh +++ b/cpp/include/cudf/table/row_operators.cuh @@ -30,7 +30,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief Result type of the `element_relational_comparator` function object. @@ -635,4 +635,4 @@ class row_hasher { uint32_t _seed{DEFAULT_HASH_SEED}; }; -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/table/table.hpp b/cpp/include/cudf/table/table.hpp index c4f14af53fb..be2af7ac653 100644 --- a/cpp/include/cudf/table/table.hpp +++ b/cpp/include/cudf/table/table.hpp @@ -31,7 +31,7 @@ * @brief Class definition for cudf::table */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief A set of cudf::column's of the same size. @@ -194,4 +194,4 @@ class table { size_type _num_rows{}; }; -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/table/table_device_view.cuh b/cpp/include/cudf/table/table_device_view.cuh index 511013b585d..16d532ea2b8 100644 --- a/cpp/include/cudf/table/table_device_view.cuh +++ b/cpp/include/cudf/table/table_device_view.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2022, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ * @brief Table device view class definitions */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { /** @@ -271,4 +271,4 @@ auto contiguous_copy_column_device_views(HostTableView source_view, rmm::cuda_st return std::make_tuple(std::move(descendant_storage), d_columns); } -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/tdigest/tdigest_column_view.hpp b/cpp/include/cudf/tdigest/tdigest_column_view.hpp index b2eb341df86..2f19efa5630 100644 --- a/cpp/include/cudf/tdigest/tdigest_column_view.hpp +++ b/cpp/include/cudf/tdigest/tdigest_column_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { //! Tdigest interfaces namespace tdigest { /** @@ -132,4 +132,4 @@ class tdigest_column_view : private column_view { /** @} */ // end of group } // namespace tdigest -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/timezone.hpp b/cpp/include/cudf/timezone.hpp index 7f65128526e..8329c64e24f 100644 --- a/cpp/include/cudf/timezone.hpp +++ b/cpp/include/cudf/timezone.hpp @@ -15,6 +15,8 @@ */ #pragma once +#include + #include #include @@ -22,7 +24,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { class table; // Cycle in which the time offsets repeat in Gregorian calendar @@ -52,4 +54,4 @@ std::unique_ptr
make_timezone_transition_table( std::string_view timezone_name, rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/transform.hpp b/cpp/include/cudf/transform.hpp index 7bb9fb7a42e..adc5bdb2af8 100644 --- a/cpp/include/cudf/transform.hpp +++ b/cpp/include/cudf/transform.hpp @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_transform * @{ @@ -248,4 +249,4 @@ std::unique_ptr segmented_row_bit_count( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/transpose.hpp b/cpp/include/cudf/transpose.hpp index c01a04afe87..f4433c46a06 100644 --- a/cpp/include/cudf/transpose.hpp +++ b/cpp/include/cudf/transpose.hpp @@ -17,11 +17,12 @@ #include #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup reshape_transpose * @{ @@ -48,4 +49,4 @@ std::pair, table_view> transpose( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/types.hpp b/cpp/include/cudf/types.hpp index baf07fa3db6..409b8c825bb 100644 --- a/cpp/include/cudf/types.hpp +++ b/cpp/include/cudf/types.hpp @@ -36,6 +36,8 @@ #define CUDF_KERNEL static #endif +#include + #include #include #include @@ -54,7 +56,7 @@ class device_buffer; } // namespace rmm -namespace cudf { +namespace CUDF_EXPORT cudf { // Forward declaration class column; class column_view; @@ -344,4 +346,4 @@ inline bool operator!=(data_type const& lhs, data_type const& rhs) { return !(lh std::size_t size_of(data_type t); /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/unary.hpp b/cpp/include/cudf/unary.hpp index 1609c72f175..55f4c1f5a23 100644 --- a/cpp/include/cudf/unary.hpp +++ b/cpp/include/cudf/unary.hpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -27,7 +28,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup transformation_unaryops * @{ @@ -259,4 +260,4 @@ std::unique_ptr is_not_nan( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/bit.hpp b/cpp/include/cudf/utilities/bit.hpp index 9bdc372419f..736796e610a 100644 --- a/cpp/include/cudf/utilities/bit.hpp +++ b/cpp/include/cudf/utilities/bit.hpp @@ -27,7 +27,7 @@ * @brief Utilities for bit and bitmask operations. */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { // @cond // Work around a bug in NVRTC that fails to compile assert() in constexpr @@ -217,4 +217,4 @@ __device__ inline void clear_bit(bitmask_type* bitmask, size_type bit_index) } #endif /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/default_stream.hpp b/cpp/include/cudf/utilities/default_stream.hpp index aacab996e8a..97a42243250 100644 --- a/cpp/include/cudf/utilities/default_stream.hpp +++ b/cpp/include/cudf/utilities/default_stream.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,12 @@ #pragma once #include +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup default_stream * @{ @@ -43,4 +44,4 @@ rmm::cuda_stream_view const get_default_stream(); bool is_ptds_enabled(); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/error.hpp b/cpp/include/cudf/utilities/error.hpp index f019f516b84..f847ce0f66a 100644 --- a/cpp/include/cudf/utilities/error.hpp +++ b/cpp/include/cudf/utilities/error.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -25,7 +26,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup utility_error * @{ @@ -140,7 +141,7 @@ struct data_type_error : public std::invalid_argument, public stacktrace_recorde }; /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf #define STRINGIFY_DETAIL(x) #x ///< Stringify a macro argument #define CUDF_STRINGIFY(x) STRINGIFY_DETAIL(x) ///< Stringify a macro argument @@ -229,7 +230,7 @@ struct data_type_error : public std::invalid_argument, public stacktrace_recorde /// @endcond -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { // @cond inline void throw_cuda_error(cudaError_t error, char const* file, unsigned int line) @@ -251,7 +252,7 @@ inline void throw_cuda_error(cudaError_t error, char const* file, unsigned int l } // @endcond } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf /** * @brief Error checking macro for CUDA runtime API functions. diff --git a/cpp/include/cudf/utilities/pinned_memory.hpp b/cpp/include/cudf/utilities/pinned_memory.hpp index fa7e1b35327..623a033698f 100644 --- a/cpp/include/cudf/utilities/pinned_memory.hpp +++ b/cpp/include/cudf/utilities/pinned_memory.hpp @@ -16,11 +16,13 @@ #pragma once +#include + #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief Set the rmm resource to be used for pinned memory allocations. @@ -87,4 +89,4 @@ void set_allocate_host_as_pinned_threshold(size_t threshold); */ size_t get_allocate_host_as_pinned_threshold(); -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/prefetch.hpp b/cpp/include/cudf/utilities/prefetch.hpp index 88c634a7cc7..49fca73a2c8 100644 --- a/cpp/include/cudf/utilities/prefetch.hpp +++ b/cpp/include/cudf/utilities/prefetch.hpp @@ -24,7 +24,8 @@ #include #include -namespace cudf::experimental::prefetch { +namespace CUDF_EXPORT cudf { +namespace experimental::prefetch { namespace detail { @@ -152,4 +153,5 @@ void disable_prefetching(std::string_view key); */ void prefetch_debugging(bool enable); -} // namespace cudf::experimental::prefetch +} // namespace experimental::prefetch +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/span.hpp b/cpp/include/cudf/utilities/span.hpp index c5054c733a7..0daebc0dd8d 100644 --- a/cpp/include/cudf/utilities/span.hpp +++ b/cpp/include/cudf/utilities/span.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -32,7 +33,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup utility_span * @{ @@ -539,4 +540,4 @@ template using device_2dspan = base_2dspan; } // namespace detail -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/traits.cuh b/cpp/include/cudf/utilities/traits.cuh index 43587ffa583..5e52e9a9cd9 100644 --- a/cpp/include/cudf/utilities/traits.cuh +++ b/cpp/include/cudf/utilities/traits.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup utility_types @@ -64,4 +64,4 @@ constexpr inline bool has_atomic_support(data_type type) /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/traits.hpp b/cpp/include/cudf/utilities/traits.hpp index d191e44228a..3f37ae02151 100644 --- a/cpp/include/cudf/utilities/traits.hpp +++ b/cpp/include/cudf/utilities/traits.hpp @@ -24,7 +24,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup utility_types @@ -622,4 +622,4 @@ struct is_convertible, cudf::detail::timestam /** @} */ -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/type_checks.hpp b/cpp/include/cudf/utilities/type_checks.hpp index fd3b0581c11..4fcbca09d17 100644 --- a/cpp/include/cudf/utilities/type_checks.hpp +++ b/cpp/include/cudf/utilities/type_checks.hpp @@ -20,7 +20,7 @@ #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @brief Compare the types of two `column_view`s @@ -147,4 +147,4 @@ inline bool all_have_same_types(ForwardIt first, ForwardIt last) }); } -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/utilities/type_dispatcher.hpp b/cpp/include/cudf/utilities/type_dispatcher.hpp index 1aad197b1e3..15b5f921c1b 100644 --- a/cpp/include/cudf/utilities/type_dispatcher.hpp +++ b/cpp/include/cudf/utilities/type_dispatcher.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,7 +31,7 @@ * @brief Defines the mapping between `cudf::type_id` runtime type information * and concrete C++ types. */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup utility_dispatcher * @{ @@ -626,4 +626,4 @@ CUDF_HOST_DEVICE __forceinline__ constexpr decltype(auto) double_type_dispatcher std::string type_to_name(data_type type); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/wrappers/dictionary.hpp b/cpp/include/cudf/wrappers/dictionary.hpp index 95f4ac00a53..3b1958e7d4f 100644 --- a/cpp/include/cudf/wrappers/dictionary.hpp +++ b/cpp/include/cudf/wrappers/dictionary.hpp @@ -27,7 +27,7 @@ * @brief Concrete type definition for dictionary columns. */ -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup dictionary_classes * @{ @@ -217,4 +217,4 @@ CUDF_HOST_DEVICE inline bool operator>(dictionary_wrapper const& lhs, using dictionary32 = dictionary_wrapper; ///< 32-bit integer indexed dictionary wrapper /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/wrappers/durations.hpp b/cpp/include/cudf/wrappers/durations.hpp index 840dba4f4ba..8c321cba34a 100644 --- a/cpp/include/cudf/wrappers/durations.hpp +++ b/cpp/include/cudf/wrappers/durations.hpp @@ -16,9 +16,11 @@ #pragma once +#include + #include -namespace cudf { +namespace CUDF_EXPORT cudf { /** * @addtogroup timestamp_classes Timestamp @@ -65,4 +67,4 @@ static_assert(sizeof(duration_us) == sizeof(typename duration_us::rep)); static_assert(sizeof(duration_ns) == sizeof(typename duration_ns::rep)); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf/wrappers/timestamps.hpp b/cpp/include/cudf/wrappers/timestamps.hpp index 5194a3e8f96..1f5d54c6119 100644 --- a/cpp/include/cudf/wrappers/timestamps.hpp +++ b/cpp/include/cudf/wrappers/timestamps.hpp @@ -16,6 +16,7 @@ #pragma once +#include #include /** @@ -23,7 +24,7 @@ * @brief Concrete type definitions for int32_t and int64_t timestamps in * varying resolutions as durations since the UNIX epoch. */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace detail { // TODO: Use chrono::utc_clock when available in libcu++? template @@ -82,4 +83,4 @@ static_assert(sizeof(timestamp_us) == sizeof(typename timestamp_us::rep)); static_assert(sizeof(timestamp_ns) == sizeof(typename timestamp_ns::rep)); /** @} */ // end of group -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/base_fixture.hpp b/cpp/include/cudf_test/base_fixture.hpp index 0e35ff64af4..04bd51e9aa3 100644 --- a/cpp/include/cudf_test/base_fixture.hpp +++ b/cpp/include/cudf_test/base_fixture.hpp @@ -19,13 +19,14 @@ #include #include +#include #include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { /** @@ -99,4 +100,4 @@ class TempDirTestEnvironment : public ::testing::Environment { }; } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/column_utilities.hpp b/cpp/include/cudf_test/column_utilities.hpp index c83599a8072..944c6195afb 100644 --- a/cpp/include/cudf_test/column_utilities.hpp +++ b/cpp/include/cudf_test/column_utilities.hpp @@ -24,11 +24,13 @@ #include #include #include +#include #include #include -namespace cudf::test { +namespace CUDF_EXPORT cudf { +namespace test { /** * @brief Verbosity level of output from column and table comparison functions. @@ -194,7 +196,7 @@ std::pair, std::vector> to_host(column_view * `column_view`'s data, and second is the column's bitmask. */ template ()>* = nullptr> -std::pair, std::vector> to_host(column_view c); +CUDF_EXPORT std::pair, std::vector> to_host(column_view c); /** * @brief Copies the data and bitmask of a `column_view` of strings @@ -207,7 +209,8 @@ std::pair, std::vector> to_host(column_view * and second is the column's bitmask. */ template <> -std::pair, std::vector> to_host(column_view c); +CUDF_EXPORT std::pair, std::vector> to_host( + column_view c); //! @endcond /** @@ -233,7 +236,8 @@ struct large_strings_enabler { void disable(); }; -} // namespace cudf::test +} // namespace test +} // namespace CUDF_EXPORT cudf // Macros for showing line of failure. #define CUDF_TEST_EXPECT_COLUMN_PROPERTIES_EQUAL(lhs, rhs) \ diff --git a/cpp/include/cudf_test/column_wrapper.hpp b/cpp/include/cudf_test/column_wrapper.hpp index 2abd6f0abac..4e504ec1d30 100644 --- a/cpp/include/cudf_test/column_wrapper.hpp +++ b/cpp/include/cudf_test/column_wrapper.hpp @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -33,6 +32,7 @@ #include #include #include +#include #include #include @@ -51,7 +51,7 @@ #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { namespace detail { /** @@ -1755,7 +1755,7 @@ class lists_column_wrapper : public detail::column_wrapper { normalize_column(lists_column_view(col).child(), lists_column_view(expected_hierarchy).child()), col.null_count(), - cudf::detail::copy_bitmask( + cudf::copy_bitmask( col, cudf::test::get_default_stream(), rmm::mr::get_current_device_resource()), cudf::test::get_default_stream()); } @@ -1970,4 +1970,4 @@ class structs_column_wrapper : public detail::column_wrapper { }; } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/debug_utilities.hpp b/cpp/include/cudf_test/debug_utilities.hpp index a0881490b82..049b4579316 100644 --- a/cpp/include/cudf_test/debug_utilities.hpp +++ b/cpp/include/cudf_test/debug_utilities.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,10 @@ #include #include +#include -namespace cudf::test { +namespace CUDF_EXPORT cudf { +namespace test { /** * @brief Formats a column view as a string @@ -44,4 +46,5 @@ std::vector to_strings(cudf::column_view const& col); */ void print(cudf::column_view const& col, std::ostream& os = std::cout); -} // namespace cudf::test +} // namespace test +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/default_stream.hpp b/cpp/include/cudf_test/default_stream.hpp index 1da97d71f44..4f63add3071 100644 --- a/cpp/include/cudf_test/default_stream.hpp +++ b/cpp/include/cudf_test/default_stream.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,11 @@ #pragma once +#include + #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { /** @@ -38,4 +40,4 @@ namespace test { rmm::cuda_stream_view const get_default_stream(); } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/file_utilities.hpp b/cpp/include/cudf_test/file_utilities.hpp index defc6f95823..37347e563cd 100644 --- a/cpp/include/cudf_test/file_utilities.hpp +++ b/cpp/include/cudf_test/file_utilities.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include @@ -29,7 +30,7 @@ * @brief RAII class for creating a temporary directory. * */ -class temp_directory { +class CUDF_EXPORT temp_directory { std::string _path; public: diff --git a/cpp/include/cudf_test/io_metadata_utilities.hpp b/cpp/include/cudf_test/io_metadata_utilities.hpp index 6fd1a52239c..c18d427d905 100644 --- a/cpp/include/cudf_test/io_metadata_utilities.hpp +++ b/cpp/include/cudf_test/io_metadata_utilities.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,8 +16,10 @@ #pragma once #include +#include -namespace cudf::test { +namespace CUDF_EXPORT cudf { +namespace test { void expect_metadata_equal(cudf::io::table_input_metadata in_meta, cudf::io::table_metadata out_meta); @@ -28,4 +30,5 @@ void expect_metadata_equal(cudf::io::table_input_metadata in_meta, */ void expect_metadata_equal(cudf::io::table_metadata lhs_meta, cudf::io::table_metadata rhs_meta); -} // namespace cudf::test +} // namespace test +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/iterator_utilities.hpp b/cpp/include/cudf_test/iterator_utilities.hpp index 10f6e77d889..8db0275d2f4 100644 --- a/cpp/include/cudf_test/iterator_utilities.hpp +++ b/cpp/include/cudf_test/iterator_utilities.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,14 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { namespace iterators { /** @@ -136,4 +137,4 @@ template } // namespace iterators } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/print_utilities.cuh b/cpp/include/cudf_test/print_utilities.cuh index ae6c8cef029..828188e65c3 100644 --- a/cpp/include/cudf_test/print_utilities.cuh +++ b/cpp/include/cudf_test/print_utilities.cuh @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -25,7 +26,8 @@ #include -namespace cudf::test::print { +namespace CUDF_EXPORT cudf { +namespace test::print { constexpr int32_t hex_tag = 0; @@ -137,4 +139,5 @@ void print_array(std::size_t count, rmm::cuda_stream_view stream, Ts... args) } } -} // namespace cudf::test::print +} // namespace test::print +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/random.hpp b/cpp/include/cudf_test/random.hpp index f4d539ecffe..fe1fb0a14bf 100644 --- a/cpp/include/cudf_test/random.hpp +++ b/cpp/include/cudf_test/random.hpp @@ -16,11 +16,12 @@ #pragma once +#include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { template @@ -170,4 +171,4 @@ class UniformRandomGenerator { }; } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/table_utilities.hpp b/cpp/include/cudf_test/table_utilities.hpp index 79229df4cd9..5e60419d679 100644 --- a/cpp/include/cudf_test/table_utilities.hpp +++ b/cpp/include/cudf_test/table_utilities.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2022, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,10 @@ #include #include +#include -namespace cudf::test::detail { +namespace CUDF_EXPORT cudf { +namespace test::detail { /** * @brief Verifies the property equality of two tables. * @@ -57,7 +59,8 @@ void expect_tables_equal(cudf::table_view lhs, cudf::table_view rhs); */ void expect_tables_equivalent(cudf::table_view lhs, cudf::table_view rhs); -} // namespace cudf::test::detail +} // namespace test::detail +} // namespace CUDF_EXPORT cudf // Macros for showing line of failure. #define CUDF_TEST_EXPECT_TABLE_PROPERTIES_EQUAL(lhs, rhs) \ diff --git a/cpp/include/cudf_test/tdigest_utilities.cuh b/cpp/include/cudf_test/tdigest_utilities.cuh index 742cd764a1f..5fd2403b0f2 100644 --- a/cpp/include/cudf_test/tdigest_utilities.cuh +++ b/cpp/include/cudf_test/tdigest_utilities.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023, NVIDIA CORPORATION. + * Copyright (c) 2022-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -37,7 +38,7 @@ // for use with groupby and reduction aggregation tests. -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { using expected_value = thrust::tuple; @@ -583,4 +584,4 @@ void tdigest_merge_empty(MergeFunc merge_op) } } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/testing_main.hpp b/cpp/include/cudf_test/testing_main.hpp index 3ad4b127f80..9866253a9f8 100644 --- a/cpp/include/cudf_test/testing_main.hpp +++ b/cpp/include/cudf_test/testing_main.hpp @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -32,7 +33,8 @@ #include #include -namespace cudf::test { +namespace CUDF_EXPORT cudf { +namespace test { /// MR factory functions inline auto make_cuda() { return std::make_shared(); } @@ -90,7 +92,8 @@ inline std::shared_ptr create_memory_resource( CUDF_FAIL("Invalid RMM allocation mode: " + allocation_mode); } -} // namespace cudf::test +} // namespace test +} // namespace CUDF_EXPORT cudf /** * @brief Parses the cuDF test command line options. diff --git a/cpp/include/cudf_test/timestamp_utilities.cuh b/cpp/include/cudf_test/timestamp_utilities.cuh index ebd93862151..e0789210bf9 100644 --- a/cpp/include/cudf_test/timestamp_utilities.cuh +++ b/cpp/include/cudf_test/timestamp_utilities.cuh @@ -19,12 +19,13 @@ #include #include +#include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { using time_point_ms = cuda::std::chrono::time_point; @@ -75,4 +76,4 @@ inline cudf::test::fixed_width_column_wrapper generate_timestamps(in } } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/type_list_utilities.hpp b/cpp/include/cudf_test/type_list_utilities.hpp index b069a34afb8..1793a8ecce0 100644 --- a/cpp/include/cudf_test/type_list_utilities.hpp +++ b/cpp/include/cudf_test/type_list_utilities.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ #include "cudf_gtest.hpp" +#include + /** * @file type_list_utilities.hpp * @brief Utilities for creating type lists for typed tests in Google Test @@ -68,7 +70,7 @@ * increased compile-times. Use responsibly. */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { // Utilities for creating parameters for typed tests on GoogleTest // @@ -627,4 +629,4 @@ using Unique = typename UniqueImpl::type; } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/type_lists.hpp b/cpp/include/cudf_test/type_lists.hpp index bbff45e2102..4cd01a09187 100644 --- a/cpp/include/cudf_test/type_lists.hpp +++ b/cpp/include/cudf_test/type_lists.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -40,7 +41,7 @@ * These lists should be used for consistency across tests as well as * future-proofing against the addition of any new types in the future. */ -namespace cudf { +namespace CUDF_EXPORT cudf { namespace test { namespace detail { template @@ -433,4 +434,4 @@ static constexpr std::array non_fixed_width_type_ids{cudf::typ cudf::type_id::STRING}; } // namespace test -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/include/nvtext/byte_pair_encoding.hpp b/cpp/include/nvtext/byte_pair_encoding.hpp index 375d44e367a..6559933f696 100644 --- a/cpp/include/nvtext/byte_pair_encoding.hpp +++ b/cpp/include/nvtext/byte_pair_encoding.hpp @@ -20,10 +20,11 @@ #include #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_tokenize @@ -132,4 +133,4 @@ std::unique_ptr byte_pair_encoding( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/detail/generate_ngrams.hpp b/cpp/include/nvtext/detail/generate_ngrams.hpp index c4b89b6d495..7c49421560d 100644 --- a/cpp/include/nvtext/detail/generate_ngrams.hpp +++ b/cpp/include/nvtext/detail/generate_ngrams.hpp @@ -20,7 +20,7 @@ #include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { namespace detail { /** @@ -35,4 +35,4 @@ std::unique_ptr hash_character_ngrams(cudf::strings_column_view co rmm::device_async_resource_ref mr); } // namespace detail -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/detail/load_hash_file.hpp b/cpp/include/nvtext/detail/load_hash_file.hpp index 0c27981f80b..438a4a9afdd 100644 --- a/cpp/include/nvtext/detail/load_hash_file.hpp +++ b/cpp/include/nvtext/detail/load_hash_file.hpp @@ -25,7 +25,7 @@ #include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { namespace detail { /** @@ -47,4 +47,4 @@ std::unique_ptr load_vocabulary_file( rmm::device_async_resource_ref mr); } // namespace detail -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/detail/tokenize.hpp b/cpp/include/nvtext/detail/tokenize.hpp index d48027e4631..57ad008f1a9 100644 --- a/cpp/include/nvtext/detail/tokenize.hpp +++ b/cpp/include/nvtext/detail/tokenize.hpp @@ -23,7 +23,7 @@ #include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { namespace detail { /** * @copydoc nvtext::tokenize(strings_column_view const&,string_scalar @@ -70,4 +70,4 @@ std::unique_ptr count_tokens(cudf::strings_column_view const& stri rmm::device_async_resource_ref mr); } // namespace detail -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/edit_distance.hpp b/cpp/include/nvtext/edit_distance.hpp index bfdfb4d1a1c..102f2cffa18 100644 --- a/cpp/include/nvtext/edit_distance.hpp +++ b/cpp/include/nvtext/edit_distance.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include //! NVText APIs -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_edit_distance * @{ @@ -104,4 +105,4 @@ std::unique_ptr edit_distance_matrix( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/generate_ngrams.hpp b/cpp/include/nvtext/generate_ngrams.hpp index bebe2e46023..ce79d985a49 100644 --- a/cpp/include/nvtext/generate_ngrams.hpp +++ b/cpp/include/nvtext/generate_ngrams.hpp @@ -18,10 +18,11 @@ #include #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_ngrams * @{ @@ -128,4 +129,4 @@ std::unique_ptr hash_character_ngrams( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/jaccard.hpp b/cpp/include/nvtext/jaccard.hpp index 649c17f0b1c..3c3486c079e 100644 --- a/cpp/include/nvtext/jaccard.hpp +++ b/cpp/include/nvtext/jaccard.hpp @@ -17,10 +17,11 @@ #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_jaccard * @{ @@ -78,4 +79,4 @@ std::unique_ptr jaccard_index( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/minhash.hpp b/cpp/include/nvtext/minhash.hpp index 7d3f6059454..fc28ecfb199 100644 --- a/cpp/include/nvtext/minhash.hpp +++ b/cpp/include/nvtext/minhash.hpp @@ -19,11 +19,12 @@ #include #include #include +#include #include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_minhash * @{ @@ -151,4 +152,4 @@ std::unique_ptr minhash64( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/ngrams_tokenize.hpp b/cpp/include/nvtext/ngrams_tokenize.hpp index 09ce323a7ae..1048cd4abad 100644 --- a/cpp/include/nvtext/ngrams_tokenize.hpp +++ b/cpp/include/nvtext/ngrams_tokenize.hpp @@ -18,10 +18,11 @@ #include #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_ngrams * @{ @@ -86,4 +87,4 @@ std::unique_ptr ngrams_tokenize( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/normalize.hpp b/cpp/include/nvtext/normalize.hpp index e5967e78318..ec0b8981f8f 100644 --- a/cpp/include/nvtext/normalize.hpp +++ b/cpp/include/nvtext/normalize.hpp @@ -17,11 +17,12 @@ #include #include +#include #include //! NVText APIs -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_normalize * @{ @@ -108,4 +109,4 @@ std::unique_ptr normalize_characters( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/replace.hpp b/cpp/include/nvtext/replace.hpp index aac21346c72..eedcd3976ca 100644 --- a/cpp/include/nvtext/replace.hpp +++ b/cpp/include/nvtext/replace.hpp @@ -18,11 +18,12 @@ #include #include #include +#include #include //! NVText APIs -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_replace * @{ @@ -142,4 +143,4 @@ std::unique_ptr filter_tokens( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/stemmer.hpp b/cpp/include/nvtext/stemmer.hpp index 20b81aba661..4607c42ceed 100644 --- a/cpp/include/nvtext/stemmer.hpp +++ b/cpp/include/nvtext/stemmer.hpp @@ -18,10 +18,11 @@ #include #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_stemmer * @{ @@ -172,4 +173,4 @@ std::unique_ptr porter_stemmer_measure( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/subword_tokenize.hpp b/cpp/include/nvtext/subword_tokenize.hpp index a4e06495a1d..b5636c8401b 100644 --- a/cpp/include/nvtext/subword_tokenize.hpp +++ b/cpp/include/nvtext/subword_tokenize.hpp @@ -18,10 +18,11 @@ #include #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_tokenize @@ -160,4 +161,4 @@ tokenizer_result subword_tokenize( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/include/nvtext/tokenize.hpp b/cpp/include/nvtext/tokenize.hpp index 29fed0759c7..833b53efcde 100644 --- a/cpp/include/nvtext/tokenize.hpp +++ b/cpp/include/nvtext/tokenize.hpp @@ -18,10 +18,11 @@ #include #include #include +#include #include -namespace nvtext { +namespace CUDF_EXPORT nvtext { /** * @addtogroup nvtext_tokenize * @{ @@ -309,4 +310,4 @@ std::unique_ptr tokenize_with_vocabulary( rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()); /** @} */ // end of tokenize group -} // namespace nvtext +} // namespace CUDF_EXPORT nvtext diff --git a/cpp/src/aggregation/aggregation.cpp b/cpp/src/aggregation/aggregation.cpp index 5422304c5cb..a60a7f63882 100644 --- a/cpp/src/aggregation/aggregation.cpp +++ b/cpp/src/aggregation/aggregation.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #include @@ -423,13 +424,16 @@ std::unique_ptr make_sum_aggregation() { return std::make_unique(); } -template std::unique_ptr make_sum_aggregation(); -template std::unique_ptr make_sum_aggregation(); -template std::unique_ptr make_sum_aggregation(); -template std::unique_ptr make_sum_aggregation(); -template std::unique_ptr make_sum_aggregation(); -template std::unique_ptr make_sum_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_sum_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_sum_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_sum_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_sum_aggregation(); +template CUDF_EXPORT std::unique_ptr make_sum_aggregation(); +template CUDF_EXPORT std::unique_ptr make_sum_aggregation(); +template CUDF_EXPORT std::unique_ptr make_sum_aggregation(); /// Factory to create a PRODUCT aggregation @@ -438,13 +442,15 @@ std::unique_ptr make_product_aggregation() { return std::make_unique(); } -template std::unique_ptr make_product_aggregation(); -template std::unique_ptr make_product_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_product_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_product_aggregation(); +template CUDF_EXPORT std::unique_ptr make_product_aggregation(); -template std::unique_ptr make_product_aggregation(); -template std::unique_ptr make_product_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr +make_product_aggregation(); +template CUDF_EXPORT std::unique_ptr make_product_aggregation(); +template CUDF_EXPORT std::unique_ptr make_product_aggregation(); /// Factory to create a MIN aggregation @@ -453,13 +459,16 @@ std::unique_ptr make_min_aggregation() { return std::make_unique(); } -template std::unique_ptr make_min_aggregation(); -template std::unique_ptr make_min_aggregation(); -template std::unique_ptr make_min_aggregation(); -template std::unique_ptr make_min_aggregation(); -template std::unique_ptr make_min_aggregation(); -template std::unique_ptr make_min_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_min_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_min_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_min_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_min_aggregation(); +template CUDF_EXPORT std::unique_ptr make_min_aggregation(); +template CUDF_EXPORT std::unique_ptr make_min_aggregation(); +template CUDF_EXPORT std::unique_ptr make_min_aggregation(); /// Factory to create a MAX aggregation @@ -468,13 +477,16 @@ std::unique_ptr make_max_aggregation() { return std::make_unique(); } -template std::unique_ptr make_max_aggregation(); -template std::unique_ptr make_max_aggregation(); -template std::unique_ptr make_max_aggregation(); -template std::unique_ptr make_max_aggregation(); -template std::unique_ptr make_max_aggregation(); -template std::unique_ptr make_max_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_max_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_max_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_max_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_max_aggregation(); +template CUDF_EXPORT std::unique_ptr make_max_aggregation(); +template CUDF_EXPORT std::unique_ptr make_max_aggregation(); +template CUDF_EXPORT std::unique_ptr make_max_aggregation(); /// Factory to create a COUNT aggregation @@ -485,14 +497,14 @@ std::unique_ptr make_count_aggregation(null_policy null_handling) (null_handling == null_policy::INCLUDE) ? aggregation::COUNT_ALL : aggregation::COUNT_VALID; return std::make_unique(kind); } -template std::unique_ptr make_count_aggregation( - null_policy null_handling); -template std::unique_ptr make_count_aggregation( - null_policy null_handling); -template std::unique_ptr make_count_aggregation( - null_policy null_handling); -template std::unique_ptr make_count_aggregation( +template CUDF_EXPORT std::unique_ptr make_count_aggregation( null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_count_aggregation(null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_count_aggregation(null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_count_aggregation(null_policy null_handling); /// Factory to create a HISTOGRAM aggregation template @@ -500,9 +512,11 @@ std::unique_ptr make_histogram_aggregation() { return std::make_unique(); } -template std::unique_ptr make_histogram_aggregation(); -template std::unique_ptr make_histogram_aggregation(); -template std::unique_ptr make_histogram_aggregation(); +template CUDF_EXPORT std::unique_ptr make_histogram_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_histogram_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_histogram_aggregation(); /// Factory to create a ANY aggregation template @@ -510,9 +524,9 @@ std::unique_ptr make_any_aggregation() { return std::make_unique(); } -template std::unique_ptr make_any_aggregation(); -template std::unique_ptr make_any_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_any_aggregation(); +template CUDF_EXPORT std::unique_ptr make_any_aggregation(); +template CUDF_EXPORT std::unique_ptr make_any_aggregation(); /// Factory to create a ALL aggregation @@ -521,9 +535,9 @@ std::unique_ptr make_all_aggregation() { return std::make_unique(); } -template std::unique_ptr make_all_aggregation(); -template std::unique_ptr make_all_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_all_aggregation(); +template CUDF_EXPORT std::unique_ptr make_all_aggregation(); +template CUDF_EXPORT std::unique_ptr make_all_aggregation(); /// Factory to create a SUM_OF_SQUARES aggregation @@ -532,11 +546,12 @@ std::unique_ptr make_sum_of_squares_aggregation() { return std::make_unique(); } -template std::unique_ptr make_sum_of_squares_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_sum_of_squares_aggregation(); +template CUDF_EXPORT std::unique_ptr make_sum_of_squares_aggregation(); -template std::unique_ptr make_sum_of_squares_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr +make_sum_of_squares_aggregation(); +template CUDF_EXPORT std::unique_ptr make_sum_of_squares_aggregation(); /// Factory to create a MEAN aggregation @@ -545,11 +560,14 @@ std::unique_ptr make_mean_aggregation() { return std::make_unique(); } -template std::unique_ptr make_mean_aggregation(); -template std::unique_ptr make_mean_aggregation(); -template std::unique_ptr make_mean_aggregation(); -template std::unique_ptr make_mean_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_mean_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_mean_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_mean_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_mean_aggregation(); +template CUDF_EXPORT std::unique_ptr make_mean_aggregation(); /// Factory to create a M2 aggregation @@ -558,8 +576,9 @@ std::unique_ptr make_m2_aggregation() { return std::make_unique(); } -template std::unique_ptr make_m2_aggregation(); -template std::unique_ptr make_m2_aggregation(); +template CUDF_EXPORT std::unique_ptr make_m2_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_m2_aggregation(); /// Factory to create a VARIANCE aggregation template @@ -567,14 +586,15 @@ std::unique_ptr make_variance_aggregation(size_type ddof) { return std::make_unique(ddof); } -template std::unique_ptr make_variance_aggregation(size_type ddof); -template std::unique_ptr make_variance_aggregation( - size_type ddof); -template std::unique_ptr make_variance_aggregation( +template CUDF_EXPORT std::unique_ptr make_variance_aggregation( size_type ddof); -template std::unique_ptr make_variance_aggregation( - size_type ddof); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr +make_variance_aggregation(size_type ddof); +template CUDF_EXPORT std::unique_ptr +make_variance_aggregation(size_type ddof); +template CUDF_EXPORT std::unique_ptr +make_variance_aggregation(size_type ddof); +template CUDF_EXPORT std::unique_ptr make_variance_aggregation(size_type ddof); /// Factory to create a STD aggregation @@ -583,14 +603,14 @@ std::unique_ptr make_std_aggregation(size_type ddof) { return std::make_unique(ddof); } -template std::unique_ptr make_std_aggregation(size_type ddof); -template std::unique_ptr make_std_aggregation( +template CUDF_EXPORT std::unique_ptr make_std_aggregation(size_type ddof); +template CUDF_EXPORT std::unique_ptr make_std_aggregation( size_type ddof); -template std::unique_ptr make_std_aggregation( +template CUDF_EXPORT std::unique_ptr make_std_aggregation( size_type ddof); -template std::unique_ptr make_std_aggregation( +template CUDF_EXPORT std::unique_ptr make_std_aggregation( size_type ddof); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_std_aggregation(size_type ddof); /// Factory to create a MEDIAN aggregation @@ -599,9 +619,11 @@ std::unique_ptr make_median_aggregation() { return std::make_unique(); } -template std::unique_ptr make_median_aggregation(); -template std::unique_ptr make_median_aggregation(); -template std::unique_ptr make_median_aggregation(); +template CUDF_EXPORT std::unique_ptr make_median_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_median_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_median_aggregation(); /// Factory to create a QUANTILE aggregation template @@ -610,12 +632,14 @@ std::unique_ptr make_quantile_aggregation(std::vector const& quant { return std::make_unique(quantiles, interp); } -template std::unique_ptr make_quantile_aggregation( - std::vector const& quantiles, interpolation interp); -template std::unique_ptr make_quantile_aggregation( - std::vector const& quantiles, interpolation interp); -template std::unique_ptr make_quantile_aggregation( +template CUDF_EXPORT std::unique_ptr make_quantile_aggregation( std::vector const& quantiles, interpolation interp); +template CUDF_EXPORT std::unique_ptr +make_quantile_aggregation(std::vector const& quantiles, + interpolation interp); +template CUDF_EXPORT std::unique_ptr +make_quantile_aggregation(std::vector const& quantiles, + interpolation interp); /// Factory to create an ARGMAX aggregation template @@ -623,9 +647,11 @@ std::unique_ptr make_argmax_aggregation() { return std::make_unique(); } -template std::unique_ptr make_argmax_aggregation(); -template std::unique_ptr make_argmax_aggregation(); -template std::unique_ptr make_argmax_aggregation(); +template CUDF_EXPORT std::unique_ptr make_argmax_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_argmax_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_argmax_aggregation(); /// Factory to create an ARGMIN aggregation template @@ -633,9 +659,11 @@ std::unique_ptr make_argmin_aggregation() { return std::make_unique(); } -template std::unique_ptr make_argmin_aggregation(); -template std::unique_ptr make_argmin_aggregation(); -template std::unique_ptr make_argmin_aggregation(); +template CUDF_EXPORT std::unique_ptr make_argmin_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_argmin_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_argmin_aggregation(); /// Factory to create an NUNIQUE aggregation template @@ -643,13 +671,13 @@ std::unique_ptr make_nunique_aggregation(null_policy null_handling) { return std::make_unique(null_handling); } -template std::unique_ptr make_nunique_aggregation( - null_policy null_handling); -template std::unique_ptr make_nunique_aggregation( +template CUDF_EXPORT std::unique_ptr make_nunique_aggregation( null_policy null_handling); -template std::unique_ptr make_nunique_aggregation( - null_policy null_handling); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr +make_nunique_aggregation(null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_nunique_aggregation(null_policy null_handling); +template CUDF_EXPORT std::unique_ptr make_nunique_aggregation(null_policy null_handling); /// Factory to create an NTH_ELEMENT aggregation @@ -658,14 +686,14 @@ std::unique_ptr make_nth_element_aggregation(size_type n, null_policy null { return std::make_unique(n, null_handling); } -template std::unique_ptr make_nth_element_aggregation( - size_type n, null_policy null_handling); -template std::unique_ptr make_nth_element_aggregation( - size_type n, null_policy null_handling); -template std::unique_ptr make_nth_element_aggregation( - size_type n, null_policy null_handling); -template std::unique_ptr make_nth_element_aggregation( +template CUDF_EXPORT std::unique_ptr make_nth_element_aggregation( size_type n, null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_nth_element_aggregation(size_type n, null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_nth_element_aggregation(size_type n, null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_nth_element_aggregation(size_type n, null_policy null_handling); /// Factory to create a ROW_NUMBER aggregation template @@ -673,8 +701,9 @@ std::unique_ptr make_row_number_aggregation() { return std::make_unique(); } -template std::unique_ptr make_row_number_aggregation(); -template std::unique_ptr make_row_number_aggregation(); +template CUDF_EXPORT std::unique_ptr make_row_number_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_row_number_aggregation(); /// Factory to create an EWMA aggregation template @@ -682,9 +711,9 @@ std::unique_ptr make_ewma_aggregation(double const com, cudf::ewm_history { return std::make_unique(com, history); } -template std::unique_ptr make_ewma_aggregation(double const com, - cudf::ewm_history history); -template std::unique_ptr make_ewma_aggregation( +template CUDF_EXPORT std::unique_ptr make_ewma_aggregation( + double const com, cudf::ewm_history history); +template CUDF_EXPORT std::unique_ptr make_ewma_aggregation( double const com, cudf::ewm_history history); /// Factory to create a RANK aggregation @@ -698,19 +727,19 @@ std::unique_ptr make_rank_aggregation(rank_method method, return std::make_unique( method, column_order, null_handling, null_precedence, percentage); } -template std::unique_ptr make_rank_aggregation( +template CUDF_EXPORT std::unique_ptr make_rank_aggregation( rank_method method, order column_order, null_policy null_handling, null_order null_precedence, rank_percentage percentage); -template std::unique_ptr make_rank_aggregation( - rank_method method, - order column_order, - null_policy null_handling, - null_order null_precedence, - rank_percentage percentage); -template std::unique_ptr make_rank_aggregation( +template CUDF_EXPORT std::unique_ptr +make_rank_aggregation(rank_method method, + order column_order, + null_policy null_handling, + null_order null_precedence, + rank_percentage percentage); +template CUDF_EXPORT std::unique_ptr make_rank_aggregation( rank_method method, order column_order, null_policy null_handling, @@ -723,14 +752,14 @@ std::unique_ptr make_collect_list_aggregation(null_policy null_handling) { return std::make_unique(null_handling); } -template std::unique_ptr make_collect_list_aggregation( - null_policy null_handling); -template std::unique_ptr make_collect_list_aggregation( - null_policy null_handling); -template std::unique_ptr make_collect_list_aggregation( - null_policy null_handling); -template std::unique_ptr make_collect_list_aggregation( +template CUDF_EXPORT std::unique_ptr make_collect_list_aggregation( null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_collect_list_aggregation(null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_collect_list_aggregation(null_policy null_handling); +template CUDF_EXPORT std::unique_ptr +make_collect_list_aggregation(null_policy null_handling); /// Factory to create a COLLECT_SET aggregation template @@ -740,14 +769,20 @@ std::unique_ptr make_collect_set_aggregation(null_policy null_handling, { return std::make_unique(null_handling, nulls_equal, nans_equal); } -template std::unique_ptr make_collect_set_aggregation( - null_policy null_handling, null_equality nulls_equal, nan_equality nans_equal); -template std::unique_ptr make_collect_set_aggregation( - null_policy null_handling, null_equality nulls_equal, nan_equality nans_equal); -template std::unique_ptr make_collect_set_aggregation( - null_policy null_handling, null_equality nulls_equal, nan_equality nans_equal); -template std::unique_ptr make_collect_set_aggregation( +template CUDF_EXPORT std::unique_ptr make_collect_set_aggregation( null_policy null_handling, null_equality nulls_equal, nan_equality nans_equal); +template CUDF_EXPORT std::unique_ptr +make_collect_set_aggregation(null_policy null_handling, + null_equality nulls_equal, + nan_equality nans_equal); +template CUDF_EXPORT std::unique_ptr +make_collect_set_aggregation(null_policy null_handling, + null_equality nulls_equal, + nan_equality nans_equal); +template CUDF_EXPORT std::unique_ptr +make_collect_set_aggregation(null_policy null_handling, + null_equality nulls_equal, + nan_equality nans_equal); /// Factory to create a LAG aggregation template @@ -755,8 +790,9 @@ std::unique_ptr make_lag_aggregation(size_type offset) { return std::make_unique(aggregation::LAG, offset); } -template std::unique_ptr make_lag_aggregation(size_type offset); -template std::unique_ptr make_lag_aggregation( +template CUDF_EXPORT std::unique_ptr make_lag_aggregation( + size_type offset); +template CUDF_EXPORT std::unique_ptr make_lag_aggregation( size_type offset); /// Factory to create a LEAD aggregation @@ -765,9 +801,10 @@ std::unique_ptr make_lead_aggregation(size_type offset) { return std::make_unique(aggregation::LEAD, offset); } -template std::unique_ptr make_lead_aggregation(size_type offset); -template std::unique_ptr make_lead_aggregation( +template CUDF_EXPORT std::unique_ptr make_lead_aggregation( size_type offset); +template CUDF_EXPORT std::unique_ptr +make_lead_aggregation(size_type offset); /// Factory to create a UDF aggregation template @@ -781,9 +818,9 @@ std::unique_ptr make_udf_aggregation(udf_type type, output_type}; return std::unique_ptr(a); } -template std::unique_ptr make_udf_aggregation( +template CUDF_EXPORT std::unique_ptr make_udf_aggregation( udf_type type, std::string const& user_defined_aggregator, data_type output_type); -template std::unique_ptr make_udf_aggregation( +template CUDF_EXPORT std::unique_ptr make_udf_aggregation( udf_type type, std::string const& user_defined_aggregator, data_type output_type); /// Factory to create a MERGE_LISTS aggregation @@ -792,9 +829,11 @@ std::unique_ptr make_merge_lists_aggregation() { return std::make_unique(); } -template std::unique_ptr make_merge_lists_aggregation(); -template std::unique_ptr make_merge_lists_aggregation(); -template std::unique_ptr make_merge_lists_aggregation(); +template CUDF_EXPORT std::unique_ptr make_merge_lists_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_merge_lists_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_merge_lists_aggregation(); /// Factory to create a MERGE_SETS aggregation template @@ -803,12 +842,12 @@ std::unique_ptr make_merge_sets_aggregation(null_equality nulls_equal, { return std::make_unique(nulls_equal, nans_equal); } -template std::unique_ptr make_merge_sets_aggregation(null_equality, - nan_equality); -template std::unique_ptr make_merge_sets_aggregation( - null_equality, nan_equality); -template std::unique_ptr make_merge_sets_aggregation( +template CUDF_EXPORT std::unique_ptr make_merge_sets_aggregation( null_equality, nan_equality); +template CUDF_EXPORT std::unique_ptr + make_merge_sets_aggregation(null_equality, nan_equality); +template CUDF_EXPORT std::unique_ptr + make_merge_sets_aggregation(null_equality, nan_equality); /// Factory to create a MERGE_M2 aggregation template @@ -816,8 +855,9 @@ std::unique_ptr make_merge_m2_aggregation() { return std::make_unique(); } -template std::unique_ptr make_merge_m2_aggregation(); -template std::unique_ptr make_merge_m2_aggregation(); +template CUDF_EXPORT std::unique_ptr make_merge_m2_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_merge_m2_aggregation(); /// Factory to create a MERGE_HISTOGRAM aggregation template @@ -825,10 +865,11 @@ std::unique_ptr make_merge_histogram_aggregation() { return std::make_unique(); } -template std::unique_ptr make_merge_histogram_aggregation(); -template std::unique_ptr +template CUDF_EXPORT std::unique_ptr make_merge_histogram_aggregation(); +template CUDF_EXPORT std::unique_ptr make_merge_histogram_aggregation(); -template std::unique_ptr make_merge_histogram_aggregation(); +template CUDF_EXPORT std::unique_ptr +make_merge_histogram_aggregation(); /// Factory to create a COVARIANCE aggregation template @@ -836,10 +877,10 @@ std::unique_ptr make_covariance_aggregation(size_type min_periods, size_ty { return std::make_unique(min_periods, ddof); } -template std::unique_ptr make_covariance_aggregation( - size_type min_periods, size_type ddof); -template std::unique_ptr make_covariance_aggregation( +template CUDF_EXPORT std::unique_ptr make_covariance_aggregation( size_type min_periods, size_type ddof); +template CUDF_EXPORT std::unique_ptr +make_covariance_aggregation(size_type min_periods, size_type ddof); /// Factory to create a CORRELATION aggregation template @@ -847,33 +888,34 @@ std::unique_ptr make_correlation_aggregation(correlation_type type, size_t { return std::make_unique(type, min_periods); } -template std::unique_ptr make_correlation_aggregation( - correlation_type type, size_type min_periods); -template std::unique_ptr make_correlation_aggregation( +template CUDF_EXPORT std::unique_ptr make_correlation_aggregation( correlation_type type, size_type min_periods); +template CUDF_EXPORT std::unique_ptr +make_correlation_aggregation(correlation_type type, size_type min_periods); template std::unique_ptr make_tdigest_aggregation(int max_centroids) { return std::make_unique(max_centroids); } -template std::unique_ptr make_tdigest_aggregation(int max_centroids); -template std::unique_ptr make_tdigest_aggregation( - int max_centroids); -template std::unique_ptr make_tdigest_aggregation( +template CUDF_EXPORT std::unique_ptr make_tdigest_aggregation( int max_centroids); +template CUDF_EXPORT std::unique_ptr +make_tdigest_aggregation(int max_centroids); +template CUDF_EXPORT std::unique_ptr +make_tdigest_aggregation(int max_centroids); template std::unique_ptr make_merge_tdigest_aggregation(int max_centroids) { return std::make_unique(max_centroids); } -template std::unique_ptr make_merge_tdigest_aggregation( - int max_centroids); -template std::unique_ptr make_merge_tdigest_aggregation( - int max_centroids); -template std::unique_ptr make_merge_tdigest_aggregation( +template CUDF_EXPORT std::unique_ptr make_merge_tdigest_aggregation( int max_centroids); +template CUDF_EXPORT std::unique_ptr +make_merge_tdigest_aggregation(int max_centroids); +template CUDF_EXPORT std::unique_ptr +make_merge_tdigest_aggregation(int max_centroids); namespace detail { namespace { diff --git a/cpp/src/binaryop/compiled/binary_ops.cu b/cpp/src/binaryop/compiled/binary_ops.cu index ba0253ec853..7a0bc312434 100644 --- a/cpp/src/binaryop/compiled/binary_ops.cu +++ b/cpp/src/binaryop/compiled/binary_ops.cu @@ -18,6 +18,7 @@ #include "operation.cuh" #include "struct_binary_ops.cuh" +#include #include #include #include diff --git a/cpp/src/bitmask/is_element_valid.cpp b/cpp/src/bitmask/is_element_valid.cpp index e0f0ccdc861..4806c7a94e8 100644 --- a/cpp/src/bitmask/is_element_valid.cpp +++ b/cpp/src/bitmask/is_element_valid.cpp @@ -1,6 +1,5 @@ - /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +14,7 @@ * limitations under the License. */ -#include +#include #include #include diff --git a/cpp/src/copying/concatenate.cu b/cpp/src/copying/concatenate.cu index 4be3054b3dc..ac9931335ff 100644 --- a/cpp/src/copying/concatenate.cu +++ b/cpp/src/copying/concatenate.cu @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/cpp/src/copying/purge_nonempty_nulls.cu b/cpp/src/copying/purge_nonempty_nulls.cu index d69d214a881..581d0a00924 100644 --- a/cpp/src/copying/purge_nonempty_nulls.cu +++ b/cpp/src/copying/purge_nonempty_nulls.cu @@ -14,6 +14,7 @@ * limitations under the License. */ #include +#include #include #include #include diff --git a/cpp/src/dictionary/set_keys.cu b/cpp/src/dictionary/set_keys.cu index 08a33d40abe..cf40fda5971 100644 --- a/cpp/src/dictionary/set_keys.cu +++ b/cpp/src/dictionary/set_keys.cu @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/filling/calendrical_month_sequence.cu b/cpp/src/filling/calendrical_month_sequence.cu index 3e6d693dde5..f984f307ddd 100644 --- a/cpp/src/filling/calendrical_month_sequence.cu +++ b/cpp/src/filling/calendrical_month_sequence.cu @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/io/comp/gpuinflate.hpp b/cpp/src/io/comp/gpuinflate.hpp index 5908b77c98b..8bfca2b30df 100644 --- a/cpp/src/io/comp/gpuinflate.hpp +++ b/cpp/src/io/comp/gpuinflate.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2023, NVIDIA CORPORATION. + * Copyright (c) 2018-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ #pragma once #include +#include #include #include @@ -73,6 +74,7 @@ constexpr std::size_t BUFFER_PADDING_MULTIPLE{8}; * @param[in] parse_hdr Whether or not to parse GZIP header * @param[in] stream CUDA stream to use */ +CUDF_EXPORT void gpuinflate(device_span const> inputs, device_span const> outputs, device_span results, @@ -101,6 +103,7 @@ void gpu_copy_uncompressed_blocks(device_span const> * @param[out] results List of output status structures * @param[in] stream CUDA stream to use */ +CUDF_EXPORT void gpu_unsnap(device_span const> inputs, device_span const> outputs, device_span results, @@ -113,6 +116,7 @@ void gpu_unsnap(device_span const> inputs, * * @return The size in bytes of required temporary memory */ +CUDF_EXPORT size_t get_gpu_debrotli_scratch_size(int max_num_inputs = 0); /** @@ -128,6 +132,7 @@ size_t get_gpu_debrotli_scratch_size(int max_num_inputs = 0); * @param[in] scratch_size Size in bytes of the temporary memory * @param[in] stream CUDA stream to use */ +CUDF_EXPORT void gpu_debrotli(device_span const> inputs, device_span const> outputs, device_span results, diff --git a/cpp/src/io/functions.cpp b/cpp/src/io/functions.cpp index 6d2834206d4..62c3c5cd245 100644 --- a/cpp/src/io/functions.cpp +++ b/cpp/src/io/functions.cpp @@ -41,6 +41,7 @@ #include namespace cudf::io { + // Returns builder for csv_reader_options csv_reader_options_builder csv_reader_options::builder(source_info src) { @@ -472,6 +473,8 @@ chunked_orc_reader::chunked_orc_reader(std::size_t chunk_read_limit, { } +chunked_orc_reader::chunked_orc_reader() = default; + // This destructor destroys the internal reader instance. // Since the declaration of the internal `reader` object does not exist in the header, this // destructor needs to be defined in a separate source file which can access to that object's @@ -492,6 +495,10 @@ table_with_metadata chunked_orc_reader::read_chunk() const return reader->read_chunk(); } +orc_chunked_writer::orc_chunked_writer() = default; + +orc_chunked_writer::~orc_chunked_writer() = default; + /** * @copydoc cudf::io::orc_chunked_writer::orc_chunked_writer */ @@ -618,6 +625,8 @@ std::unique_ptr> write_parquet(parquet_writer_options const return writer->close(options.get_column_chunks_file_paths()); } +chunked_parquet_reader::chunked_parquet_reader() = default; + /** * @copydoc cudf::io::chunked_parquet_reader::chunked_parquet_reader */ @@ -672,6 +681,8 @@ table_with_metadata chunked_parquet_reader::read_chunk() const return reader->read_chunk(); } +parquet_chunked_writer::parquet_chunked_writer() = default; + /** * @copydoc cudf::io::parquet_chunked_writer::parquet_chunked_writer */ @@ -686,6 +697,8 @@ parquet_chunked_writer::parquet_chunked_writer(chunked_parquet_writer_options co std::move(sinks), options, io_detail::single_write_mode::NO, stream); } +parquet_chunked_writer::~parquet_chunked_writer() = default; + /** * @copydoc cudf::io::parquet_chunked_writer::write */ diff --git a/cpp/src/io/json/nested_json.hpp b/cpp/src/io/json/nested_json.hpp index e12892a2d50..20c143f66c7 100644 --- a/cpp/src/io/json/nested_json.hpp +++ b/cpp/src/io/json/nested_json.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include @@ -28,10 +29,12 @@ #include // Forward declaration of parse_options from parsing_utils.cuh -namespace cudf::io { +namespace cudf { +namespace io { + struct parse_options; -} -namespace cudf::io::json { + +namespace json { /** * @brief Struct that encapsulate all information of a columnar tree representation. @@ -201,6 +204,7 @@ namespace detail { * @param[in] delimiter Specifies the delimiter to use as separator for JSON lines input * @param[in] stream The cuda stream to dispatch GPU kernels to */ +CUDF_EXPORT void get_stack_context(device_span json_in, SymbolT* d_top_of_stack, stack_behavior_t stack_behavior, @@ -216,6 +220,7 @@ void get_stack_context(device_span json_in, * @param stream The cuda stream to dispatch GPU kernels to * @return Returns the post-processed token stream */ +CUDF_EXPORT std::pair, rmm::device_uvector> process_token_stream( device_span tokens, device_span token_indices, @@ -232,6 +237,7 @@ std::pair, rmm::device_uvector> pr * @return A tree representation of the input JSON string as vectors of node type, parent index, * level, begin index, and end index in the input JSON string */ +CUDF_EXPORT tree_meta_t get_tree_representation(device_span tokens, device_span token_indices, bool is_strict_nested_boundaries, @@ -251,6 +257,7 @@ tree_meta_t get_tree_representation(device_span tokens, * @param mr Optional, resource with which to allocate * @return A tuple of the output column indices and the row offsets within each column for each node */ +CUDF_EXPORT std::tuple, rmm::device_uvector> records_orient_tree_traversal(device_span d_input, tree_meta_t const& d_tree, @@ -315,6 +322,7 @@ cudf::io::parse_options parsing_options(cudf::io::json_reader_options const& opt * @param mr Optional, resource with which to allocate * @return The data parsed from the given JSON input */ +CUDF_EXPORT table_with_metadata device_parse_nested_json(device_span input, cudf::io::json_reader_options const& options, rmm::cuda_stream_view stream, @@ -348,4 +356,6 @@ struct path_from_tree { } // namespace detail -} // namespace cudf::io::json +} // namespace json +} // namespace io +} // namespace cudf diff --git a/cpp/src/io/json/read_json.hpp b/cpp/src/io/json/read_json.hpp index ff69f9b7627..32de4ebabfa 100644 --- a/cpp/src/io/json/read_json.hpp +++ b/cpp/src/io/json/read_json.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -27,7 +28,8 @@ #include -namespace cudf::io::json::detail { +namespace CUDF_EXPORT cudf { +namespace io::json::detail { // Some magic numbers constexpr int num_subchunks = 10; // per chunk_size @@ -51,4 +53,5 @@ size_type find_first_delimiter(device_span d_data, char const delimiter, rmm::cuda_stream_view stream); -} // namespace cudf::io::json::detail +} // namespace io::json::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/src/io/parquet/compact_protocol_reader.hpp b/cpp/src/io/parquet/compact_protocol_reader.hpp index bcc9adfc8c0..12c24e2b848 100644 --- a/cpp/src/io/parquet/compact_protocol_reader.hpp +++ b/cpp/src/io/parquet/compact_protocol_reader.hpp @@ -18,6 +18,8 @@ #include "parquet.hpp" +#include + #include #include #include @@ -25,7 +27,8 @@ #include #include -namespace cudf::io::parquet::detail { +namespace CUDF_EXPORT cudf { +namespace io::parquet::detail { /** * @brief Class for parsing Parquet's Thrift Compact Protocol encoded metadata @@ -149,4 +152,5 @@ class CompactProtocolReader { friend class parquet_field_struct_blob; }; -} // namespace cudf::io::parquet::detail +} // namespace io::parquet::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/src/io/utilities/base64_utilities.hpp b/cpp/src/io/utilities/base64_utilities.hpp index 537d9c96d6b..b1eb120c47f 100644 --- a/cpp/src/io/utilities/base64_utilities.hpp +++ b/cpp/src/io/utilities/base64_utilities.hpp @@ -61,10 +61,13 @@ // altered: applying clang-format for libcudf on this file. // altered: include required headers +#include + #include // altered: use cudf namespaces -namespace cudf::io::detail { +namespace CUDF_EXPORT cudf { +namespace io::detail { /** * @brief Encodes input string to base64 and returns it @@ -84,4 +87,5 @@ std::string base64_encode(std::string_view string_to_encode); */ std::string base64_decode(std::string_view encoded_string); -} // namespace cudf::io::detail +} // namespace io::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/src/io/utilities/data_casting.cu b/cpp/src/io/utilities/data_casting.cu index aa1b29a101f..73362334e26 100644 --- a/cpp/src/io/utilities/data_casting.cu +++ b/cpp/src/io/utilities/data_casting.cu @@ -20,11 +20,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include @@ -933,7 +933,7 @@ std::unique_ptr parse_data( auto d_null_count = rmm::device_scalar(null_count, stream); auto null_count_data = d_null_count.data(); if (null_mask.is_empty()) { - null_mask = cudf::detail::create_null_mask(col_size, mask_state::ALL_VALID, stream, mr); + null_mask = cudf::create_null_mask(col_size, mask_state::ALL_VALID, stream, mr); } // Prepare iterator that returns (string_ptr, string_length)-pairs needed by type conversion diff --git a/cpp/src/io/utilities/file_io_utilities.hpp b/cpp/src/io/utilities/file_io_utilities.hpp index 441bede200d..7e47b5b3d10 100644 --- a/cpp/src/io/utilities/file_io_utilities.hpp +++ b/cpp/src/io/utilities/file_io_utilities.hpp @@ -25,6 +25,7 @@ #include #include +#include #include @@ -211,7 +212,7 @@ std::unique_ptr make_cufile_output(std::string const& filepa /** * @brief Byte range to be read/written in a single operation. */ -struct file_io_slice { +CUDF_EXPORT struct file_io_slice { size_t offset; size_t size; }; @@ -221,7 +222,7 @@ struct file_io_slice { * * If `max_slice_size` is below 1024, 1024 will be used instead to prevent potential misuse. */ -std::vector make_file_io_slices(size_t size, size_t max_slice_size); +CUDF_EXPORT std::vector make_file_io_slices(size_t size, size_t max_slice_size); } // namespace detail } // namespace io diff --git a/cpp/src/io/utilities/row_selection.hpp b/cpp/src/io/utilities/row_selection.hpp index 7fdcc65d77b..7c607099cdc 100644 --- a/cpp/src/io/utilities/row_selection.hpp +++ b/cpp/src/io/utilities/row_selection.hpp @@ -21,7 +21,8 @@ #include #include -namespace cudf::io::detail { +namespace CUDF_EXPORT cudf { +namespace io::detail { /** * @brief Adjusts the input skip_rows and num_rows options to the actual number of rows to @@ -38,4 +39,5 @@ std::pair skip_rows_num_rows_from_options(int64_t skip_rows, std::optional const& num_rows, int64_t num_source_rows); -} // namespace cudf::io::detail +} // namespace io::detail +} // namespace CUDF_EXPORT cudf diff --git a/cpp/src/io/utilities/string_parsing.hpp b/cpp/src/io/utilities/string_parsing.hpp index 3e6f57f2896..0d9e7e40e4e 100644 --- a/cpp/src/io/utilities/string_parsing.hpp +++ b/cpp/src/io/utilities/string_parsing.hpp @@ -18,6 +18,7 @@ #include "io/utilities/parsing_utils.cuh" #include +#include #include #include @@ -43,7 +44,7 @@ namespace detail { * @param stream CUDA stream used for device memory operations and kernel launches * @return The inferred data type */ -cudf::data_type infer_data_type( +CUDF_EXPORT cudf::data_type infer_data_type( cudf::io::json_inference_options_view const& options, device_span data, thrust::zip_iterator> offset_length_begin, @@ -66,7 +67,7 @@ namespace json::detail { * @param mr The resource to be used for device memory allocation * @return The column that contains the parsed data */ -std::unique_ptr parse_data( +CUDF_EXPORT std::unique_ptr parse_data( char const* data, thrust::zip_iterator> offset_length_begin, size_type col_size, diff --git a/cpp/src/io/utilities/trie.cuh b/cpp/src/io/utilities/trie.cuh index 677743d77d0..caea8dabb88 100644 --- a/cpp/src/io/utilities/trie.cuh +++ b/cpp/src/io/utilities/trie.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2023, NVIDIA CORPORATION. + * Copyright (c) 2018-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ #pragma once +#include #include #include @@ -67,7 +68,8 @@ inline trie_view make_trie_view(optional_trie const& t) * * @return A host vector of nodes representing the serialized trie */ -trie create_serialized_trie(std::vector const& keys, rmm::cuda_stream_view stream); +CUDF_EXPORT trie create_serialized_trie(std::vector const& keys, + rmm::cuda_stream_view stream); /* * @brief Searches for a string in a serialized trie. diff --git a/cpp/src/jit/parser.hpp b/cpp/src/jit/parser.hpp index 55528bed6cf..85c8d63192f 100644 --- a/cpp/src/jit/parser.hpp +++ b/cpp/src/jit/parser.hpp @@ -16,12 +16,14 @@ #pragma once +#include + #include #include #include #include -namespace cudf { +namespace CUDF_EXPORT cudf { namespace jit { /** * @brief Parse and transform a piece of PTX code that contains the implementation @@ -239,4 +241,4 @@ inline std::string parse_single_function_ptx(std::string const& src, std::string parse_single_function_cuda(std::string const& src, std::string const& function_name); } // namespace jit -} // namespace cudf +} // namespace CUDF_EXPORT cudf diff --git a/cpp/src/lists/contains.cu b/cpp/src/lists/contains.cu index f03d394d6d7..30c03a8cd68 100644 --- a/cpp/src/lists/contains.cu +++ b/cpp/src/lists/contains.cu @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/lists/copying/concatenate.cu b/cpp/src/lists/copying/concatenate.cu index 3d609a262b9..8cd58e7eff2 100644 --- a/cpp/src/lists/copying/concatenate.cu +++ b/cpp/src/lists/copying/concatenate.cu @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/lists/copying/segmented_gather.cu b/cpp/src/lists/copying/segmented_gather.cu index 779eca438db..90f7994b21d 100644 --- a/cpp/src/lists/copying/segmented_gather.cu +++ b/cpp/src/lists/copying/segmented_gather.cu @@ -20,6 +20,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/lists/set_operations.cu b/cpp/src/lists/set_operations.cu index 1d18b8c677c..5c7ab68d64b 100644 --- a/cpp/src/lists/set_operations.cu +++ b/cpp/src/lists/set_operations.cu @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/lists/stream_compaction/distinct.cu b/cpp/src/lists/stream_compaction/distinct.cu index 40dee010bd5..cdcb4aa957f 100644 --- a/cpp/src/lists/stream_compaction/distinct.cu +++ b/cpp/src/lists/stream_compaction/distinct.cu @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/merge/merge.cu b/cpp/src/merge/merge.cu index 7ecaa0fba56..e2c8d49a4ab 100644 --- a/cpp/src/merge/merge.cu +++ b/cpp/src/merge/merge.cu @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/partitioning/round_robin.cu b/cpp/src/partitioning/round_robin.cu index 82b169c78ed..9810373b751 100644 --- a/cpp/src/partitioning/round_robin.cu +++ b/cpp/src/partitioning/round_robin.cu @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -271,8 +272,8 @@ std::pair, std::vector> round_robin_part std::pair, std::vector> round_robin_partition( table_view const& input, cudf::size_type num_partitions, - cudf::size_type start_partition = 0, - rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource()) + cudf::size_type start_partition, + rmm::device_async_resource_ref mr) { CUDF_FUNC_RANGE(); return detail::round_robin_partition( diff --git a/cpp/src/quantiles/quantile.cu b/cpp/src/quantiles/quantile.cu index b25254cfe49..5d748de0019 100644 --- a/cpp/src/quantiles/quantile.cu +++ b/cpp/src/quantiles/quantile.cu @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/quantiles/quantiles.cu b/cpp/src/quantiles/quantiles.cu index af3bda2e62e..0b0e6701304 100644 --- a/cpp/src/quantiles/quantiles.cu +++ b/cpp/src/quantiles/quantiles.cu @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/quantiles/tdigest/tdigest.cu b/cpp/src/quantiles/tdigest/tdigest.cu index da36b7ab1da..421ed26e26d 100644 --- a/cpp/src/quantiles/tdigest/tdigest.cu +++ b/cpp/src/quantiles/tdigest/tdigest.cu @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/reductions/scan/rank_scan.cu b/cpp/src/reductions/scan/rank_scan.cu index 0befb6ac7d7..0dbfc271a25 100644 --- a/cpp/src/reductions/scan/rank_scan.cu +++ b/cpp/src/reductions/scan/rank_scan.cu @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/reductions/scan/scan_inclusive.cu b/cpp/src/reductions/scan/scan_inclusive.cu index 7c02a8d1b99..ee35d716d6e 100644 --- a/cpp/src/reductions/scan/scan_inclusive.cu +++ b/cpp/src/reductions/scan/scan_inclusive.cu @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/reductions/segmented/reductions.cpp b/cpp/src/reductions/segmented/reductions.cpp index 48ab5963a29..e6de065dabb 100644 --- a/cpp/src/reductions/segmented/reductions.cpp +++ b/cpp/src/reductions/segmented/reductions.cpp @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - #include #include #include #include +#include #include #include #include diff --git a/cpp/src/reshape/interleave_columns.cu b/cpp/src/reshape/interleave_columns.cu index 580db0e24c5..79124508b11 100644 --- a/cpp/src/reshape/interleave_columns.cu +++ b/cpp/src/reshape/interleave_columns.cu @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/reshape/tile.cu b/cpp/src/reshape/tile.cu index 1c4019b2c73..29996aa2152 100644 --- a/cpp/src/reshape/tile.cu +++ b/cpp/src/reshape/tile.cu @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/rolling/rolling.cu b/cpp/src/rolling/rolling.cu index e612bd01118..5dff40a3396 100644 --- a/cpp/src/rolling/rolling.cu +++ b/cpp/src/rolling/rolling.cu @@ -18,6 +18,7 @@ #include #include +#include #include #include diff --git a/cpp/src/scalar/scalar.cpp b/cpp/src/scalar/scalar.cpp index 07425a92413..83209c55c8a 100644 --- a/cpp/src/scalar/scalar.cpp +++ b/cpp/src/scalar/scalar.cpp @@ -216,7 +216,7 @@ template class fixed_point_scalar; template class fixed_point_scalar; template class fixed_point_scalar; -namespace detail { +namespace CUDF_HIDDEN detail { template fixed_width_scalar::fixed_width_scalar(T value, @@ -306,7 +306,7 @@ template class fixed_width_scalar; template class fixed_width_scalar; template class fixed_width_scalar; -} // namespace detail +} // namespace CUDF_HIDDEN detail template numeric_scalar::numeric_scalar(T value, diff --git a/cpp/src/search/contains_column.cu b/cpp/src/search/contains_column.cu index 8f05196a71c..57f2c59de40 100644 --- a/cpp/src/search/contains_column.cu +++ b/cpp/src/search/contains_column.cu @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/cpp/src/search/contains_scalar.cu b/cpp/src/search/contains_scalar.cu index e88acf68e28..2aa9e24174b 100644 --- a/cpp/src/search/contains_scalar.cu +++ b/cpp/src/search/contains_scalar.cu @@ -17,10 +17,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include diff --git a/cpp/src/search/contains_table.cu b/cpp/src/search/contains_table.cu index 4fb983dc5a6..81227cb9a2d 100644 --- a/cpp/src/search/contains_table.cu +++ b/cpp/src/search/contains_table.cu @@ -18,6 +18,7 @@ #include #include +#include #include #include #include diff --git a/cpp/src/search/search_ordered.cu b/cpp/src/search/search_ordered.cu index 328d3f0cee4..80651a4ec44 100644 --- a/cpp/src/search/search_ordered.cu +++ b/cpp/src/search/search_ordered.cu @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/strings/convert/convert_durations.cu b/cpp/src/strings/convert/convert_durations.cu index 2e4a776d3c0..514ab965fc5 100644 --- a/cpp/src/strings/convert/convert_durations.cu +++ b/cpp/src/strings/convert/convert_durations.cu @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/strings/strings_scalar_factories.cpp b/cpp/src/strings/strings_scalar_factories.cpp index 233fee14694..cf973638cc4 100644 --- a/cpp/src/strings/strings_scalar_factories.cpp +++ b/cpp/src/strings/strings_scalar_factories.cpp @@ -15,6 +15,7 @@ */ #include +#include #include #include diff --git a/cpp/src/strings/utilities.cu b/cpp/src/strings/utilities.cu index f70598f33be..068d89a52dc 100644 --- a/cpp/src/strings/utilities.cu +++ b/cpp/src/strings/utilities.cu @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + #include "strings/char_types/char_cases.h" #include "strings/char_types/char_flags.h" diff --git a/cpp/src/transform/one_hot_encode.cu b/cpp/src/transform/one_hot_encode.cu index 723c306da1d..808f2d1b284 100644 --- a/cpp/src/transform/one_hot_encode.cu +++ b/cpp/src/transform/one_hot_encode.cu @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/transform/row_bit_count.cu b/cpp/src/transform/row_bit_count.cu index bfac7ab586e..12a15eb7e34 100644 --- a/cpp/src/transform/row_bit_count.cu +++ b/cpp/src/transform/row_bit_count.cu @@ -25,6 +25,7 @@ #include #include #include +#include #include #include diff --git a/cpp/tests/utilities/random_seed.cpp b/cpp/tests/utilities/random_seed.cpp index 4d5035e5a22..ab5a31ce161 100644 --- a/cpp/tests/utilities/random_seed.cpp +++ b/cpp/tests/utilities/random_seed.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ namespace detail { /** * @copydoc cudf::test::detail::random_generator_incrementing_seed() */ -uint64_t random_generator_incrementing_seed() +CUDF_EXPORT uint64_t random_generator_incrementing_seed() { static uint64_t seed = 0; return ++seed; diff --git a/java/src/main/native/CMakeLists.txt b/java/src/main/native/CMakeLists.txt index 56f8f9d0472..22059c5bc7f 100644 --- a/java/src/main/native/CMakeLists.txt +++ b/java/src/main/native/CMakeLists.txt @@ -210,6 +210,7 @@ target_compile_definitions( cudfjni PUBLIC "$<$:${CUDF_CXX_DEFINITIONS}>" "$<$:${CUDF_CUDA_DEFINITIONS}>" ) +target_link_options(cudfjni PRIVATE "-Wl,--no-undefined") if(USE_GDS) add_library(cufilejni src/CuFileJni.cpp) diff --git a/java/src/main/native/src/TableJni.cpp b/java/src/main/native/src/TableJni.cpp index c58cd732b39..a9ace1398e4 100644 --- a/java/src/main/native/src/TableJni.cpp +++ b/java/src/main/native/src/TableJni.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include #include @@ -2789,7 +2790,7 @@ JNIEXPORT jlongArray JNICALL Java_ai_rapids_cudf_Table_leftDistinctJoinGatherMap auto has_nulls = cudf::has_nested_nulls(left) || cudf::has_nested_nulls(right) ? cudf::nullable_join::YES : cudf::nullable_join::NO; - if (cudf::detail::has_nested_columns(right)) { + if (cudf::has_nested_columns(right)) { cudf::distinct_hash_join hash(right, left, has_nulls, nulleq); return hash.left_join(); } else { @@ -3010,7 +3011,7 @@ JNIEXPORT jlongArray JNICALL Java_ai_rapids_cudf_Table_innerDistinctJoinGatherMa std::pair>, std::unique_ptr>> maps; - if (cudf::detail::has_nested_columns(right)) { + if (cudf::has_nested_columns(right)) { cudf::distinct_hash_join hash(right, left, has_nulls, nulleq); maps = hash.inner_join(); } else {