Skip to content

[CUB] warpspeed kernel: make scan_resources_t copy#9751

Merged
bernhardmgruber merged 1 commit into
NVIDIA:mainfrom
srinivasyadav18:warpspeed_ker_scan_res_copy
Jul 8, 2026
Merged

[CUB] warpspeed kernel: make scan_resources_t copy#9751
bernhardmgruber merged 1 commit into
NVIDIA:mainfrom
srinivasyadav18:warpspeed_ker_scan_res_copy

Conversation

@srinivasyadav18

@srinivasyadav18 srinivasyadav18 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Description

closes

This improves performance of warpspeed on sm90 using atomics (#9565).

It doesn't impact performance on current implementation for SM100+ .

Further it reduces SASS on

  • cub.bench.scan.exclusive.deterministic.base
  • cub.bench.scan.exclusive.sum.base
  • cub.bench.scan.exclusive.sum.lookahead.base

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@srinivasyadav18 srinivasyadav18 requested a review from a team as a code owner July 8, 2026 15:10
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Jul 8, 2026
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Jul 8, 2026
@srinivasyadav18

Copy link
Copy Markdown
Contributor Author

Performance Report

B200

deterministic — main → warpspeed_ker_scan_res_copy (avg %Diff: -0.05%)
|  T{ct}  |  OffsetT{ct}  |  Elements{io}  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|---------|---------------|----------------|------------|-------------|------------|-------------|-----------|---------|----------|
|   F32   |      I64      |      2^16      |  11.164 us |       4.00% |  11.177 us |       3.67% |  0.012 us |   0.11% |  🔵 SAME  |
|   F32   |      I64      |      2^20      |  13.994 us |       6.96% |  13.962 us |       7.01% | -0.032 us |  -0.23% |  🔵 SAME  |
|   F32   |      I64      |      2^24      |  36.414 us |       2.92% |  36.412 us |       2.84% | -0.002 us |  -0.00% |  🔵 SAME  |
|   F32   |      I64      |      2^28      | 320.482 us |       0.47% | 320.347 us |       0.48% | -0.134 us |  -0.04% |  🔵 SAME  |
|   F64   |      I64      |      2^16      |  11.257 us |       0.64% |  11.266 us |       0.66% |  0.010 us |   0.08% |  🔵 SAME  |
|   F64   |      I64      |      2^20      |  15.501 us |       3.75% |  15.436 us |       2.93% | -0.064 us |  -0.41% |  🔵 SAME  |
|   F64   |      I64      |      2^24      |  56.555 us |       1.89% |  56.601 us |       1.89% |  0.046 us |   0.08% |  🔵 SAME  |
|   F64   |      I64      |      2^28      | 620.459 us |       0.18% | 620.348 us |       0.18% | -0.111 us |  -0.02% |  🔵 SAME  |
lookahead — main → warpspeed_ker_scan_res_copy (avg %Diff: -0.09%)
|  T{ct}  |  OffsetT{ct}  |  Elements{io}  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|---------|---------------|----------------|------------|-------------|------------|-------------|------------|---------|----------|
|   I8    |      I64      |      2^16      |  11.264 us |       0.45% |  11.257 us |       0.50% |  -0.006 us |  -0.06% |  🔵 SAME  |
|   I8    |      I64      |      2^20      |  12.969 us |       5.78% |  13.020 us |       5.34% |   0.051 us |   0.40% |  🔵 SAME  |
|   I8    |      I64      |      2^24      |  27.817 us |       2.07% |  27.720 us |       1.42% |  -0.097 us |  -0.35% |  🔵 SAME  |
|   I8    |      I64      |      2^28      | 212.552 us |       0.44% | 209.279 us |       0.52% |  -3.273 us |  -1.54% |  🟢 FAST  |
|   I8    |      I64      |      2^32      |   3.223 ms |       0.35% |   3.171 ms |       0.29% | -52.714 us |  -1.64% |  🟢 FAST  |
|   I16   |      I64      |      2^16      |  11.246 us |       0.53% |  11.248 us |       0.98% |   0.002 us |   0.02% |  🔵 SAME  |
|   I16   |      I64      |      2^20      |  13.002 us |       5.62% |  13.025 us |       5.44% |   0.024 us |   0.18% |  🔵 SAME  |
|   I16   |      I64      |      2^24      |  29.896 us |       3.63% |  29.827 us |       3.60% |  -0.069 us |  -0.23% |  🔵 SAME  |
|   I16   |      I64      |      2^28      | 212.506 us |       0.56% | 212.013 us |       0.59% |  -0.493 us |  -0.23% |  🔵 SAME  |
|   I16   |      I64      |      2^32      |   3.414 ms |       1.92% |   3.400 ms |       2.09% | -14.589 us |  -0.43% |  🔵 SAME  |
|   I32   |      I64      |      2^16      |  10.450 us |       9.58% |  10.556 us |       9.22% |   0.106 us |   1.02% |  🔵 SAME  |
|   I32   |      I64      |      2^20      |  13.072 us |       5.08% |  12.930 us |       6.15% |  -0.142 us |  -1.08% |  🔵 SAME  |
|   I32   |      I64      |      2^24      |  35.231 us |       3.15% |  35.212 us |       3.18% |  -0.019 us |  -0.06% |  🔵 SAME  |
|   I32   |      I64      |      2^28      | 322.145 us |       0.51% | 322.235 us |       0.51% |   0.090 us |   0.03% |  🔵 SAME  |
|   I32   |      I64      |      2^32      |   5.205 ms |       1.13% |   5.189 ms |       1.23% | -15.545 us |  -0.30% |  🔵 SAME  |
|   I64   |      I64      |      2^16      |  12.142 us |       8.41% |  12.897 us |       6.56% |   0.754 us |   6.21% |  🔵 SAME  |
|   I64   |      I64      |      2^20      |  15.893 us |       5.71% |  16.201 us |       6.30% |   0.308 us |   1.94% |  🔵 SAME  |
|   I64   |      I64      |      2^24      |  54.198 us |       1.78% |  54.291 us |       1.83% |   0.093 us |   0.17% |  🔵 SAME  |
|   I64   |      I64      |      2^28      | 645.326 us |       2.23% | 643.963 us |       2.30% |  -1.363 us |  -0.21% |  🔵 SAME  |
|   I64   |      I64      |      2^32      |  10.614 ms |       1.12% |  10.611 ms |       1.05% |  -3.263 us |  -0.03% |  🔵 SAME  |
|  I128   |      I64      |      2^16      |  12.839 us |       6.67% |  12.848 us |       6.66% |   0.009 us |   0.07% |  🔵 SAME  |
|  I128   |      I64      |      2^20      |  21.656 us |       2.59% |  21.700 us |       2.86% |   0.044 us |   0.20% |  🔵 SAME  |
|  I128   |      I64      |      2^24      | 149.172 us |       0.79% | 147.993 us |       0.83% |  -1.179 us |  -0.79% |  🔵 SAME  |
|  I128   |      I64      |      2^28      |   2.056 ms |       0.15% |   2.055 ms |       0.15% |  -0.223 us |  -0.01% |  🔵 SAME  |
|  I128   |      I64      |      2^32      |  32.476 ms |       0.03% |  32.476 ms |       0.03% |   0.344 us |   0.00% |  🔵 SAME  |
|   F32   |      I64      |      2^16      |  11.101 us |       5.18% |  11.169 us |       3.79% |   0.068 us |   0.61% |  🔵 SAME  |
|   F32   |      I64      |      2^20      |  14.048 us |       7.21% |  14.238 us |       7.21% |   0.190 us |   1.35% |  🔵 SAME  |
|   F32   |      I64      |      2^24      |  36.750 us |       3.59% |  36.581 us |       3.50% |  -0.169 us |  -0.46% |  🔵 SAME  |
|   F32   |      I64      |      2^28      | 319.751 us |       0.50% | 319.751 us |       0.49% |  -0.000 us |  -0.00% |  🔵 SAME  |
|   F32   |      I64      |      2^32      |   4.897 ms |       0.81% |   4.891 ms |       0.72% |  -6.101 us |  -0.12% |  🔵 SAME  |
|   F64   |      I64      |      2^16      |  12.497 us |       7.96% |  11.439 us |       5.10% |  -1.057 us |  -8.46% |  🟢 FAST  |
|   F64   |      I64      |      2^20      |  15.875 us |       5.63% |  15.656 us |       4.64% |  -0.219 us |  -1.38% |  🔵 SAME  |
|   F64   |      I64      |      2^24      |  55.365 us |       2.02% |  55.103 us |       1.98% |  -0.262 us |  -0.47% |  🔵 SAME  |
|   F64   |      I64      |      2^28      | 621.310 us |       0.24% | 621.106 us |       0.22% |  -0.204 us |  -0.03% |  🔵 SAME  |
|   F64   |      I64      |      2^32      |  10.242 ms |       0.78% |  10.219 ms |       0.83% | -23.097 us |  -0.23% |  🔵 SAME  |
|   C32   |      I64      |      2^16      |  11.349 us |       3.58% |  11.451 us |       5.31% |   0.102 us |   0.90% |  🔵 SAME  |
|   C32   |      I64      |      2^20      |  15.401 us |       2.01% |  15.365 us |       1.15% |  -0.035 us |  -0.23% |  🔵 SAME  |
|   C32   |      I64      |      2^24      |  53.724 us |       2.24% |  53.719 us |       2.23% |  -0.005 us |  -0.01% |  🔵 SAME  |
|   C32   |      I64      |      2^28      | 621.488 us |       0.22% | 621.542 us |       0.23% |   0.054 us |   0.01% |  🔵 SAME  |
|   C32   |      I64      |      2^32      |   9.893 ms |       0.58% |   9.870 ms |       0.53% | -23.091 us |  -0.23% |  🔵 SAME  |
|   F16   |      I64      |      2^16      |  11.450 us |       5.29% |  11.586 us |       6.47% |   0.136 us |   1.19% |  🔵 SAME  |
|   F16   |      I64      |      2^20      |  13.343 us |       3.53% |  13.315 us |       3.50% |  -0.027 us |  -0.21% |  🔵 SAME  |
|   F16   |      I64      |      2^24      |  31.040 us |       3.59% |  30.913 us |       3.51% |  -0.127 us |  -0.41% |  🔵 SAME  |
|   F16   |      I64      |      2^28      | 224.782 us |       0.55% | 224.388 us |       0.50% |  -0.394 us |  -0.18% |  🔵 SAME  |
|   F16   |      I64      |      2^32      |   3.337 ms |       0.84% |   3.333 ms |       0.73% |  -4.908 us |  -0.15% |  🔵 SAME  |
|  BF16   |      I64      |      2^16      |  11.292 us |       2.31% |  11.286 us |       2.08% |  -0.006 us |  -0.05% |  🔵 SAME  |
|  BF16   |      I64      |      2^20      |  13.324 us |       1.92% |  13.330 us |       2.68% |   0.006 us |   0.05% |  🔵 SAME  |
|  BF16   |      I64      |      2^24      |  30.956 us |       3.84% |  31.217 us |       3.67% |   0.260 us |   0.84% |  🔵 SAME  |
|  BF16   |      I64      |      2^28      | 224.687 us |       0.52% | 224.329 us |       0.54% |  -0.358 us |  -0.16% |  🔵 SAME  |
|  BF16   |      I64      |      2^32      |   3.337 ms |       0.70% |   3.334 ms |       0.97% |  -3.218 us |  -0.10% |  🔵 SAME  |
sum — main → warpspeed_ker_scan_res_copy (avg %Diff: +0.03%)
|  T{ct}  |  OffsetT{ct}  |  Elements{io}  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|---------|---------------|----------------|------------|-------------|------------|-------------|------------|---------|----------|
|   I8    |      I32      |      2^16      |  11.263 us |       0.48% |  11.259 us |       0.48% |  -0.004 us |  -0.04% |  🔵 SAME  |
|   I8    |      I32      |      2^20      |  13.021 us |       5.32% |  13.045 us |       5.15% |   0.024 us |   0.19% |  🔵 SAME  |
|   I8    |      I32      |      2^24      |  27.830 us |       2.10% |  27.715 us |       1.36% |  -0.115 us |  -0.41% |  🔵 SAME  |
|   I8    |      I32      |      2^28      | 212.541 us |       0.46% | 209.390 us |       0.48% |  -3.151 us |  -1.48% |  🟢 FAST  |
|   I8    |      I64      |      2^16      |  11.262 us |       0.47% |  11.267 us |       0.67% |   0.005 us |   0.05% |  🔵 SAME  |
|   I8    |      I64      |      2^20      |  13.206 us |       3.11% |  13.162 us |       3.87% |  -0.044 us |  -0.33% |  🔵 SAME  |
|   I8    |      I64      |      2^24      |  28.041 us |       2.90% |  27.947 us |       2.60% |  -0.094 us |  -0.33% |  🔵 SAME  |
|   I8    |      I64      |      2^28      | 213.827 us |       0.40% | 210.611 us |       0.50% |  -3.216 us |  -1.50% |  🟢 FAST  |
|   I8    |      I64      |      2^32      |   3.223 ms |       0.36% |   3.170 ms |       0.25% | -52.660 us |  -1.63% |  🟢 FAST  |
|   I16   |      I32      |      2^16      |  11.260 us |       0.44% |  11.259 us |       0.45% |  -0.001 us |  -0.01% |  🔵 SAME  |
|   I16   |      I32      |      2^20      |  13.035 us |       5.47% |  13.143 us |       4.24% |   0.108 us |   0.83% |  🔵 SAME  |
|   I16   |      I32      |      2^24      |  28.245 us |       3.48% |  28.233 us |       3.46% |  -0.012 us |  -0.04% |  🔵 SAME  |
|   I16   |      I32      |      2^28      | 214.041 us |       0.61% | 213.652 us |       0.64% |  -0.390 us |  -0.18% |  🔵 SAME  |
|   I16   |      I64      |      2^16      |  11.264 us |       0.53% |  11.258 us |       0.49% |  -0.006 us |  -0.05% |  🔵 SAME  |
|   I16   |      I64      |      2^20      |  12.770 us |       7.04% |  12.867 us |       6.50% |   0.097 us |   0.76% |  🔵 SAME  |
|   I16   |      I64      |      2^24      |  29.790 us |       3.34% |  29.866 us |       3.61% |   0.076 us |   0.25% |  🔵 SAME  |
|   I16   |      I64      |      2^28      | 212.369 us |       0.60% | 211.778 us |       0.58% |  -0.592 us |  -0.28% |  🔵 SAME  |
|   I16   |      I64      |      2^32      |   3.337 ms |       1.80% |   3.329 ms |       1.80% |  -8.259 us |  -0.25% |  🔵 SAME  |
|   I32   |      I32      |      2^16      |   9.547 us |       7.95% |   9.640 us |       8.62% |   0.092 us |   0.97% |  🔵 SAME  |
|   I32   |      I32      |      2^20      |  13.125 us |       4.54% |  13.135 us |       4.57% |   0.010 us |   0.08% |  🔵 SAME  |
|   I32   |      I32      |      2^24      |  35.670 us |       3.01% |  35.801 us |       3.34% |   0.131 us |   0.37% |  🔵 SAME  |
|   I32   |      I32      |      2^28      | 322.490 us |       0.51% | 322.513 us |       0.53% |   0.023 us |   0.01% |  🔵 SAME  |
|   I32   |      I64      |      2^16      |   9.510 us |       7.59% |   9.523 us |       7.70% |   0.014 us |   0.14% |  🔵 SAME  |
|   I32   |      I64      |      2^20      |  12.843 us |       6.69% |  12.808 us |       6.87% |  -0.035 us |  -0.27% |  🔵 SAME  |
|   I32   |      I64      |      2^24      |  35.952 us |       3.23% |  35.966 us |       3.51% |   0.014 us |   0.04% |  🔵 SAME  |
|   I32   |      I64      |      2^28      | 322.340 us |       0.56% | 322.399 us |       0.52% |   0.059 us |   0.02% |  🔵 SAME  |
|   I32   |      I64      |      2^32      |   5.112 ms |       1.20% |   5.103 ms |       1.19% |  -8.932 us |  -0.17% |  🔵 SAME  |
|   I64   |      I32      |      2^16      |  12.405 us |       8.22% |  11.427 us |       4.83% |  -0.978 us |  -7.89% |  🟢 FAST  |
|   I64   |      I32      |      2^20      |  15.898 us |       5.70% |  17.614 us |       3.72% |   1.716 us |  10.80% |  🔴 SLOW  |
|   I64   |      I32      |      2^24      |  54.110 us |       1.69% |  54.560 us |       2.20% |   0.449 us |   0.83% |  🔵 SAME  |
|   I64   |      I32      |      2^28      | 624.114 us |       0.29% | 623.866 us |       0.30% |  -0.248 us |  -0.04% |  🔵 SAME  |
|   I64   |      I64      |      2^16      |  11.259 us |       0.43% |  11.248 us |       0.48% |  -0.011 us |  -0.10% |  🔵 SAME  |
|   I64   |      I64      |      2^20      |  15.528 us |       3.80% |  15.815 us |       5.50% |   0.287 us |   1.85% |  🔵 SAME  |
|   I64   |      I64      |      2^24      |  53.992 us |       1.80% |  54.005 us |       1.89% |   0.013 us |   0.02% |  🔵 SAME  |
|   I64   |      I64      |      2^28      | 624.598 us |       0.43% | 623.908 us |       0.29% |  -0.690 us |  -0.11% |  🔵 SAME  |
|   I64   |      I64      |      2^32      |  10.457 ms |       0.89% |  10.442 ms |       0.83% | -15.025 us |  -0.14% |  🔵 SAME  |
|  I128   |      I32      |      2^16      |  12.641 us |       7.61% |  12.737 us |       7.25% |   0.096 us |   0.76% |  🔵 SAME  |
|  I128   |      I32      |      2^20      |  21.685 us |       2.74% |  21.729 us |       3.05% |   0.045 us |   0.21% |  🔵 SAME  |
|  I128   |      I32      |      2^24      | 149.486 us |       0.78% | 149.000 us |       0.75% |  -0.486 us |  -0.33% |  🔵 SAME  |
|  I128   |      I32      |      2^28      |   2.053 ms |       0.15% |   2.054 ms |       0.15% |   0.423 us |   0.02% |  🔵 SAME  |
|  I128   |      I64      |      2^16      |  12.877 us |       6.50% |  12.957 us |       5.97% |   0.079 us |   0.62% |  🔵 SAME  |
|  I128   |      I64      |      2^20      |  22.481 us |       4.60% |  22.756 us |       4.48% |   0.275 us |   1.22% |  🔵 SAME  |
|  I128   |      I64      |      2^24      | 149.431 us |       0.75% | 149.926 us |       0.77% |   0.495 us |   0.33% |  🔵 SAME  |
|  I128   |      I64      |      2^28      |   2.054 ms |       0.15% |   2.054 ms |       0.16% |   0.142 us |   0.01% |  🔵 SAME  |
|  I128   |      I64      |      2^32      |  32.464 ms |       0.03% |  32.466 ms |       0.03% |   2.705 us |   0.01% |  🔵 SAME  |
|   F32   |      I32      |      2^16      |  10.371 us |       9.73% |  10.465 us |       9.52% |   0.094 us |   0.90% |  🔵 SAME  |
|   F32   |      I32      |      2^20      |  13.278 us |       2.42% |  13.292 us |       2.55% |   0.013 us |   0.10% |  🔵 SAME  |
|   F32   |      I32      |      2^24      |  36.467 us |       2.82% |  36.408 us |       2.90% |  -0.060 us |  -0.16% |  🔵 SAME  |
|   F32   |      I32      |      2^28      | 320.703 us |       0.48% | 320.793 us |       0.43% |   0.090 us |   0.03% |  🔵 SAME  |
|   F32   |      I64      |      2^16      |  10.597 us |       9.00% |  10.395 us |       9.72% |  -0.202 us |  -1.90% |  🔵 SAME  |
|   F32   |      I64      |      2^20      |  13.289 us |       3.41% |  13.270 us |       3.35% |  -0.019 us |  -0.15% |  🔵 SAME  |
|   F32   |      I64      |      2^24      |  36.619 us |       2.98% |  36.594 us |       2.94% |  -0.024 us |  -0.07% |  🔵 SAME  |
|   F32   |      I64      |      2^28      | 320.635 us |       0.42% | 320.559 us |       0.48% |  -0.076 us |  -0.02% |  🔵 SAME  |
|   F32   |      I64      |      2^32      |   4.873 ms |       0.63% |   4.858 ms |       0.73% | -15.410 us |  -0.32% |  🔵 SAME  |
|   F64   |      I32      |      2^16      |  11.343 us |       3.68% |  11.275 us |       1.74% |  -0.068 us |  -0.60% |  🔵 SAME  |
|   F64   |      I32      |      2^20      |  16.092 us |       6.12% |  15.925 us |       5.75% |  -0.167 us |  -1.04% |  🔵 SAME  |
|   F64   |      I32      |      2^24      |  56.621 us |       2.09% |  56.722 us |       2.11% |   0.101 us |   0.18% |  🔵 SAME  |
|   F64   |      I32      |      2^28      | 622.487 us |       0.23% | 622.716 us |       0.25% |   0.229 us |   0.04% |  🔵 SAME  |
|   F64   |      I64      |      2^16      |  11.263 us |       0.67% |  11.257 us |       0.44% |  -0.007 us |  -0.06% |  🔵 SAME  |
|   F64   |      I64      |      2^20      |  16.120 us |       6.20% |  16.015 us |       6.02% |  -0.105 us |  -0.65% |  🔵 SAME  |
|   F64   |      I64      |      2^24      |  56.425 us |       1.94% |  56.460 us |       1.82% |   0.035 us |   0.06% |  🔵 SAME  |
|   F64   |      I64      |      2^28      | 622.403 us |       0.24% | 622.571 us |       0.24% |   0.168 us |   0.03% |  🔵 SAME  |
|   F64   |      I64      |      2^32      |  10.143 ms |       0.84% |  10.095 ms |       0.84% | -48.044 us |  -0.47% |  🔵 SAME  |
|   C32   |      I32      |      2^16      |  11.285 us |       2.33% |  11.285 us |       2.05% |   0.000 us |   0.00% |  🔵 SAME  |
|   C32   |      I32      |      2^20      |  15.577 us |       4.16% |  15.606 us |       4.37% |   0.029 us |   0.19% |  🔵 SAME  |
|   C32   |      I32      |      2^24      |  54.680 us |       2.03% |  54.758 us |       1.91% |   0.078 us |   0.14% |  🔵 SAME  |
|   C32   |      I32      |      2^28      | 622.448 us |       0.23% | 622.397 us |       0.22% |  -0.052 us |  -0.01% |  🔵 SAME  |
|   C32   |      I64      |      2^16      |  11.258 us |       0.48% |  11.265 us |       0.50% |   0.007 us |   0.06% |  🔵 SAME  |
|   C32   |      I64      |      2^20      |  15.450 us |       2.95% |  15.524 us |       3.77% |   0.074 us |   0.48% |  🔵 SAME  |
|   C32   |      I64      |      2^24      |  54.506 us |       1.82% |  54.653 us |       1.91% |   0.147 us |   0.27% |  🔵 SAME  |
|   C32   |      I64      |      2^28      | 622.271 us |       0.22% | 622.440 us |       0.21% |   0.170 us |   0.03% |  🔵 SAME  |
|   C32   |      I64      |      2^32      |   9.832 ms |       0.46% |   9.789 ms |       0.45% | -42.450 us |  -0.43% |  🔵 SAME  |
|   F16   |      I32      |      2^16      |  11.258 us |       1.17% |  11.293 us |       2.58% |   0.035 us |   0.31% |  🔵 SAME  |
|   F16   |      I32      |      2^20      |  13.300 us |       2.34% |  13.264 us |       2.85% |  -0.035 us |  -0.27% |  🔵 SAME  |
|   F16   |      I32      |      2^24      |  28.913 us |       3.91% |  29.151 us |       3.93% |   0.238 us |   0.82% |  🔵 SAME  |
|   F16   |      I32      |      2^28      | 225.601 us |       0.53% | 225.448 us |       0.51% |  -0.153 us |  -0.07% |  🔵 SAME  |
|   F16   |      I64      |      2^16      |  11.261 us |       0.45% |  11.261 us |       0.44% |   0.001 us |   0.01% |  🔵 SAME  |
|   F16   |      I64      |      2^20      |  13.278 us |       2.56% |  13.244 us |       2.70% |  -0.034 us |  -0.26% |  🔵 SAME  |
|   F16   |      I64      |      2^24      |  28.816 us |       3.86% |  28.934 us |       4.04% |   0.119 us |   0.41% |  🔵 SAME  |
|   F16   |      I64      |      2^28      | 225.466 us |       0.54% | 225.222 us |       0.50% |  -0.244 us |  -0.11% |  🔵 SAME  |
|   F16   |      I64      |      2^32      |   3.338 ms |       0.81% |   3.333 ms |       0.69% |  -4.784 us |  -0.14% |  🔵 SAME  |
|  BF16   |      I32      |      2^16      |  11.260 us |       0.43% |  11.263 us |       0.52% |   0.003 us |   0.03% |  🔵 SAME  |
|  BF16   |      I32      |      2^20      |  13.280 us |       2.14% |  13.293 us |       1.87% |   0.013 us |   0.10% |  🔵 SAME  |
|  BF16   |      I32      |      2^24      |  28.984 us |       3.95% |  29.137 us |       3.79% |   0.153 us |   0.53% |  🔵 SAME  |
|  BF16   |      I32      |      2^28      | 225.525 us |       0.50% | 225.271 us |       0.48% |  -0.255 us |  -0.11% |  🔵 SAME  |
|  BF16   |      I64      |      2^16      |  11.259 us |       0.59% |  11.264 us |       0.47% |   0.004 us |   0.04% |  🔵 SAME  |
|  BF16   |      I64      |      2^20      |  13.269 us |       2.33% |  13.278 us |       2.07% |   0.009 us |   0.07% |  🔵 SAME  |
|  BF16   |      I64      |      2^24      |  29.016 us |       3.96% |  29.100 us |       3.71% |   0.084 us |   0.29% |  🔵 SAME  |
|  BF16   |      I64      |      2^28      | 225.656 us |       0.55% | 225.304 us |       0.51% |  -0.353 us |  -0.16% |  🔵 SAME  |
|  BF16   |      I64      |      2^32      |   3.338 ms |       0.74% |   3.333 ms |       0.71% |  -4.640 us |  -0.14% |  🔵 SAME  |

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: af7006be-2af4-4712-8ace-b365403d006e

📥 Commits

Reviewing files that changed from the base of the PR and between 3f87270 and 273a050.

📒 Files selected for processing (1)
  • cub/cub/device/dispatch/kernels/kernel_scan_lookahead.cuh

📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Improved internal scan handling to make lookahead processing more reliable and consistent.
    • Reduced the risk of issues caused by shared state being accessed indirectly during device-side scan operations.

Walkthrough

The res member of lookahead_scan_closure in kernel_scan_lookahead.cuh changes from a reference type (scan_resources_t&) to a value type (scan_resources_t), affecting how the closure accesses shared scan resources during kernel dispatch.

Changes

Scan closure resource ownership

Layer / File(s) Summary
Closure member type change
cub/cub/device/dispatch/kernels/kernel_scan_lookahead.cuh
lookahead_scan_closure's res field changes from scan_resources_t& to scan_resources_t, so the closure now stores a copy rather than an alias to the externally created resources.

critical: This changes res from a reference to a value copy, meaning the closure now operates on a separate copy of scan_resources_t instead of the shared instance. If scan_resources_t holds mutable state (e.g., counters, tile status) meant to be shared/mutated across the squad, this silently breaks that sharing — dispatch_squad and other closures using the original res object will no longer see updates made through this closure's copy. Verify scan_resources_t is trivially copyable and that no shared mutable state is lost; otherwise revert to reference semantics.


Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 2h 36m: Pass: 100%/287 | Total: 11d 17h | Max: 2h 34m | Hits: 20%/955032

See results here.

@bernhardmgruber bernhardmgruber merged commit 6b2c2b6 into NVIDIA:main Jul 8, 2026
309 of 310 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants