Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

strings::contains() for multiple scalar search targets #16641

Closed

Commits on Aug 22, 2024

  1. strings::contains() for multiple search targets

    This commit adds a new `strings::contains()` overload that allows
    for the search of multiple scalar search targets in the same call.
    
    The trick here is that a new kernel has been introduced, to extend
    the "string-per-warp" approach to search for multiple search keys
    in the same kernel.
    
    This approach allows CUDF to potentially reduce the number of kernels
    launched for `string::contains()` by a factor of `N`, if all the
    search keys can be specified in the same call.  This helps reduce
    the kernel-launch overheads for processes that do large numbers
    of calls to `string::contains()`.
    
    Signed-off-by: MithunR <[email protected]>
    
    Changed iteration order, for better cache performance.
    
    More optimizations:
    
    1. Removed calls to `thrust::fill()`. The bool values are now explicitly written in the kernel.
    2. Switched host-device copy to use async.
    
    Revert "More optimizations:"
    
    This reverts commit c0e355c.
    
    This commit was wrong: The thrust::fill() checks for empty target strings.
    If removed, we'll need to check for empty target strings for every input string
    row.
    This was better done the old way.
    
    More improvements:
    
    1. Removed thrust::fill call. Setting values explicitly in the kernel.
    2. Switched from using io::hostdevice_vector to rmm::device_uvector. The string_view allocation is tiny.
    
    This has helped reduce the time spent in strings::contains().
    
    For small strings, delegate to thread-per-string algo.
    mythrocks authored and Chong Gao committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f4924a9 View commit details
    Browse the repository at this point in the history
  2. string contains optimization

    Signed-off-by: Chong Gao <[email protected]>
    Chong Gao committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1022c83 View commit details
    Browse the repository at this point in the history
  3. Add benchmark test

    Chong Gao committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    45170e9 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. Configuration menu
    Copy the full SHA
    7e2aa43 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. Fix comments

    Signed-off-by: Chong Gao <[email protected]>
    Chong Gao committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    32e1329 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2024

  1. Configuration menu
    Copy the full SHA
    be6985b View commit details
    Browse the repository at this point in the history
  2. Fix comments; Restore a test change

    Chong Gao committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    be7a1e2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6b635f6 View commit details
    Browse the repository at this point in the history
  4. Improve

    Chong Gao committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    479788c View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. Fix compile error

    Signed-off-by: Chong Gao <[email protected]>
    Chong Gao committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    543a1f6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f1da8b0 View commit details
    Browse the repository at this point in the history
  3. Update test cases; update benchmark tests

    Chong Gao committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    06ba14c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    14418d7 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. Configuration menu
    Copy the full SHA
    814e002 View commit details
    Browse the repository at this point in the history
  2. Format code

    Chong Gao committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    587ce34 View commit details
    Browse the repository at this point in the history
  3. Fix bug

    Chong Gao committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    470355f View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2024

  1. Configuration menu
    Copy the full SHA
    4b41ead View commit details
    Browse the repository at this point in the history
  2. Fix comments

    Chong Gao committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    e56a122 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Optimize warp parallel

    Chong Gao committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    31f4822 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    88d351d View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Configuration menu
    Copy the full SHA
    7836c33 View commit details
    Browse the repository at this point in the history
  2. Split targets to small groups to save shared memory when num of targe…

    …ts is large
    Chong Gao committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    6ae2c00 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Configuration menu
    Copy the full SHA
    542e1ff View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. Configuration menu
    Copy the full SHA
    ab5ef90 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Configuration menu
    Copy the full SHA
    da1d92b View commit details
    Browse the repository at this point in the history
  2. Fix bug when strings are long: returns all falses.

    Chong Gao committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    3324671 View commit details
    Browse the repository at this point in the history
  3. Format code

    Chong Gao committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    849c093 View commit details
    Browse the repository at this point in the history
  4. Refactor: refine code comments

    Chong Gao committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    85e8b17 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2024

  1. Configuration menu
    Copy the full SHA
    ce4450d View commit details
    Browse the repository at this point in the history
  2. Fix bug: illegal memory access

    Chong Gao committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    9fc9398 View commit details
    Browse the repository at this point in the history
  3. Fix bug in split logic

    Chong Gao committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    b33d692 View commit details
    Browse the repository at this point in the history
  4. Optimize the perf for indexing first chars

    Chong Gao committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    6741bef View commit details
    Browse the repository at this point in the history
  5. Fix comments from code review

    Chong Gao committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    330e828 View commit details
    Browse the repository at this point in the history
  6. Fix compile error

    Chong Gao committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    d216993 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. Configuration menu
    Copy the full SHA
    eb6744f View commit details
    Browse the repository at this point in the history
  2. Fix bugs; update tests

    Chong Gao committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    a32c54d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8391239 View commit details
    Browse the repository at this point in the history
  4. Update

    Chong Gao committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    5caf782 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Configuration menu
    Copy the full SHA
    41fb9ae View commit details
    Browse the repository at this point in the history