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

Fast path for experimental::row::equality #12676

Merged
merged 22 commits into from
Feb 16, 2023

Conversation

divyegala
Copy link
Member

@divyegala divyegala commented Feb 2, 2023

This PR adds a fast path for primitive types similar to experimental::row::lexicographic. The compilation impact for building on bare-metal from source with command ./build.sh libcudf tests benchmarks for baseline 16m43.607s vs this branch 17m13.987s.

This PR is a part of #12593.

Algorithms and benchmarks (those that were available are linked) affected by this change:
experimental::row::equality::self_comparator

experimental::row::equality::two_table_comparator

  • struct_binary_ops
  • lists/contains
  • contains_scalar (This algorithm does not need a primitive type optimization because the enclosing struct already type-dispatches based on nested vs non-nested types)
  • contains_table
  • one_hot_encode

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@divyegala divyegala added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Feb 2, 2023
@github-actions github-actions bot added the libcudf Affects libcudf (C++/CUDA) code. label Feb 2, 2023
@codecov
Copy link

codecov bot commented Feb 2, 2023

Codecov Report

❗ No coverage uploaded for pull request base (branch-23.04@d787ff2). Click here to learn what that means.
Patch has no changes to coverable lines.

❗ Current head c6bc7f5 differs from pull request most recent head b52d0f3. Consider uploading reports for the commit b52d0f3 to get more accurate results

Additional details and impacted files
@@               Coverage Diff               @@
##             branch-23.04   #12676   +/-   ##
===============================================
  Coverage                ?   85.85%           
===============================================
  Files                   ?      158           
  Lines                   ?    25204           
  Branches                ?        0           
===============================================
  Hits                    ?    21638           
  Misses                  ?     3566           
  Partials                ?        0           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@divyegala
Copy link
Member Author

divyegala commented Feb 2, 2023

group_nunique benchmarks

|  T  |  num_rows  |  null_probability  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-----|------------|--------------------|------------|-------------|------------|-------------|------------|---------|----------|
| I32 |    2^12    |         0          | 402.823 us |      36.86% | 405.176 us |      35.07% |   2.353 us |   0.58% |   PASS   |
| I32 |    2^16    |         0          | 609.317 us |      12.58% | 609.058 us |      11.42% |  -0.259 us |  -0.04% |   PASS   |
| I32 |    2^20    |         0          |   3.528 ms |       0.81% |   3.526 ms |       1.59% |  -2.469 us |  -0.07% |   PASS   |
| I32 |    2^24    |         0          |  76.574 ms |       0.07% |  76.656 ms |       0.08% |  81.547 us |   0.11% |   FAIL   |
| I32 |    2^12    |        0.5         | 483.507 us |       1.31% | 488.266 us |       1.49% |   4.759 us |   0.98% |   PASS   |
| I32 |    2^16    |        0.5         | 762.067 us |       0.82% | 769.652 us |       0.94% |   7.585 us |   1.00% |   FAIL   |
| I32 |    2^20    |        0.5         |   3.577 ms |       0.28% |   3.586 ms |       0.33% |   9.691 us |   0.27% |   PASS   |
| I32 |    2^24    |        0.5         |  66.755 ms |       0.08% |  66.724 ms |       0.10% | -31.373 us |  -0.05% |   PASS   |
| I64 |    2^12    |         0          | 454.067 us |       1.04% | 464.569 us |       1.22% |  10.502 us |   2.31% |   FAIL   |
| I64 |    2^16    |         0          | 681.461 us |       0.87% | 700.918 us |       6.99% |  19.457 us |   2.86% |   FAIL   |
| I64 |    2^20    |         0          |   4.547 ms |       0.31% |   4.567 ms |       0.34% |  19.428 us |   0.43% |   FAIL   |
| I64 |    2^24    |         0          |  95.811 ms |       0.11% |  95.950 ms |       0.09% | 138.986 us |   0.15% |   FAIL   |
| I64 |    2^12    |        0.5         | 531.606 us |       1.39% | 540.718 us |       1.30% |   9.113 us |   1.71% |   FAIL   |
| I64 |    2^16    |        0.5         | 823.917 us |       0.67% | 842.901 us |       0.78% |  18.984 us |   2.30% |   FAIL   |
| I64 |    2^20    |        0.5         |   4.099 ms |       0.29% |   4.107 ms |       0.32% |   8.007 us |   0.20% |   PASS   |
| I64 |    2^24    |        0.5         |  75.938 ms |       0.05% |  75.954 ms |       0.10% |  15.545 us |   0.02% |   PASS   |

@divyegala
Copy link
Member Author

group_rank_scan benchmarks

|  rank_method  |  data_size  |  is_sorted  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |         Diff |   %Diff |  Status  |
|---------------|-------------|-------------|------------|-------------|------------|-------------|--------------|---------|----------|
|    AVERAGE    |   1000000   |      0      |   4.041 ms |       1.78% |   4.067 ms |       2.11% |    26.080 us |   0.65% |   PASS   |
|    AVERAGE    |  10000000   |      0      |  47.015 ms |       0.24% |  46.670 ms |       0.16% |  -344.994 us |  -0.73% |   FAIL   |
|    AVERAGE    |  100000000  |      0      | 541.792 ms |       0.06% | 538.392 ms |       0.07% | -3400.241 us |  -0.63% |   FAIL   |
|    AVERAGE    |   1000000   |      1      | 364.873 us |       1.85% | 329.973 us |       6.86% |   -34.900 us |  -9.56% |   FAIL   |
|    AVERAGE    |  10000000   |      1      |   2.412 ms |       0.26% |   2.101 ms |       0.30% |  -310.856 us | -12.89% |   FAIL   |
|    AVERAGE    |  100000000  |      1      |  22.922 ms |       0.07% |  19.876 ms |       0.06% | -3045.741 us | -13.29% |   FAIL   |
|     DENSE     |   1000000   |      0      |   3.859 ms |       0.35% |   3.891 ms |       0.36% |    32.642 us |   0.85% |   FAIL   |
|     DENSE     |  10000000   |      0      |  45.843 ms |       0.24% |  45.633 ms |       0.18% |  -209.641 us |  -0.46% |   FAIL   |
|     DENSE     |  100000000  |      0      | 524.649 ms |       0.09% | 522.650 ms |       0.09% | -1999.134 us |  -0.38% |   FAIL   |
|     DENSE     |   1000000   |      1      | 200.620 us |       2.27% | 183.179 us |       1.71% |   -17.441 us |  -8.69% |   FAIL   |
|     DENSE     |  10000000   |      1      |   1.311 ms |       0.32% |   1.156 ms |       0.31% |  -154.982 us | -11.83% |   FAIL   |
|     DENSE     |  100000000  |      1      |  12.307 ms |       0.08% |  10.789 ms |       0.11% | -1517.864 us | -12.33% |   FAIL   |
|     FIRST     |   1000000   |      0      |   3.763 ms |       0.34% |   3.813 ms |       0.39% |    49.689 us |   1.32% |   FAIL   |
|     FIRST     |  10000000   |      0      |  45.153 ms |       0.18% |  45.099 ms |       0.18% |   -54.613 us |  -0.12% |   PASS   |
|     FIRST     |  100000000  |      0      | 517.302 ms |       0.10% | 516.628 ms |       0.07% |  -674.544 us |  -0.13% |   FAIL   |
|     FIRST     |   1000000   |      1      | 110.328 us |       2.32% | 110.402 us |       2.71% |     0.074 us |   0.07% |   PASS   |
|     FIRST     |  10000000   |      1      | 700.478 us |       0.35% | 701.165 us |       0.44% |     0.687 us |   0.10% |   PASS   |
|     FIRST     |  100000000  |      1      |   6.534 ms |       0.08% |   6.535 ms |       0.07% |     0.891 us |   0.01% |   PASS   |
|      MAX      |   1000000   |      0      |   3.852 ms |       0.35% |   3.887 ms |       0.35% |    35.511 us |   0.92% |   FAIL   |
|      MAX      |  10000000   |      0      |  45.723 ms |       0.14% |  45.654 ms |       0.24% |   -69.446 us |  -0.15% |   FAIL   |
|      MAX      |  100000000  |      0      | 524.283 ms |       0.08% | 522.428 ms |       0.09% | -1854.836 us |  -0.35% |   FAIL   |
|      MAX      |   1000000   |      1      | 193.703 us |       2.35% | 178.333 us |       2.15% |   -15.370 us |  -7.93% |   FAIL   |
|      MAX      |  10000000   |      1      |   1.299 ms |       0.42% |   1.146 ms |       0.43% |  -152.728 us | -11.76% |   FAIL   |
|      MAX      |  100000000  |      1      |  12.282 ms |       0.08% |  10.771 ms |       0.12% | -1510.449 us | -12.30% |   FAIL   |
|      MIN      |   1000000   |      0      |   3.855 ms |       0.32% |   3.893 ms |       0.39% |    38.661 us |   1.00% |   FAIL   |
|      MIN      |  10000000   |      0      |  45.831 ms |       0.24% |  45.620 ms |       0.17% |  -210.944 us |  -0.46% |   FAIL   |
|      MIN      |  100000000  |      0      | 524.571 ms |       0.08% | 522.666 ms |       0.07% | -1905.479 us |  -0.36% |   FAIL   |
|      MIN      |   1000000   |      1      | 199.662 us |       1.71% | 182.925 us |       2.30% |   -16.737 us |  -8.38% |   FAIL   |
|      MIN      |  10000000   |      1      |   1.304 ms |       0.29% |   1.150 ms |       0.38% |  -153.722 us | -11.79% |   FAIL   |
|      MIN      |  100000000  |      1      |  12.261 ms |       0.05% |  10.738 ms |       0.08% | -1522.587 us | -12.42% |   FAIL   |

@divyegala
Copy link
Member Author

rank_scan benchmarks

|        T        |  null_probability  |  data_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|-----------------|--------------------|-------------|------------|-------------|------------|-------------|-------------|---------|----------|
|       I32       |         0          |    10000    |  40.527 us |     109.91% |  42.649 us |      96.94% |    2.122 us |   5.24% |   PASS   |
|       I32       |        0.1         |    10000    |  39.183 us |       5.50% |  40.670 us |      39.28% |    1.487 us |   3.80% |   PASS   |
|       I32       |        0.5         |    10000    |  39.473 us |      36.81% |  40.585 us |       5.55% |    1.112 us |   2.82% |   PASS   |
|       I32       |        0.9         |    10000    |  39.354 us |      85.62% |  40.417 us |      25.22% |    1.063 us |   2.70% |   PASS   |
|       I32       |         0          |   100000    |  39.897 us |      73.24% |  40.721 us |      35.22% |    0.825 us |   2.07% |   PASS   |
|       I32       |        0.1         |   100000    |  40.071 us |      39.53% |  41.454 us |      27.25% |    1.382 us |   3.45% |   PASS   |
|       I32       |        0.5         |   100000    |  40.037 us |      24.40% |  41.390 us |      26.40% |    1.352 us |   3.38% |   PASS   |
|       I32       |        0.9         |   100000    |  39.499 us |      21.11% |  41.247 us |       5.54% |    1.748 us |   4.43% |   PASS   |
|       I32       |         0          |   1000000   |  47.225 us |      16.26% |  46.294 us |      32.25% |   -0.931 us |  -1.97% |   PASS   |
|       I32       |        0.1         |   1000000   |  49.389 us |      20.32% |  47.466 us |       5.70% |   -1.922 us |  -3.89% |   PASS   |
|       I32       |        0.5         |   1000000   |  49.354 us |      17.73% |  47.145 us |       4.62% |   -2.210 us |  -4.48% |   PASS   |
|       I32       |        0.9         |   1000000   |  47.917 us |       4.77% |  46.006 us |       4.87% |   -1.911 us |  -3.99% |   PASS   |
|       I32       |         0          |  10000000   | 124.127 us |       1.62% | 101.254 us |       2.95% |  -22.873 us | -18.43% |   FAIL   |
|       I32       |        0.1         |  10000000   | 144.272 us |      16.48% | 113.908 us |       1.98% |  -30.363 us | -21.05% |   FAIL   |
|       I32       |        0.5         |  10000000   | 142.564 us |       1.21% | 112.959 us |      26.83% |  -29.605 us | -20.77% |   FAIL   |
|       I32       |        0.9         |  10000000   | 131.225 us |      14.27% | 103.348 us |       2.28% |  -27.878 us | -21.24% |   FAIL   |
|       I32       |         0          |  100000000  | 889.590 us |       0.27% | 643.820 us |       0.56% | -245.770 us | -27.63% |   FAIL   |
|       I32       |        0.1         |  100000000  |   1.095 ms |       3.34% | 770.303 us |       0.47% | -324.444 us | -29.64% |   FAIL   |
|       I32       |        0.5         |  100000000  |   1.076 ms |       0.20% | 753.085 us |       6.45% | -323.216 us | -30.03% |   FAIL   |
|       I32       |        0.9         |  100000000  | 950.130 us |       0.28% | 663.956 us |       0.50% | -286.174 us | -30.12% |   FAIL   |

@divyegala
Copy link
Member Author

divyegala commented Feb 2, 2023

distinct benchmarks

|        Type        |  NumRows  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|--------------------|-----------|------------|-------------|------------|-------------|-------------|---------|----------|
|        bool        |   10000   | 120.161 us |      67.46% | 125.064 us |      53.77% |    4.903 us |   4.08% |   PASS   |
|        bool        |  100000   | 147.971 us |      49.32% | 144.156 us |       2.80% |   -3.814 us |  -2.58% |   PASS   |
|        bool        |  1000000  | 432.603 us |       8.39% | 372.855 us |      15.41% |  -59.748 us | -13.81% |   FAIL   |
|        bool        | 10000000  |   3.265 ms |       0.87% |   2.584 ms |       0.29% | -681.694 us | -20.88% |   FAIL   |
|         I8         |   10000   | 116.704 us |       4.54% | 120.506 us |      18.41% |    3.802 us |   3.26% |   PASS   |
|         I8         |  100000   | 140.141 us |      11.39% | 141.235 us |      11.56% |    1.095 us |   0.78% |   PASS   |
|         I8         |  1000000  | 425.493 us |       3.37% | 363.209 us |       6.88% |  -62.283 us | -14.64% |   FAIL   |
|         I8         | 10000000  |   3.218 ms |       2.16% |   2.558 ms |       2.90% | -659.794 us | -20.50% |   FAIL   |
|        I32         |   10000   | 116.704 us |       5.33% | 119.585 us |       4.28% |    2.881 us |   2.47% |   PASS   |
|        I32         |  100000   | 139.783 us |       2.47% | 143.033 us |      22.00% |    3.250 us |   2.33% |   PASS   |
|        I32         |  1000000  | 424.833 us |       7.83% | 368.011 us |       1.06% |  -56.822 us | -13.38% |   FAIL   |
|        I32         | 10000000  |   3.204 ms |       0.26% |   2.580 ms |       0.50% | -623.880 us | -19.47% |   FAIL   |
|        I64         |   10000   | 116.453 us |       4.77% | 120.659 us |      26.02% |    4.206 us |   3.61% |   PASS   |
|        I64         |  100000   | 142.435 us |       3.33% | 142.523 us |       3.96% |    0.087 us |   0.06% |   PASS   |
|        I64         |  1000000  | 424.099 us |       1.67% | 374.038 us |       7.47% |  -50.061 us | -11.80% |   FAIL   |
|        I64         | 10000000  |   3.239 ms |       1.70% |   2.692 ms |       1.96% | -547.820 us | -16.91% |   FAIL   |
|        F32         |   10000   | 116.567 us |       5.04% | 121.058 us |      19.06% |    4.491 us |   3.85% |   PASS   |
|        F32         |  100000   | 152.474 us |       3.36% | 149.195 us |       3.24% |   -3.279 us |  -2.15% |   PASS   |
|        F32         |  1000000  | 597.029 us |       0.77% | 508.815 us |       0.87% |  -88.215 us | -14.78% |   FAIL   |
|        F32         | 10000000  |   6.355 ms |       0.11% |   5.385 ms |       0.14% | -969.829 us | -15.26% |   FAIL   |
| cudf::timestamp_ms |   10000   | 116.446 us |       4.39% | 120.755 us |       4.78% |    4.310 us |   3.70% |   PASS   |
| cudf::timestamp_ms |  100000   | 141.787 us |       2.82% | 143.721 us |       2.99% |    1.934 us |   1.36% |   PASS   |
| cudf::timestamp_ms |  1000000  | 434.040 us |       0.96% | 376.607 us |      10.88% |  -57.432 us | -13.23% |   FAIL   |
| cudf::timestamp_ms | 10000000  |   3.351 ms |       0.15% |   2.716 ms |       0.23% | -634.790 us | -18.94% |   FAIL   |

@divyegala
Copy link
Member Author

divyegala commented Feb 2, 2023

unique benchmarks

|        Type        |  KeepOption  |  NumRows  |  Sort  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|--------------------|--------------|-----------|--------|------------|-------------|------------|-------------|------------|---------|----------|
|        bool        |  KEEP_FIRST  |   10000   |   0    | 105.426 us |      74.45% | 106.374 us |      75.78% |   0.948 us |   0.90% |   PASS   |
|        bool        |  KEEP_FIRST  |  100000   |   0    | 125.206 us |      31.32% | 115.132 us |      26.21% | -10.074 us |  -8.05% |   PASS   |
|        bool        |  KEEP_FIRST  |  1000000  |   0    | 128.912 us |      17.26% | 121.134 us |      30.68% |  -7.778 us |  -6.03% |   PASS   |
|        bool        |  KEEP_FIRST  | 10000000  |   0    | 501.243 us |       7.45% | 455.415 us |      12.14% | -45.827 us |  -9.14% |   FAIL   |
|        bool        |  KEEP_FIRST  |   10000   |   1    |  98.486 us |       4.78% | 101.897 us |      16.95% |   3.411 us |   3.46% |   PASS   |
|        bool        |  KEEP_FIRST  |  100000   |   1    | 116.029 us |      13.19% | 115.323 us |      14.25% |  -0.706 us |  -0.61% |   PASS   |
|        bool        |  KEEP_FIRST  |  1000000  |   1    | 123.946 us |      12.56% | 117.307 us |      11.67% |  -6.639 us |  -5.36% |   PASS   |
|        bool        |  KEEP_FIRST  | 10000000  |   1    | 350.157 us |       9.46% | 303.884 us |       6.11% | -46.273 us | -13.21% |   FAIL   |
|        bool        |  KEEP_LAST   |   10000   |   0    | 101.704 us |       5.23% | 102.094 us |      19.80% |   0.390 us |   0.38% |   PASS   |
|        bool        |  KEEP_LAST   |  100000   |   0    | 116.068 us |      12.06% | 113.120 us |      13.53% |  -2.948 us |  -2.54% |   PASS   |
|        bool        |  KEEP_LAST   |  1000000  |   0    | 128.134 us |       5.93% | 120.572 us |       4.75% |  -7.562 us |  -5.90% |   FAIL   |
|        bool        |  KEEP_LAST   | 10000000  |   0    | 502.506 us |       1.54% | 453.382 us |       6.24% | -49.124 us |  -9.78% |   FAIL   |
|        bool        |  KEEP_LAST   |   10000   |   1    |  98.878 us |       3.71% | 102.312 us |       3.52% |   3.434 us |   3.47% |   PASS   |
|        bool        |  KEEP_LAST   |  100000   |   1    | 114.835 us |      14.80% | 112.770 us |       3.18% |  -2.065 us |  -1.80% |   PASS   |
|        bool        |  KEEP_LAST   |  1000000  |   1    | 124.859 us |       5.44% | 117.891 us |       4.72% |  -6.968 us |  -5.58% |   FAIL   |
|        bool        |  KEEP_LAST   | 10000000  |   1    | 364.725 us |       1.87% | 318.753 us |      11.54% | -45.972 us | -12.60% |   FAIL   |
|        bool        |  KEEP_NONE   |   10000   |   0    | 107.293 us |      24.90% | 105.603 us |      20.74% |  -1.690 us |  -1.58% |   PASS   |
|        bool        |  KEEP_NONE   |  100000   |   0    | 120.726 us |       5.05% | 115.335 us |       3.45% |  -5.391 us |  -4.47% |   FAIL   |
|        bool        |  KEEP_NONE   |  1000000  |   0    | 139.902 us |       4.78% | 128.496 us |       3.41% | -11.406 us |  -8.15% |   FAIL   |
|        bool        |  KEEP_NONE   | 10000000  |   0    | 516.635 us |       7.11% | 473.517 us |       1.32% | -43.118 us |  -8.35% |   FAIL   |
|        bool        |  KEEP_NONE   |   10000   |   1    |  73.497 us |       3.80% |  74.500 us |       3.49% |   1.003 us |   1.36% |   PASS   |
|        bool        |  KEEP_NONE   |  100000   |   1    |  90.220 us |       4.40% |  89.086 us |       4.19% |  -1.134 us |  -1.26% |   PASS   |
|        bool        |  KEEP_NONE   |  1000000  |   1    |  98.743 us |       6.48% |  90.687 us |       5.39% |  -8.056 us |  -8.16% |   FAIL   |
|        bool        |  KEEP_NONE   | 10000000  |   1    | 324.985 us |       2.12% | 279.294 us |       2.17% | -45.690 us | -14.06% |   FAIL   |
|         I8         |  KEEP_FIRST  |   10000   |   0    |  99.686 us |       3.37% |  99.481 us |      18.87% |  -0.205 us |  -0.21% |   PASS   |
|         I8         |  KEEP_FIRST  |  100000   |   0    | 102.024 us |       3.80% | 107.277 us |       3.76% |   5.253 us |   5.15% |   FAIL   |
|         I8         |  KEEP_FIRST  |  1000000  |   0    | 124.032 us |       3.24% | 117.326 us |       5.79% |  -6.706 us |  -5.41% |   FAIL   |
|         I8         |  KEEP_FIRST  | 10000000  |   0    | 557.847 us |       0.74% | 508.926 us |       6.78% | -48.921 us |  -8.77% |   FAIL   |
|         I8         |  KEEP_FIRST  |   10000   |   1    | 100.504 us |      22.63% |  98.785 us |      18.00% |  -1.720 us |  -1.71% |   PASS   |
|         I8         |  KEEP_FIRST  |  100000   |   1    | 102.409 us |       3.97% | 108.172 us |       5.04% |   5.763 us |   5.63% |   FAIL   |
|         I8         |  KEEP_FIRST  |  1000000  |   1    | 120.147 us |       4.65% | 114.199 us |       3.52% |  -5.948 us |  -4.95% |   FAIL   |
|         I8         |  KEEP_FIRST  | 10000000  |   1    | 327.512 us |       0.95% | 289.433 us |       1.71% | -38.079 us | -11.63% |   FAIL   |
|         I8         |  KEEP_LAST   |   10000   |   0    |  99.484 us |       3.02% |  99.211 us |       3.81% |  -0.273 us |  -0.27% |   PASS   |
|         I8         |  KEEP_LAST   |  100000   |   0    | 102.539 us |       2.71% | 107.346 us |       4.70% |   4.807 us |   4.69% |   FAIL   |
|         I8         |  KEEP_LAST   |  1000000  |   0    | 126.235 us |      32.39% | 119.419 us |      28.83% |  -6.816 us |  -5.40% |   PASS   |
|         I8         |  KEEP_LAST   | 10000000  |   0    | 559.780 us |       0.60% | 509.967 us |       0.73% | -49.813 us |  -8.90% |   FAIL   |
|         I8         |  KEEP_LAST   |   10000   |   1    |  98.933 us |       3.66% |  99.393 us |       4.16% |   0.460 us |   0.46% |   PASS   |
|         I8         |  KEEP_LAST   |  100000   |   1    | 102.713 us |       4.00% | 106.538 us |       3.26% |   3.825 us |   3.72% |   FAIL   |
|         I8         |  KEEP_LAST   |  1000000  |   1    | 121.187 us |       2.96% | 116.203 us |      24.24% |  -4.984 us |  -4.11% |   FAIL   |
|         I8         |  KEEP_LAST   | 10000000  |   1    | 342.069 us |       1.23% | 304.077 us |       1.43% | -37.993 us | -11.11% |   FAIL   |
|         I8         |  KEEP_NONE   |   10000   |   0    | 101.797 us |       3.71% | 102.054 us |       3.88% |   0.257 us |   0.25% |   PASS   |
|         I8         |  KEEP_NONE   |  100000   |   0    | 104.347 us |       3.15% | 110.092 us |       3.63% |   5.745 us |   5.51% |   FAIL   |
|         I8         |  KEEP_NONE   |  1000000  |   0    | 135.877 us |       2.38% | 125.295 us |       2.67% | -10.582 us |  -7.79% |   FAIL   |
|         I8         |  KEEP_NONE   | 10000000  |   0    | 530.234 us |       1.02% | 472.160 us |       1.03% | -58.073 us | -10.95% |   FAIL   |
|         I8         |  KEEP_NONE   |   10000   |   1    |  75.048 us |       4.39% |  73.788 us |       3.60% |  -1.260 us |  -1.68% |   PASS   |
|         I8         |  KEEP_NONE   |  100000   |   1    |  75.749 us |      35.99% |  79.085 us |      36.36% |   3.336 us |   4.40% |   PASS   |
|         I8         |  KEEP_NONE   |  1000000  |   1    |  94.967 us |       3.27% |  88.201 us |       3.30% |  -6.767 us |  -7.13% |   FAIL   |
|         I8         |  KEEP_NONE   | 10000000  |   1    | 303.147 us |       0.96% | 261.961 us |       1.53% | -41.186 us | -13.59% |   FAIL   |
|        I32         |  KEEP_FIRST  |   10000   |   0    | 105.230 us |       3.48% |  96.619 us |       3.92% |  -8.612 us |  -8.18% |   FAIL   |
|        I32         |  KEEP_FIRST  |  100000   |   0    | 107.823 us |       2.78% | 106.068 us |       4.22% |  -1.755 us |  -1.63% |   PASS   |
|        I32         |  KEEP_FIRST  |  1000000  |   0    | 144.364 us |       2.20% | 131.150 us |      24.23% | -13.214 us |  -9.15% |   FAIL   |
|        I32         |  KEEP_FIRST  | 10000000  |   0    | 776.929 us |       0.51% | 713.446 us |       0.69% | -63.483 us |  -8.17% |   FAIL   |
|        I32         |  KEEP_FIRST  |   10000   |   1    | 104.620 us |       3.74% |  96.617 us |       3.76% |  -8.003 us |  -7.65% |   FAIL   |
|        I32         |  KEEP_FIRST  |  100000   |   1    | 109.131 us |       3.17% | 109.100 us |       4.13% |  -0.031 us |  -0.03% |   PASS   |
|        I32         |  KEEP_FIRST  |  1000000  |   1    | 133.773 us |      28.85% | 121.925 us |      30.85% | -11.847 us |  -8.86% |   PASS   |
|        I32         |  KEEP_FIRST  | 10000000  |   1    | 399.746 us |       1.08% | 337.115 us |       1.10% | -62.631 us | -15.67% |   FAIL   |
|        I32         |  KEEP_LAST   |   10000   |   0    | 104.357 us |       3.84% |  96.855 us |       3.54% |  -7.502 us |  -7.19% |   FAIL   |
|        I32         |  KEEP_LAST   |  100000   |   0    | 107.364 us |       2.85% | 106.582 us |       5.38% |  -0.782 us |  -0.73% |   PASS   |
|        I32         |  KEEP_LAST   |  1000000  |   0    | 142.767 us |       2.04% | 129.801 us |       2.96% | -12.965 us |  -9.08% |   FAIL   |
|        I32         |  KEEP_LAST   | 10000000  |   0    | 776.177 us |       0.46% | 712.386 us |       7.93% | -63.790 us |  -8.22% |   FAIL   |
|        I32         |  KEEP_LAST   |   10000   |   1    | 104.806 us |       2.90% | 103.517 us |       6.31% |  -1.289 us |  -1.23% |   PASS   |
|        I32         |  KEEP_LAST   |  100000   |   1    | 109.649 us |       3.68% | 106.823 us |       3.87% |  -2.826 us |  -2.58% |   PASS   |
|        I32         |  KEEP_LAST   |  1000000  |   1    | 134.104 us |       3.09% | 125.278 us |      31.58% |  -8.826 us |  -6.58% |   FAIL   |
|        I32         |  KEEP_LAST   | 10000000  |   1    | 402.032 us |       0.88% | 339.892 us |       1.23% | -62.141 us | -15.46% |   FAIL   |
|        I32         |  KEEP_NONE   |   10000   |   0    | 107.445 us |       2.99% | 102.237 us |       5.79% |  -5.208 us |  -4.85% |   FAIL   |
|        I32         |  KEEP_NONE   |  100000   |   0    | 110.282 us |      40.52% | 109.445 us |       4.55% |  -0.838 us |  -0.76% |   PASS   |
|        I32         |  KEEP_NONE   |  1000000  |   0    | 144.029 us |       2.64% | 131.374 us |       4.16% | -12.655 us |  -8.79% |   FAIL   |
|        I32         |  KEEP_NONE   | 10000000  |   0    | 592.471 us |       0.79% | 522.184 us |       1.26% | -70.287 us | -11.86% |   FAIL   |
|        I32         |  KEEP_NONE   |   10000   |   1    |  78.607 us |       3.26% |  73.503 us |      36.00% |  -5.104 us |  -6.49% |   FAIL   |
|        I32         |  KEEP_NONE   |  100000   |   1    |  79.780 us |       3.91% |  80.381 us |       5.95% |   0.601 us |   0.75% |   PASS   |
|        I32         |  KEEP_NONE   |  1000000  |   1    | 103.338 us |       3.28% |  96.556 us |       3.79% |  -6.782 us |  -6.56% |   FAIL   |
|        I32         |  KEEP_NONE   | 10000000  |   1    | 377.176 us |       1.08% | 357.660 us |       1.67% | -19.516 us |  -5.17% |   FAIL   |
|        I64         |  KEEP_FIRST  |   10000   |   0    | 101.545 us |       4.00% | 106.498 us |       3.78% |   4.953 us |   4.88% |   FAIL   |
|        I64         |  KEEP_FIRST  |  100000   |   0    | 102.984 us |       3.82% | 118.839 us |       3.88% |  15.855 us |  15.40% |   FAIL   |
|        I64         |  KEEP_FIRST  |  1000000  |   0    | 192.291 us |       1.73% | 197.731 us |      29.57% |   5.439 us |   2.83% |   FAIL   |
|        I64         |  KEEP_FIRST  | 10000000  |   0    |   1.060 ms |       0.36% |   1.045 ms |       0.59% | -14.914 us |  -1.41% |   FAIL   |
|        I64         |  KEEP_FIRST  |   10000   |   1    | 101.982 us |       3.11% | 108.815 us |       5.89% |   6.833 us |   6.70% |   FAIL   |
|        I64         |  KEEP_FIRST  |  100000   |   1    | 102.889 us |       3.86% | 122.858 us |       5.04% |  19.969 us |  19.41% |   FAIL   |
|        I64         |  KEEP_FIRST  |  1000000  |   1    | 135.647 us |       2.44% | 143.858 us |       4.84% |   8.211 us |   6.05% |   FAIL   |
|        I64         |  KEEP_FIRST  | 10000000  |   1    | 441.043 us |       0.89% | 428.565 us |       1.40% | -12.478 us |  -2.83% |   FAIL   |
|        I64         |  KEEP_LAST   |   10000   |   0    | 101.573 us |       3.64% | 106.856 us |       3.78% |   5.283 us |   5.20% |   FAIL   |
|        I64         |  KEEP_LAST   |  100000   |   0    | 103.500 us |       3.88% | 121.885 us |      39.99% |  18.385 us |  17.76% |   FAIL   |
|        I64         |  KEEP_LAST   |  1000000  |   0    | 194.356 us |       1.75% | 200.615 us |       2.76% |   6.260 us |   3.22% |   FAIL   |
|        I64         |  KEEP_LAST   | 10000000  |   0    |   1.060 ms |       0.49% |   1.046 ms |       0.56% | -14.267 us |  -1.35% |   FAIL   |
|        I64         |  KEEP_LAST   |   10000   |   1    | 102.474 us |       3.59% | 109.357 us |       5.80% |   6.883 us |   6.72% |   FAIL   |
|        I64         |  KEEP_LAST   |  100000   |   1    | 103.123 us |       2.89% | 121.248 us |       4.72% |  18.125 us |  17.58% |   FAIL   |
|        I64         |  KEEP_LAST   |  1000000  |   1    | 136.935 us |       3.44% | 142.839 us |       3.63% |   5.905 us |   4.31% |   FAIL   |
|        I64         |  KEEP_LAST   | 10000000  |   1    | 445.649 us |       9.11% | 433.736 us |       1.29% | -11.913 us |  -2.67% |   FAIL   |
|        I64         |  KEEP_NONE   |   10000   |   0    | 105.739 us |       3.47% | 110.692 us |      30.27% |   4.953 us |   4.68% |   FAIL   |
|        I64         |  KEEP_NONE   |  100000   |   0    | 105.835 us |       3.63% | 119.934 us |       3.20% |  14.099 us |  13.32% |   FAIL   |
|        I64         |  KEEP_NONE   |  1000000  |   0    | 149.762 us |       2.44% | 149.136 us |       2.69% |  -0.627 us |  -0.42% |   PASS   |
|        I64         |  KEEP_NONE   | 10000000  |   0    | 651.864 us |       0.70% | 654.450 us |       0.97% |   2.586 us |   0.40% |   PASS   |
|        I64         |  KEEP_NONE   |   10000   |   1    |  75.998 us |       4.55% |  81.098 us |       3.88% |   5.101 us |   6.71% |   FAIL   |
|        I64         |  KEEP_NONE   |  100000   |   1    |  77.089 us |       3.85% |  95.909 us |       5.56% |  18.820 us |  24.41% |   FAIL   |
|        I64         |  KEEP_NONE   |  1000000  |   1    | 111.233 us |       4.90% | 113.041 us |       3.47% |   1.807 us |   1.62% |   PASS   |
|        I64         |  KEEP_NONE   | 10000000  |   1    | 396.857 us |       0.65% | 481.945 us |       1.51% |  85.088 us |  21.44% |   FAIL   |
|        F32         |  KEEP_FIRST  |   10000   |   0    | 101.562 us |       3.46% | 105.202 us |       4.76% |   3.640 us |   3.58% |   FAIL   |
|        F32         |  KEEP_FIRST  |  100000   |   0    | 111.840 us |       3.35% | 114.932 us |       3.08% |   3.091 us |   2.76% |   PASS   |
|        F32         |  KEEP_FIRST  |  1000000  |   0    | 141.494 us |       3.96% | 141.776 us |       3.04% |   0.282 us |   0.20% |   PASS   |
|        F32         |  KEEP_FIRST  | 10000000  |   0    | 780.542 us |       0.71% | 744.821 us |       0.63% | -35.722 us |  -4.58% |   FAIL   |
|        F32         |  KEEP_FIRST  |   10000   |   1    | 104.244 us |       3.95% | 107.103 us |       3.81% |   2.859 us |   2.74% |   PASS   |
|        F32         |  KEEP_FIRST  |  100000   |   1    | 114.463 us |       3.04% | 120.665 us |      45.69% |   6.203 us |   5.42% |   FAIL   |
|        F32         |  KEEP_FIRST  |  1000000  |   1    | 151.554 us |       3.29% | 150.442 us |      16.46% |  -1.112 us |  -0.73% |   PASS   |
|        F32         |  KEEP_FIRST  | 10000000  |   1    | 725.598 us |       0.79% | 691.262 us |      15.46% | -34.337 us |  -4.73% |   FAIL   |
|        F32         |  KEEP_LAST   |   10000   |   0    | 102.512 us |       3.84% | 104.129 us |      26.37% |   1.618 us |   1.58% |   PASS   |
|        F32         |  KEEP_LAST   |  100000   |   0    | 113.546 us |       3.52% | 113.370 us |      16.98% |  -0.176 us |  -0.16% |   PASS   |
|        F32         |  KEEP_LAST   |  1000000  |   0    | 140.714 us |       3.98% | 140.801 us |      23.08% |   0.087 us |   0.06% |   PASS   |
|        F32         |  KEEP_LAST   | 10000000  |   0    | 779.466 us |       4.51% | 743.040 us |       3.90% | -36.426 us |  -4.67% |   FAIL   |
|        F32         |  KEEP_LAST   |   10000   |   1    | 104.599 us |       3.80% | 106.394 us |      10.35% |   1.795 us |   1.72% |   PASS   |
|        F32         |  KEEP_LAST   |  100000   |   1    | 113.715 us |       3.42% | 116.994 us |       5.62% |   3.279 us |   2.88% |   PASS   |
|        F32         |  KEEP_LAST   |  1000000  |   1    | 151.891 us |       3.48% | 150.486 us |      19.78% |  -1.405 us |  -0.93% |   PASS   |
|        F32         |  KEEP_LAST   | 10000000  |   1    | 723.979 us |       0.73% | 686.314 us |       3.53% | -37.666 us |  -5.20% |   FAIL   |
|        F32         |  KEEP_NONE   |   10000   |   0    | 106.532 us |       3.20% | 106.619 us |      20.10% |   0.087 us |   0.08% |   PASS   |
|        F32         |  KEEP_NONE   |  100000   |   0    | 115.957 us |       2.92% | 115.906 us |       3.31% |  -0.051 us |  -0.04% |   PASS   |
|        F32         |  KEEP_NONE   |  1000000  |   0    | 145.043 us |       3.48% | 137.928 us |       3.74% |  -7.115 us |  -4.91% |   FAIL   |
|        F32         |  KEEP_NONE   | 10000000  |   0    | 601.570 us |       1.24% | 571.706 us |       0.99% | -29.863 us |  -4.96% |   FAIL   |
|        F32         |  KEEP_NONE   |   10000   |   1    | 106.972 us |       3.95% | 108.319 us |       3.54% |   1.347 us |   1.26% |   PASS   |
|        F32         |  KEEP_NONE   |  100000   |   1    | 117.138 us |       6.01% | 120.641 us |      22.19% |   3.502 us |   2.99% |   PASS   |
|        F32         |  KEEP_NONE   |  1000000  |   1    | 146.725 us |       2.65% | 139.540 us |       3.10% |  -7.185 us |  -4.90% |   FAIL   |
|        F32         |  KEEP_NONE   | 10000000  |   1    | 544.034 us |       0.91% | 513.078 us |       8.77% | -30.956 us |  -5.69% |   FAIL   |
| cudf::timestamp_ms |  KEEP_FIRST  |   10000   |   0    | 102.038 us |       3.48% | 104.629 us |      20.15% |   2.592 us |   2.54% |   PASS   |
| cudf::timestamp_ms |  KEEP_FIRST  |  100000   |   0    | 121.080 us |       3.30% | 118.954 us |       3.15% |  -2.126 us |  -1.76% |   PASS   |
| cudf::timestamp_ms |  KEEP_FIRST  |  1000000  |   0    | 203.229 us |       3.74% | 192.566 us |       3.60% | -10.663 us |  -5.25% |   FAIL   |
| cudf::timestamp_ms |  KEEP_FIRST  | 10000000  |   0    |   1.095 ms |       0.69% |   1.050 ms |       4.21% | -44.400 us |  -4.06% |   FAIL   |
| cudf::timestamp_ms |  KEEP_FIRST  |   10000   |   1    | 101.906 us |       2.91% | 107.885 us |       7.34% |   5.979 us |   5.87% |   FAIL   |
| cudf::timestamp_ms |  KEEP_FIRST  |  100000   |   1    | 121.348 us |       3.33% | 131.557 us |       8.25% |  10.209 us |   8.41% |   FAIL   |
| cudf::timestamp_ms |  KEEP_FIRST  |  1000000  |   1    | 143.187 us |       5.15% | 147.423 us |       7.88% |   4.235 us |   2.96% |   PASS   |
| cudf::timestamp_ms |  KEEP_FIRST  | 10000000  |   1    | 412.384 us |       2.00% | 374.747 us |       3.36% | -37.637 us |  -9.13% |   FAIL   |
| cudf::timestamp_ms |  KEEP_LAST   |   10000   |   0    | 102.952 us |       3.83% | 116.270 us |      34.02% |  13.318 us |  12.94% |   FAIL   |
| cudf::timestamp_ms |  KEEP_LAST   |  100000   |   0    | 120.817 us |       3.43% | 124.622 us |       8.38% |   3.805 us |   3.15% |   PASS   |
| cudf::timestamp_ms |  KEEP_LAST   |  1000000  |   0    | 202.039 us |       3.66% | 200.458 us |       5.55% |  -1.580 us |  -0.78% |   PASS   |
| cudf::timestamp_ms |  KEEP_LAST   | 10000000  |   0    |   1.091 ms |       0.68% |   1.057 ms |       1.06% | -34.619 us |  -3.17% |   FAIL   |
| cudf::timestamp_ms |  KEEP_LAST   |   10000   |   1    | 101.023 us |       2.69% | 115.096 us |      61.10% |  14.073 us |  13.93% |   FAIL   |
| cudf::timestamp_ms |  KEEP_LAST   |  100000   |   1    | 120.935 us |       6.14% | 130.068 us |      51.79% |   9.133 us |   7.55% |   FAIL   |
| cudf::timestamp_ms |  KEEP_LAST   |  1000000  |   1    | 142.873 us |       5.40% | 146.950 us |       7.79% |   4.077 us |   2.85% |   PASS   |
| cudf::timestamp_ms |  KEEP_LAST   | 10000000  |   1    | 421.391 us |       2.41% | 388.232 us |      17.79% | -33.159 us |  -7.87% |   FAIL   |
| cudf::timestamp_ms |  KEEP_NONE   |   10000   |   0    | 106.234 us |       3.95% | 118.379 us |       8.85% |  12.146 us |  11.43% |   FAIL   |
| cudf::timestamp_ms |  KEEP_NONE   |  100000   |   0    | 122.509 us |       3.31% | 131.186 us |       8.74% |   8.677 us |   7.08% |   FAIL   |
| cudf::timestamp_ms |  KEEP_NONE   |  1000000  |   0    | 155.476 us |       6.01% | 158.464 us |      29.72% |   2.988 us |   1.92% |   PASS   |
| cudf::timestamp_ms |  KEEP_NONE   | 10000000  |   0    | 702.659 us |       1.12% | 668.219 us |      14.25% | -34.440 us |  -4.90% |   FAIL   |
| cudf::timestamp_ms |  KEEP_NONE   |   10000   |   1    |  76.425 us |       3.30% |  85.420 us |      12.03% |   8.995 us |  11.77% |   FAIL   |
| cudf::timestamp_ms |  KEEP_NONE   |  100000   |   1    |  91.645 us |       2.16% | 101.504 us |      10.03% |   9.858 us |  10.76% |   FAIL   |
| cudf::timestamp_ms |  KEEP_NONE   |  1000000  |   1    | 113.316 us |       5.60% | 118.270 us |       9.35% |   4.954 us |   4.37% |   PASS   |
| cudf::timestamp_ms |  KEEP_NONE   | 10000000  |   1    | 383.639 us |       1.98% | 350.156 us |       3.43% | -33.483 us |  -8.73% |   FAIL   |

@divyegala
Copy link
Member Author

contains_scalar benchmarks

|  data_size  |  has_nulls  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|-------------|-------------|------------|-------------|------------|-------------|-----------|---------|----------|
|    2^10     |      0      |  37.151 us |      85.19% |  35.437 us |     122.97% | -1.714 us |  -4.61% |   PASS   |
|    2^12     |      0      |  38.474 us |      50.30% |  36.480 us |      50.25% | -1.994 us |  -5.18% |   PASS   |
|    2^14     |      0      |  38.476 us |      24.17% |  37.518 us |      50.78% | -0.958 us |  -2.49% |   PASS   |
|    2^16     |      0      |  38.316 us |      30.10% |  37.501 us |       3.90% | -0.815 us |  -2.13% |   PASS   |
|    2^18     |      0      |  40.930 us |      20.53% |  40.084 us |      83.47% | -0.846 us |  -2.07% |   PASS   |
|    2^20     |      0      |  47.305 us |      25.25% |  45.338 us |      53.45% | -1.967 us |  -4.16% |   PASS   |
|    2^22     |      0      |  66.533 us |       3.15% |  64.927 us |       2.44% | -1.607 us |  -2.42% |   PASS   |
|    2^24     |      0      | 125.766 us |      18.82% | 123.543 us |       1.16% | -2.223 us |  -1.77% |   FAIL   |
|    2^26     |      0      | 356.898 us |       0.75% | 355.682 us |      11.18% | -1.215 us |  -0.34% |   PASS   |
|    2^10     |      1      |  36.100 us |      34.48% |  34.761 us |      35.69% | -1.339 us |  -3.71% |   PASS   |
|    2^12     |      1      |  38.750 us |       5.13% |  36.897 us |       4.02% | -1.853 us |  -4.78% |   FAIL   |
|    2^14     |      1      |  38.943 us |      52.97% |  37.235 us |      17.48% | -1.708 us |  -4.39% |   PASS   |
|    2^16     |      1      |  39.427 us |       5.80% |  38.351 us |      36.89% | -1.076 us |  -2.73% |   PASS   |
|    2^18     |      1      |  40.683 us |       5.62% |  39.301 us |       7.48% | -1.382 us |  -3.40% |   PASS   |
|    2^20     |      1      |  47.921 us |      45.26% |  45.533 us |       4.49% | -2.388 us |  -4.98% |   FAIL   |
|    2^22     |      1      |  69.024 us |       2.93% |  66.356 us |       3.22% | -2.668 us |  -3.87% |   FAIL   |
|    2^24     |      1      | 129.735 us |       1.87% | 126.840 us |       1.55% | -2.895 us |  -2.23% |   FAIL   |
|    2^26     |      1      | 374.296 us |       0.66% | 372.177 us |      13.75% | -2.118 us |  -0.57% |   PASS   |

@vyasr
Copy link
Contributor

vyasr commented Feb 2, 2023

Some of these look like big wins! distinct and rank_scan have some >20% improvements if I'm reading this correctly?

@divyegala divyegala marked this pull request as ready for review February 2, 2023 23:09
@divyegala divyegala requested a review from a team as a code owner February 2, 2023 23:09
cpp/src/binaryop/compiled/struct_binary_ops.cuh Outdated Show resolved Hide resolved
cpp/src/reductions/scan/rank_scan.cu Outdated Show resolved Hide resolved
cpp/src/search/contains_scalar.cu Outdated Show resolved Hide resolved
cpp/src/transform/one_hot_encode.cu Outdated Show resolved Hide resolved
Copy link
Contributor

@hyperbolic2346 hyperbolic2346 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know the performance impact on compilation for this change?

In general I think this is a nice run time performance and it might justify the compilation penalty, but I'd like to know what the penalty would be here.

Nits on a few places with _ on incoming variables and not on member variables.

cpp/src/groupby/sort/group_rank_scan.cu Outdated Show resolved Hide resolved
@divyegala
Copy link
Member Author

@hyperbolic2346 I added the compilation impact to the description of this PR

cpp/src/sort/rank.cu Outdated Show resolved Hide resolved
cpp/src/sort/rank.cu Outdated Show resolved Hide resolved
@GregoryKimball
Copy link
Contributor

GregoryKimball commented Feb 14, 2023

We did a benchmarking analysis for this PR using commit c6bc7f5f. Looks like an excellent change!

We observe up to 40% speedup for simple types in rank_scan at 100M scale.
image

Also up to 25% speedup for simple types in distinct at 10M scale.
image

Up to 10% speedup for simple types in unique at 10M scale.
image

@ttnghia
Copy link
Contributor

ttnghia commented Feb 14, 2023

Why do we have a V shape? Whyyyyyyy?

@GregoryKimball
Copy link
Contributor

GregoryKimball commented Feb 14, 2023

Why do we have a V shape? Whyyyyyyy?

It's good! The V is because this commit is faster than the baseline runs before and after.

@ttnghia
Copy link
Contributor

ttnghia commented Feb 14, 2023

Oh I see. So the benchmarks in the graph are independent, aren't they? I thought that the latter commits merged into the former ones.

@divyegala
Copy link
Member Author

@ttnghia in a way, the latter commits are merged into the former ones because the baseline is main. This PR is a one-off benchmark that may have former commits merged into it depending on when main was last merged into HEAD

@divyegala
Copy link
Member Author

/merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants