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

Add b200 policies for cub.device.partition.flagged,if #3617

Merged
merged 10 commits into from
Feb 7, 2025

Conversation

bernhardmgruber
Copy link
Contributor

@bernhardmgruber bernhardmgruber commented Jan 30, 2025

@bernhardmgruber bernhardmgruber requested a review from a team as a code owner January 30, 2025 19:09
@bernhardmgruber bernhardmgruber marked this pull request as draft January 30, 2025 19:09
Copy link

copy-pr-bot bot commented Jan 30, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

Copy link
Contributor

🟨 CI finished in 1h 38m: Pass: 98%/89 | Total: 2d 13h | Avg: 41m 29s | Max: 1h 17m | Hits: 291%/10936
  • 🟨 cub: Pass: 97%/44 | Total: 1d 13h | Avg: 51m 44s | Max: 1h 15m | Hits: 355%/3552

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  97%/42  | Total:  1d 11h | Avg: 51m 22s | Max:  1h 15m | Hits: 355%/3552  
      🟩 arm64              Pass: 100%/2   | Total:  1h 58m | Avg: 59m 23s | Max:  1h 00m
    🔍 ctk: 12.6 🔍
      🟩 12.0               Pass: 100%/5   | Total:  4h 52m | Avg: 58m 32s | Max:  1h 00m | Hits: 355%/888   
      🟩 12.5               Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 09m
      🔍 12.6               Pass:  97%/37  | Total:  1d 06h | Avg: 49m 54s | Max:  1h 15m | Hits: 355%/2664  
    🔍 cudacxx: nvcc12.6 🔍
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  2h 04m | Avg:  1h 02m | Max:  1h 05m
      🟩 nvcc12.0           Pass: 100%/5   | Total:  4h 52m | Avg: 58m 32s | Max:  1h 00m | Hits: 355%/888   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 09m
      🔍 nvcc12.6           Pass:  97%/35  | Total:  1d 04h | Avg: 49m 11s | Max:  1h 15m | Hits: 355%/2664  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  2h 04m | Avg:  1h 02m | Max:  1h 05m
      🔍 nvcc               Pass:  97%/42  | Total:  1d 11h | Avg: 51m 14s | Max:  1h 15m | Hits: 355%/3552  
    🔍 cxx: GCC13 🔍
      🟩 Clang14            Pass: 100%/4   | Total:  3h 49m | Avg: 57m 17s | Max: 58m 25s
      🟩 Clang15            Pass: 100%/2   | Total:  1h 53m | Avg: 56m 39s | Max: 57m 22s
      🟩 Clang16            Pass: 100%/2   | Total:  1h 53m | Avg: 56m 51s | Max: 59m 42s
      🟩 Clang17            Pass: 100%/2   | Total:  1h 52m | Avg: 56m 23s | Max: 59m 49s
      🟩 Clang18            Pass: 100%/7   | Total:  5h 45m | Avg: 49m 25s | Max:  1h 05m
      🟩 GCC7               Pass: 100%/2   | Total:  1h 56m | Avg: 58m 18s | Max: 59m 36s
      🟩 GCC8               Pass: 100%/1   | Total: 51m 44s | Avg: 51m 44s | Max: 51m 44s
      🟩 GCC9               Pass: 100%/2   | Total:  2h 01m | Avg:  1h 00m | Max:  1h 01m
      🟩 GCC10              Pass: 100%/2   | Total:  1h 57m | Avg: 58m 45s | Max:  1h 02m
      🟩 GCC11              Pass: 100%/2   | Total:  1h 55m | Avg: 57m 40s | Max:  1h 00m
      🟩 GCC12              Pass: 100%/4   | Total:  2h 39m | Avg: 39m 57s | Max:  1h 02m
      🔍 GCC13              Pass:  87%/8   | Total:  4h 26m | Avg: 33m 15s | Max:  1h 01m
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 10m | Avg:  1h 05m | Max:  1h 11m | Hits: 355%/1776  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 25m | Avg:  1h 12m | Max:  1h 15m | Hits: 355%/1776  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 09m
    🔍 cxx_family: GCC 🔍
      🟩 Clang              Pass: 100%/17  | Total: 15h 14m | Avg: 53m 49s | Max:  1h 05m
      🔍 GCC                Pass:  95%/21  | Total: 15h 48m | Avg: 45m 10s | Max:  1h 02m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 35m | Avg:  1h 08m | Max:  1h 15m | Hits: 355%/3552  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 09m
    🔍 gpu: v100 🔍
      🟩 h100               Pass: 100%/2   | Total: 42m 51s | Avg: 21m 25s | Max: 23m 12s
      🔍 v100               Pass:  97%/42  | Total:  1d 13h | Avg: 53m 11s | Max:  1h 15m | Hits: 355%/3552  
    🚨 jobs: DeviceLaunch 🚨
      🟩 Build              Pass: 100%/37  | Total:  1d 11h | Avg: 57m 55s | Max:  1h 15m | Hits: 355%/3552  
      🔥 DeviceLaunch       Pass:   0%/1   | Total:  3m 45s | Avg:  3m 45s | Max:  3m 45s
      🟩 GraphCapture       Pass: 100%/1   | Total: 17m 29s | Avg: 17m 29s | Max: 17m 29s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 07m | Avg: 22m 21s | Max: 24m 35s
      🟩 TestGPU            Pass: 100%/2   | Total: 45m 21s | Avg: 22m 40s | Max: 23m 21s
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/20  | Total: 20h 07m | Avg:  1h 00m | Max:  1h 15m | Hits: 356%/2664  
      🔍 20                 Pass:  95%/24  | Total: 17h 49m | Avg: 44m 34s | Max:  1h 10m | Hits: 354%/888   
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 42m 51s | Avg: 21m 25s | Max: 23m 12s
      🟩 90a                Pass: 100%/1   | Total: 23m 27s | Avg: 23m 27s | Max: 23m 27s
    
  • 🟩 thrust: Pass: 100%/42 | Total: 22h 36m | Avg: 32m 17s | Max: 1h 17m | Hits: 261%/7384

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 39m 45s | Avg: 19m 52s | Max: 26m 06s
    🟩 cpu
      🟩 amd64              Pass: 100%/40  | Total: 21h 39m | Avg: 32m 29s | Max:  1h 17m | Hits: 261%/7384  
      🟩 arm64              Pass: 100%/2   | Total: 56m 30s | Avg: 28m 15s | Max: 29m 32s
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  3h 02m | Avg: 36m 35s | Max: 57m 27s | Hits: 260%/1846  
      🟩 12.5               Pass: 100%/2   | Total:  1h 44m | Avg: 52m 00s | Max: 54m 59s
      🟩 12.6               Pass: 100%/35  | Total: 17h 49m | Avg: 30m 32s | Max:  1h 17m | Hits: 261%/5538  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 52m 57s | Avg: 26m 28s | Max: 28m 36s
      🟩 nvcc12.0           Pass: 100%/5   | Total:  3h 02m | Avg: 36m 35s | Max: 57m 27s | Hits: 260%/1846  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  1h 44m | Avg: 52m 00s | Max: 54m 59s
      🟩 nvcc12.6           Pass: 100%/33  | Total: 16h 56m | Avg: 30m 47s | Max:  1h 17m | Hits: 261%/5538  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 52m 57s | Avg: 26m 28s | Max: 28m 36s
      🟩 nvcc               Pass: 100%/40  | Total: 21h 43m | Avg: 32m 34s | Max:  1h 17m | Hits: 261%/7384  
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  1h 59m | Avg: 29m 58s | Max: 30m 27s
      🟩 Clang15            Pass: 100%/2   | Total: 57m 34s | Avg: 28m 47s | Max: 29m 31s
      🟩 Clang16            Pass: 100%/2   | Total:  1h 02m | Avg: 31m 26s | Max: 32m 58s
      🟩 Clang17            Pass: 100%/2   | Total:  1h 02m | Avg: 31m 26s | Max: 32m 13s
      🟩 Clang18            Pass: 100%/7   | Total:  2h 43m | Avg: 23m 23s | Max: 32m 42s
      🟩 GCC7               Pass: 100%/2   | Total:  1h 02m | Avg: 31m 06s | Max: 31m 35s
      🟩 GCC8               Pass: 100%/1   | Total: 32m 10s | Avg: 32m 10s | Max: 32m 10s
      🟩 GCC9               Pass: 100%/2   | Total:  1h 04m | Avg: 32m 08s | Max: 33m 50s
      🟩 GCC10              Pass: 100%/2   | Total:  1h 06m | Avg: 33m 07s | Max: 35m 12s
      🟩 GCC11              Pass: 100%/2   | Total:  1h 03m | Avg: 31m 46s | Max: 34m 01s
      🟩 GCC12              Pass: 100%/2   | Total:  1h 07m | Avg: 33m 41s | Max: 34m 44s
      🟩 GCC13              Pass: 100%/8   | Total:  3h 00m | Avg: 22m 34s | Max: 35m 12s
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 54m | Avg: 57m 01s | Max: 57m 27s | Hits: 260%/3692  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 14m | Avg:  1h 07m | Max:  1h 17m | Hits: 261%/3692  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  1h 44m | Avg: 52m 00s | Max: 54m 59s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  7h 46m | Avg: 27m 27s | Max: 32m 58s
      🟩 GCC                Pass: 100%/19  | Total:  8h 56m | Avg: 28m 13s | Max: 35m 12s
      🟩 MSVC               Pass: 100%/4   | Total:  4h 08m | Avg:  1h 02m | Max:  1h 17m | Hits: 261%/7384  
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 44m | Avg: 52m 00s | Max: 54m 59s
    🟩 gpu
      🟩 v100               Pass: 100%/42  | Total: 22h 36m | Avg: 32m 17s | Max:  1h 17m | Hits: 261%/7384  
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total: 21h 41m | Avg: 35m 10s | Max:  1h 17m | Hits: 261%/7384  
      🟩 TestCPU            Pass: 100%/2   | Total: 16m 30s | Avg:  8m 15s | Max:  8m 16s
      🟩 TestGPU            Pass: 100%/3   | Total: 38m 21s | Avg: 12m 47s | Max: 13m 39s
    🟩 sm
      🟩 90a                Pass: 100%/1   | Total: 19m 09s | Avg: 19m 09s | Max: 19m 09s
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 12h 05m | Avg: 36m 16s | Max: 57m 36s | Hits: 261%/5538  
      🟩 20                 Pass: 100%/20  | Total:  9h 50m | Avg: 29m 32s | Max:  1h 17m | Hits: 260%/1846  
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 12m 09s | Avg: 6m 04s | Max: 9m 51s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total: 12m 09s | Avg:  6m 04s | Max:  9m 51s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 18s | Avg:  2m 18s | Max:  2m 18s
      🟩 Test               Pass: 100%/1   | Total:  9m 51s | Avg:  9m 51s | Max:  9m 51s
    
  • 🟩 python: Pass: 100%/1 | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 ctk
      🟩 12.6               Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 gpu
      🟩 v100               Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 47m 10s | Avg: 47m 10s | Max: 47m 10s
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
+/- CUB
Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
+/- CUB
+/- Thrust
CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 89)

# Runner
65 linux-amd64-cpu16
11 linux-amd64-gpu-v100-latest-1
8 windows-amd64-cpu16
4 linux-arm64-cpu16
1 linux-amd64-gpu-h100-latest-1

@bernhardmgruber
Copy link
Contributor Author

I discussed this PR and the necessary workarounds with @gonidelis but we got stuck on the following question: Does DevicePartition also use the same streaming approach as DeviceSelect? Because for DeviceSelect we always use offset type int32 internally, so we only specifiy tunings for int32 (even if the API is called with int64). The CUB benchmark for DeviceSelect even has a corresponding comment:

// The implementation of DeviceSelect for 64-bit offset types uses a streaming approach, where it runs multiple passes
// using a 32-bit offset type, so we only need to test one (to save time for tuning and the benchmark CI).
using select_offset_types = nvbench::type_list<int64_t>;

From the implementation it seems DevicePartition also uses the same streaming approach, but the CUB benchmark does not have that comment and we now have tuning results for int32 and int64. This seems odd.

PR #2400 is a strong indicator that DevicePartition does use the same streaming approach as DeviceSelect and we should therefore only add tunings for a single offset type (DeviceSelect benchmarks run only for int64).

@elstehle can you confirm please?

@gonidelis
Copy link
Member

FWIW @elstehle I just cross checked all the partition tunings one-to-one for Offset=I32 and I64 to see if they are similar for same input size (given that offset size shouldn't impact performance). Unfortunately except for Input=i32 the other tunings have quite different values (especially the items_per_thread) so there is no way for me to consolidate them.

If no decision made by tomorrow I 'll revert my changes so I don't break H100 and earlier performance and scrap all the Offset=I64 tunings. We will remain with a net positive on the I32 tunings and partition would be good to go.

@elstehle
Copy link
Collaborator

elstehle commented Feb 4, 2025

FWIW @elstehle I just cross checked all the partition tunings one-to-one for Offset=I32 and I64 to see if they are similar for same input size (given that offset size shouldn't impact performance).

Thanks. I think what would be more interesting is to see if there's indeed a performance difference between the two tunings.

If no decision made by tomorrow I 'll revert my changes so I don't break H100 and earlier performance and scrap all the Offset=I64 tunings. We will remain with a net positive on the I32 tunings and partition would be good to go.

I think the decision is to use the fully specialized tunings, i.e., using both the i32 and i64 tunings, that you did for B200 and for pre-B200 to just map to the i32 tunings. That way, the tuning lookup for pre-B200 should remain the same and for B200 we can benefit from the tuning effort that you did for tuning both offset types. Right, @bernhardmgruber?

@bernhardmgruber
Copy link
Contributor Author

I think the decision is to use the fully specialized tunings, i.e., using both the i32 and i64 tunings, that you did for B200 and for pre-B200 to just map to the i32 tunings. That way, the tuning lookup for pre-B200 should remain the same and for B200 we can benefit from the tuning effort that you did for tuning both offset types. Right, @bernhardmgruber?

Agreed.

@bernhardmgruber bernhardmgruber marked this pull request as ready for review February 4, 2025 10:22
Copy link
Contributor Author

@bernhardmgruber bernhardmgruber left a comment

Choose a reason for hiding this comment

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

I applied some changes to how the offset type is passed around.

Then I diffed the SASS:

cmake --preset cub-benchmark -DCMAKE_CUDA_ARCHITECTURES="50;80;86;90" ...
ninja cub.bench.partition.if.base && cuobjdump -sass bin/cub.bench.partition.if.base > after.txt
git checkout upstream/main
ninja cub.bench.partition.if.base && cuobjdump -sass bin/cub.bench.partition.if.base > before.txt
diff before.txt after.txt

I see differences in kernel symbol names, because the template parameters of the policy hub changed, but otherwise no instruction changes.

Same for cub.bench.partition.flagged.base.

@gonidelis
Copy link
Member

gonidelis commented Feb 5, 2025

partition.if scroll below for updated results

## [0] NVIDIA B200

|  T{ct}  |  OffsetT{ct}  |  DistinctPartitions{ct}  |  Elements{io}  |  Entropy  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|---------|---------------|--------------------------|----------------|-----------|------------|-------------|------------|-------------|-------------|---------|----------|
|   I8    |      I32      |          false           |      2^16      |     1     |  12.652 us |       7.60% |  12.607 us |       7.75% |   -0.044 us |  -0.35% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |     1     |  16.436 us |       8.07% |  13.960 us |       6.38% |   -2.476 us | -15.07% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |     1     |  46.868 us |       2.82% |  42.792 us |       3.46% |   -4.077 us |  -8.70% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |     1     | 558.149 us |       0.51% | 496.975 us |       1.03% |  -61.174 us | -10.96% |   FAST   |
|   I8    |      I32      |          false           |      2^16      |   0.544   |  12.683 us |       7.25% |  13.034 us |       5.42% |    0.351 us |   2.77% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |   0.544   |  16.812 us |       7.88% |  14.384 us |       7.38% |   -2.428 us | -14.44% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |   0.544   |  47.255 us |       2.88% |  43.704 us |       2.93% |   -3.551 us |  -7.52% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |   0.544   | 567.002 us |       0.50% | 507.761 us |       0.95% |  -59.241 us | -10.45% |   FAST   |
|   I8    |      I32      |          false           |      2^16      |     0     |  12.824 us |       6.65% |  13.113 us |       4.87% |    0.289 us |   2.25% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |     0     |  16.692 us |       8.08% |  14.339 us |       7.16% |   -2.353 us | -14.09% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |     0     |  46.309 us |       3.03% |  42.491 us |       2.96% |   -3.818 us |  -8.24% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |     0     | 551.376 us |       0.50% | 490.623 us |       1.03% |  -60.753 us | -11.02% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |     1     |  12.698 us |       7.18% |  13.598 us |       8.71% |    0.900 us |   7.09% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |     1     |  16.509 us |       8.57% |  14.321 us |       7.28% |   -2.188 us | -13.25% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |     1     |  46.464 us |       2.85% |  45.366 us |       2.67% |   -1.098 us |  -2.36% |   SAME   |
|   I8    |      I32      |           true           |      2^28      |     1     | 552.726 us |       0.47% | 528.402 us |       0.44% |  -24.324 us |  -4.40% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |   0.544   |  12.794 us |       6.76% |  13.779 us |       7.64% |    0.985 us |   7.70% |   SLOW   |
|   I8    |      I32      |           true           |      2^20      |   0.544   |  16.676 us |       8.40% |  14.277 us |       7.18% |   -2.399 us | -14.38% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |   0.544   |  47.987 us |       2.40% |  45.763 us |       2.33% |   -2.223 us |  -4.63% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |   0.544   | 575.914 us |       0.46% | 530.652 us |       0.44% |  -45.262 us |  -7.86% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |     0     |  12.643 us |       7.42% |  13.653 us |       7.34% |    1.010 us |   7.99% |   SLOW   |
|   I8    |      I32      |           true           |      2^20      |     0     |  16.674 us |       7.86% |  14.627 us |       8.89% |   -2.047 us | -12.27% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |     0     |  46.284 us |       2.54% |  45.363 us |       2.40% |   -0.921 us |  -1.99% |   SAME   |
|   I8    |      I32      |           true           |      2^28      |     0     | 547.657 us |       0.51% | 526.591 us |       0.43% |  -21.067 us |  -3.85% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |     1     |  14.633 us |       7.65% |  16.526 us |       6.72% |    1.893 us |  12.94% |   SLOW   |
|   I8    |      I64      |          false           |      2^20      |     1     |  17.306 us |       7.78% |  14.806 us |       8.29% |   -2.501 us | -14.45% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |     1     |  50.754 us |       2.68% |  45.257 us |       2.72% |   -5.496 us | -10.83% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |     1     | 620.476 us |       0.40% | 492.548 us |       0.33% | -127.928 us | -20.62% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |   0.544   |  14.403 us |       7.33% |  16.621 us |       6.06% |    2.219 us |  15.41% |   SLOW   |
|   I8    |      I64      |          false           |      2^20      |   0.544   |  17.590 us |       7.21% |  15.087 us |       9.70% |   -2.503 us | -14.23% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |   0.544   |  54.351 us |       2.16% |  47.131 us |       2.35% |   -7.221 us | -13.29% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |   0.544   | 672.139 us |       0.35% | 518.278 us |       0.28% | -153.862 us | -22.89% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |     0     |  14.643 us |       6.59% |  16.632 us |       6.01% |    1.990 us |  13.59% |   SLOW   |
|   I8    |      I64      |          false           |      2^20      |     0     |  18.066 us |       7.49% |  15.432 us |      11.20% |   -2.634 us | -14.58% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |     0     |  53.530 us |       2.31% |  47.461 us |       2.68% |   -6.069 us | -11.34% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |     0     | 652.629 us |       0.40% | 527.941 us |       0.34% | -124.688 us | -19.11% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |     1     |  12.811 us |       6.65% |  14.796 us |       5.90% |    1.984 us |  15.49% |   SLOW   |
|   I8    |      I64      |           true           |      2^20      |     1     |  16.716 us |       8.37% |  14.223 us |       7.18% |   -2.494 us | -14.92% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |     1     |  47.883 us |       2.15% |  43.427 us |       2.47% |   -4.456 us |  -9.31% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |     1     | 575.949 us |       0.40% | 483.175 us |       0.38% |  -92.773 us | -16.11% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |   0.544   |  13.152 us |       4.36% |  15.117 us |       4.28% |    1.965 us |  14.94% |   SLOW   |
|   I8    |      I64      |           true           |      2^20      |   0.544   |  16.845 us |       8.39% |  13.991 us |       6.76% |   -2.853 us | -16.94% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |   0.544   |  49.907 us |       2.10% |  44.229 us |       2.67% |   -5.679 us | -11.38% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |   0.544   | 611.474 us |       0.41% | 487.850 us |       0.42% | -123.624 us | -20.22% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |     0     |  13.057 us |       4.90% |  15.031 us |       4.79% |    1.975 us |  15.12% |   SLOW   |
|   I8    |      I64      |           true           |      2^20      |     0     |  16.782 us |       8.11% |  14.174 us |       7.02% |   -2.607 us | -15.54% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |     0     |  47.535 us |       2.43% |  43.455 us |       2.38% |   -4.079 us |  -8.58% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |     0     | 571.297 us |       0.38% | 483.917 us |       0.36% |  -87.379 us | -15.29% |   FAST   |
|   I16   |      I32      |          false           |      2^16      |     1     |  12.358 us |       8.01% |  12.462 us |       8.10% |    0.104 us |   0.84% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |     1     |  17.583 us |       8.74% |  15.193 us |       5.21% |   -2.390 us | -13.59% |   FAST   |
|   I16   |      I32      |          false           |      2^24      |     1     |  55.228 us |       2.70% |  49.748 us |       2.94% |   -5.481 us |  -9.92% |   FAST   |
|   I16   |      I32      |          false           |      2^28      |     1     | 696.116 us |       0.74% | 587.865 us |       0.72% | -108.251 us | -15.55% |   FAST   |
|   I16   |      I32      |          false           |      2^16      |   0.544   |  12.364 us |       7.88% |  13.283 us |      11.86% |    0.919 us |   7.43% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |   0.544   |  17.698 us |       8.84% |  15.639 us |       6.86% |   -2.059 us | -11.63% |   FAST   |
|   I16   |      I32      |          false           |      2^24      |   0.544   |  56.412 us |       2.46% |  49.803 us |       2.68% |   -6.609 us | -11.72% |   FAST   |
|   I16   |      I32      |          false           |      2^28      |   0.544   | 713.693 us |       0.69% | 588.722 us |       0.65% | -124.971 us | -17.51% |   FAST   |
|   I16   |      I32      |          false           |      2^16      |     0     |  12.418 us |       7.86% |  12.527 us |       9.45% |    0.109 us |   0.87% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |     0     |  17.264 us |       8.15% |  15.023 us |       7.29% |   -2.241 us | -12.98% |   FAST   |
|   I16   |      I32      |          false           |      2^24      |     0     |  53.280 us |       2.75% |  47.692 us |       3.05% |   -5.588 us | -10.49% |   FAST   |
|   I16   |      I32      |          false           |      2^28      |     0     | 667.962 us |       0.72% | 556.306 us |       0.75% | -111.656 us | -16.72% |   FAST   |
|   I16   |      I32      |           true           |      2^16      |     1     |  12.385 us |       7.99% |  12.362 us |       8.01% |   -0.023 us |  -0.18% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |     1     |  17.228 us |       8.61% |  14.743 us |       7.31% |   -2.486 us | -14.43% |   FAST   |
|   I16   |      I32      |           true           |      2^24      |     1     |  53.336 us |       2.81% |  46.609 us |       3.02% |   -6.726 us | -12.61% |   FAST   |
|   I16   |      I32      |           true           |      2^28      |     1     | 668.812 us |       0.87% | 550.167 us |       0.84% | -118.646 us | -17.74% |   FAST   |
|   I16   |      I32      |           true           |      2^16      |   0.544   |  12.346 us |       8.05% |  12.332 us |       8.51% |   -0.014 us |  -0.11% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |   0.544   |  17.348 us |       8.73% |  14.847 us |       6.50% |   -2.501 us | -14.42% |   FAST   |
|   I16   |      I32      |           true           |      2^24      |   0.544   |  55.087 us |       2.71% |  47.345 us |       2.59% |   -7.742 us | -14.05% |   FAST   |
|   I16   |      I32      |           true           |      2^28      |   0.544   | 691.806 us |       0.76% | 558.544 us |       0.67% | -133.263 us | -19.26% |   FAST   |
|   I16   |      I32      |           true           |      2^16      |     0     |  12.349 us |       7.91% |  12.336 us |       8.23% |   -0.013 us |  -0.10% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |     0     |  17.150 us |       9.31% |  14.660 us |       7.17% |   -2.490 us | -14.52% |   FAST   |
|   I16   |      I32      |           true           |      2^24      |     0     |  52.137 us |       2.95% |  45.803 us |       3.14% |   -6.334 us | -12.15% |   FAST   |
|   I16   |      I32      |           true           |      2^28      |     0     | 650.014 us |       0.85% | 535.129 us |       0.83% | -114.885 us | -17.67% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |     1     |  12.523 us |       9.77% |  14.311 us |       6.74% |    1.788 us |  14.28% |   SLOW   |
|   I16   |      I64      |          false           |      2^20      |     1     |  17.237 us |       6.55% |  15.601 us |       4.00% |   -1.636 us |  -9.49% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |     1     |  55.408 us |       2.83% |  46.568 us |       3.51% |   -8.840 us | -15.95% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |     1     | 696.374 us |       0.67% | 535.669 us |       0.96% | -160.705 us | -23.08% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |   0.544   |  12.637 us |       9.32% |  14.182 us |       6.65% |    1.546 us |  12.23% |   SLOW   |
|   I16   |      I64      |          false           |      2^20      |   0.544   |  18.234 us |       7.15% |  16.353 us |       6.20% |   -1.881 us | -10.32% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |   0.544   |  58.502 us |       2.17% |  50.215 us |       2.56% |   -8.287 us | -14.17% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |   0.544   | 745.994 us |       0.47% | 582.534 us |       0.76% | -163.459 us | -21.91% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |     0     |  13.112 us |       9.33% |  14.426 us |       6.68% |    1.314 us |  10.02% |   SLOW   |
|   I16   |      I64      |          false           |      2^20      |     0     |  18.233 us |       6.96% |  16.422 us |       5.89% |   -1.812 us |  -9.94% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |     0     |  57.910 us |       2.24% |  48.862 us |       2.70% |   -9.048 us | -15.62% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |     0     | 730.270 us |       0.46% | 559.378 us |       0.61% | -170.892 us | -23.40% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |     1     |  12.402 us |       7.88% |  14.434 us |       6.93% |    2.032 us |  16.38% |   SLOW   |
|   I16   |      I64      |           true           |      2^20      |     1     |  17.458 us |       8.74% |  14.574 us |       8.70% |   -2.885 us | -16.52% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |     1     |  53.734 us |       2.95% |  46.646 us |       3.14% |   -7.089 us | -13.19% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |     1     | 675.259 us |       0.74% | 538.530 us |       0.73% | -136.729 us | -20.25% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |   0.544   |  12.378 us |       7.93% |  14.420 us |       6.89% |    2.042 us |  16.50% |   SLOW   |
|   I16   |      I64      |           true           |      2^20      |   0.544   |  17.278 us |       7.42% |  14.759 us |      10.00% |   -2.519 us | -14.58% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |   0.544   |  54.175 us |       2.85% |  48.047 us |       3.14% |   -6.128 us | -11.31% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |   0.544   | 684.964 us |       0.71% | 558.484 us |       0.70% | -126.480 us | -18.47% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |     0     |  12.357 us |       7.90% |  14.403 us |       6.81% |    2.046 us |  16.56% |   SLOW   |
|   I16   |      I64      |           true           |      2^20      |     0     |  17.208 us |       8.08% |  14.548 us |       8.84% |   -2.660 us | -15.46% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |     0     |  51.801 us |       2.91% |  43.534 us |       2.88% |   -8.267 us | -15.96% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |     0     | 643.980 us |       0.79% | 490.912 us |       0.67% | -153.069 us | -23.77% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |     1     |  12.404 us |       7.84% |  14.423 us |       6.77% |    2.019 us |  16.27% |   SLOW   |
|   I32   |      I32      |          false           |      2^20      |     1     |  19.021 us |       6.97% |  16.537 us |       8.06% |   -2.483 us | -13.06% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |     1     |  60.639 us |       2.84% |  52.637 us |       3.25% |   -8.002 us | -13.20% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |     1     | 758.052 us |       0.69% | 614.035 us |       0.96% | -144.017 us | -19.00% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |   0.544   |  12.195 us |       8.14% |  14.472 us |       6.84% |    2.277 us |  18.67% |   SLOW   |
|   I32   |      I32      |          false           |      2^20      |   0.544   |  19.226 us |       6.84% |  17.035 us |       7.29% |   -2.191 us | -11.40% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |   0.544   |  62.905 us |       2.56% |  55.909 us |       3.11% |   -6.996 us | -11.12% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |   0.544   | 795.859 us |       0.60% | 666.133 us |       0.93% | -129.726 us | -16.30% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |     0     |  12.381 us |       8.25% |  14.366 us |       6.91% |    1.985 us |  16.03% |   SLOW   |
|   I32   |      I32      |          false           |      2^20      |     0     |  19.042 us |       7.14% |  16.565 us |       8.13% |   -2.477 us | -13.01% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |     0     |  60.801 us |       2.81% |  52.468 us |       3.44% |   -8.333 us | -13.71% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |     0     | 758.965 us |       0.76% | 611.822 us |       0.96% | -147.143 us | -19.39% |   FAST   |
|   I32   |      I32      |           true           |      2^16      |     1     |  12.382 us |       7.96% |  12.439 us |       8.87% |    0.056 us |   0.45% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |     1     |  18.947 us |       6.65% |  15.526 us |       9.27% |   -3.421 us | -18.06% |   FAST   |
|   I32   |      I32      |           true           |      2^24      |     1     |  60.031 us |       2.79% |  52.260 us |       3.60% |   -7.771 us | -12.95% |   FAST   |
|   I32   |      I32      |           true           |      2^28      |     1     | 746.422 us |       0.77% | 640.127 us |       1.20% | -106.295 us | -14.24% |   FAST   |
|   I32   |      I32      |           true           |      2^16      |   0.544   |  12.275 us |       7.99% |  12.422 us |       9.66% |    0.147 us |   1.20% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |   0.544   |  19.153 us |       7.03% |  16.103 us |       9.45% |   -3.050 us | -15.92% |   FAST   |
|   I32   |      I32      |           true           |      2^24      |   0.544   |  62.389 us |       2.61% |  55.915 us |       3.39% |   -6.474 us | -10.38% |   FAST   |
|   I32   |      I32      |           true           |      2^28      |   0.544   | 786.907 us |       0.64% | 701.237 us |       1.04% |  -85.670 us | -10.89% |   FAST   |
|   I32   |      I32      |           true           |      2^16      |     0     |  12.206 us |       8.29% |  12.381 us |       9.33% |    0.175 us |   1.43% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |     0     |  18.848 us |       7.64% |  15.260 us |      11.09% |   -3.588 us | -19.04% |   FAST   |
|   I32   |      I32      |           true           |      2^24      |     0     |  60.013 us |       2.78% |  52.389 us |       3.43% |   -7.624 us | -12.70% |   FAST   |
|   I32   |      I32      |           true           |      2^28      |     0     | 746.209 us |       0.73% | 639.667 us |       1.19% | -106.542 us | -14.28% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |     1     |  12.831 us |       9.37% |  14.667 us |       6.34% |    1.836 us |  14.31% |   SLOW   |
|   I32   |      I64      |          false           |      2^20      |     1     |  19.392 us |       7.88% |  17.062 us |       9.34% |   -2.330 us | -12.02% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |     1     |  62.859 us |       3.06% |  50.513 us |       3.21% |  -12.347 us | -19.64% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |     1     | 781.286 us |       0.76% | 565.135 us |       0.88% | -216.151 us | -27.67% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |   0.544   |  12.576 us |       9.73% |  14.362 us |       7.10% |    1.786 us |  14.21% |   SLOW   |
|   I32   |      I64      |          false           |      2^20      |   0.544   |  19.816 us |       7.62% |  17.780 us |       9.18% |   -2.035 us | -10.27% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |   0.544   |  65.944 us |       2.59% |  53.000 us |       3.14% |  -12.944 us | -19.63% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |   0.544   | 830.304 us |       0.65% | 612.394 us |       0.92% | -217.910 us | -26.24% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |     0     |  12.847 us |      10.97% |  15.451 us |      12.28% |    2.604 us |  20.27% |   SLOW   |
|   I32   |      I64      |          false           |      2^20      |     0     |  19.780 us |       7.45% |  17.613 us |       9.87% |   -2.167 us | -10.95% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |     0     |  64.733 us |       2.48% |  52.859 us |       2.67% |  -11.873 us | -18.34% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |     0     | 808.892 us |       0.59% | 598.900 us |       0.69% | -209.992 us | -25.96% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |     1     |  12.347 us |       8.08% |  14.394 us |       6.88% |    2.048 us |  16.58% |   SLOW   |
|   I32   |      I64      |           true           |      2^20      |     1     |  19.161 us |       7.55% |  16.557 us |       7.09% |   -2.604 us | -13.59% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |     1     |  61.387 us |       3.00% |  49.706 us |       2.92% |  -11.681 us | -19.03% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |     1     | 763.006 us |       0.88% | 565.967 us |       0.86% | -197.039 us | -25.82% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |   0.544   |  12.259 us |       8.23% |  14.266 us |       6.90% |    2.007 us |  16.37% |   SLOW   |
|   I32   |      I64      |           true           |      2^20      |   0.544   |  19.333 us |       7.73% |  16.515 us |       7.60% |   -2.819 us | -14.58% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |   0.544   |  62.352 us |       2.89% |  50.964 us |       3.19% |  -11.388 us | -18.26% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |   0.544   | 784.807 us |       0.79% | 591.609 us |       0.99% | -193.199 us | -24.62% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |     0     |  12.341 us |       7.98% |  14.488 us |       6.73% |    2.147 us |  17.40% |   SLOW   |
|   I32   |      I64      |           true           |      2^20      |     0     |  18.982 us |       7.71% |  15.966 us |      10.80% |   -3.016 us | -15.89% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |     0     |  59.608 us |       3.27% |  48.572 us |       3.31% |  -11.036 us | -18.51% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |     0     | 744.536 us |       0.89% | 557.226 us |       1.03% | -187.310 us | -25.16% |   FAST   |
|   I64   |      I32      |          false           |      2^16      |     1     |  13.370 us |      10.62% |  12.433 us |       9.16% |   -0.937 us |  -7.01% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |     1     |  19.149 us |       7.02% |  16.888 us |       7.93% |   -2.262 us | -11.81% |   FAST   |
|   I64   |      I32      |          false           |      2^24      |     1     |  84.436 us |       1.57% |  79.521 us |       3.38% |   -4.915 us |  -5.82% |   FAST   |
|   I64   |      I32      |          false           |      2^28      |     1     |   1.118 ms |       0.33% |   1.052 ms |       0.95% |  -65.883 us |  -5.89% |   FAST   |
|   I64   |      I32      |          false           |      2^16      |   0.544   |  13.249 us |      10.60% |  14.031 us |       9.57% |    0.782 us |   5.90% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |   0.544   |  19.183 us |       7.56% |  17.917 us |      11.18% |   -1.266 us |  -6.60% |   SAME   |
|   I64   |      I32      |          false           |      2^24      |   0.544   |  84.090 us |       1.71% |  86.248 us |       3.59% |    2.158 us |   2.57% |   SLOW   |
|   I64   |      I32      |          false           |      2^28      |   0.544   |   1.117 ms |       0.37% |   1.135 ms |       0.86% |   17.820 us |   1.60% |   SLOW   |
|   I64   |      I32      |          false           |      2^16      |     0     |  13.409 us |      11.15% |  12.497 us |       9.30% |   -0.912 us |  -6.80% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |     0     |  19.267 us |       7.14% |  16.879 us |       7.93% |   -2.388 us | -12.40% |   FAST   |
|   I64   |      I32      |          false           |      2^24      |     0     |  84.256 us |       1.69% |  79.621 us |       3.76% |   -4.635 us |  -5.50% |   FAST   |
|   I64   |      I32      |          false           |      2^28      |     0     |   1.117 ms |       0.31% |   1.051 ms |       0.94% |  -66.198 us |  -5.92% |   FAST   |
|   I64   |      I32      |           true           |      2^16      |     1     |  13.315 us |      10.87% |  13.382 us |      11.27% |    0.067 us |   0.51% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |     1     |  19.293 us |       7.07% |  17.884 us |       8.61% |   -1.410 us |  -7.31% |   FAST   |
|   I64   |      I32      |           true           |      2^24      |     1     |  82.728 us |       1.76% |  77.866 us |       2.54% |   -4.862 us |  -5.88% |   FAST   |
|   I64   |      I32      |           true           |      2^28      |     1     |   1.093 ms |       0.35% |   1.039 ms |       0.82% |  -53.736 us |  -4.92% |   FAST   |
|   I64   |      I32      |           true           |      2^16      |   0.544   |  13.491 us |       9.31% |  13.335 us |      10.87% |   -0.157 us |  -1.16% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |   0.544   |  19.005 us |       7.08% |  18.335 us |       9.33% |   -0.670 us |  -3.53% |   SAME   |
|   I64   |      I32      |           true           |      2^24      |   0.544   |  82.239 us |       2.11% |  82.926 us |       2.53% |    0.687 us |   0.84% |   SAME   |
|   I64   |      I32      |           true           |      2^28      |   0.544   |   1.087 ms |       0.42% |   1.118 ms |       0.71% |   30.785 us |   2.83% |   SLOW   |
|   I64   |      I32      |           true           |      2^16      |     0     |  13.179 us |      10.55% |  13.135 us |      10.63% |   -0.044 us |  -0.33% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |     0     |  18.960 us |       7.44% |  17.799 us |       9.88% |   -1.161 us |  -6.12% |   SAME   |
|   I64   |      I32      |           true           |      2^24      |     0     |  82.870 us |       1.93% |  78.090 us |       2.56% |   -4.780 us |  -5.77% |   FAST   |
|   I64   |      I32      |           true           |      2^28      |     0     |   1.094 ms |       0.37% |   1.046 ms |       0.80% |  -48.097 us |  -4.40% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |     1     |  13.956 us |       8.60% |  13.337 us |      10.50% |   -0.619 us |  -4.43% |   SAME   |
|   I64   |      I64      |          false           |      2^20      |     1     |  19.226 us |       7.11% |  17.017 us |       8.64% |   -2.210 us | -11.49% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |     1     |  83.872 us |       2.05% |  72.369 us |       3.05% |  -11.503 us | -13.71% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |     1     |   1.106 ms |       0.51% | 951.140 us |       1.07% | -154.602 us | -13.98% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |   0.544   |  14.051 us |       8.16% |  14.260 us |       7.20% |    0.209 us |   1.49% |   SAME   |
|   I64   |      I64      |          false           |      2^20      |   0.544   |  19.336 us |       6.75% |  18.278 us |       7.06% |   -1.058 us |  -5.47% |   SAME   |
|   I64   |      I64      |          false           |      2^24      |   0.544   |  84.335 us |       2.36% |  78.401 us |       2.58% |   -5.934 us |  -7.04% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |   0.544   |   1.117 ms |       0.63% |   1.046 ms |       0.85% |  -71.462 us |  -6.40% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |     0     |  14.280 us |       7.57% |  14.515 us |       6.96% |    0.235 us |   1.64% |   SAME   |
|   I64   |      I64      |          false           |      2^20      |     0     |  19.543 us |       6.82% |  17.802 us |       7.50% |   -1.741 us |  -8.91% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |     0     |  86.146 us |       2.13% |  73.928 us |       2.83% |  -12.218 us | -14.18% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |     0     |   1.142 ms |       0.53% | 963.423 us |       0.93% | -178.632 us | -15.64% |   FAST   |
|   I64   |      I64      |           true           |      2^16      |     1     |  13.372 us |       9.01% |  14.305 us |       8.68% |    0.933 us |   6.98% |   SAME   |
|   I64   |      I64      |           true           |      2^20      |     1     |  19.334 us |       6.61% |  19.818 us |       5.34% |    0.483 us |   2.50% |   SAME   |
|   I64   |      I64      |           true           |      2^24      |     1     |  82.973 us |       2.08% |  83.223 us |       2.14% |    0.250 us |   0.30% |   SAME   |
|   I64   |      I64      |           true           |      2^28      |     1     |   1.093 ms |       0.47% |   1.093 ms |       0.48% |   -0.250 us |  -0.02% |   SAME   |
|   I64   |      I64      |           true           |      2^16      |   0.544   |  13.570 us |       8.90% |  14.478 us |       7.40% |    0.907 us |   6.69% |   SAME   |
|   I64   |      I64      |           true           |      2^20      |   0.544   |  19.009 us |       7.69% |  19.462 us |       6.50% |    0.453 us |   2.39% |   SAME   |
|   I64   |      I64      |           true           |      2^24      |   0.544   |  81.831 us |       2.39% |  82.137 us |       2.29% |    0.306 us |   0.37% |   SAME   |
|   I64   |      I64      |           true           |      2^28      |   0.544   |   1.075 ms |       0.52% |   1.074 ms |       0.56% |   -0.311 us |  -0.03% |   SAME   |
|   I64   |      I64      |           true           |      2^16      |     0     |  13.565 us |       9.84% |  14.485 us |       7.78% |    0.921 us |   6.79% |   SAME   |
|   I64   |      I64      |           true           |      2^20      |     0     |  19.045 us |       6.59% |  19.622 us |       5.25% |    0.577 us |   3.03% |   SAME   |
|   I64   |      I64      |           true           |      2^24      |     0     |  81.904 us |       2.08% |  82.323 us |       1.94% |    0.419 us |   0.51% |   SAME   |
|   I64   |      I64      |           true           |      2^28      |     0     |   1.075 ms |       0.43% |   1.075 ms |       0.45% |   -0.088 us |  -0.01% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |     1     |  14.676 us |       8.39% |  15.305 us |       8.52% |    0.629 us |   4.29% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |     1     |  22.450 us |       7.46% |  22.664 us |       7.92% |    0.214 us |   0.95% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |     1     | 156.993 us |       3.14% | 157.524 us |       3.16% |    0.531 us |   0.34% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |     1     |   2.283 ms |       0.82% |   2.283 ms |       0.79% |   -0.152 us |  -0.01% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |   0.544   |  15.043 us |       8.76% |  15.898 us |       6.81% |    0.854 us |   5.68% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |   0.544   |  22.339 us |       7.05% |  22.745 us |       7.03% |    0.406 us |   1.82% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |   0.544   | 160.684 us |       2.52% | 160.624 us |       2.56% |   -0.060 us |  -0.04% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |   0.544   |   2.337 ms |       0.66% |   2.336 ms |       0.68% |   -0.460 us |  -0.02% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |     0     |  15.799 us |       6.64% |  14.939 us |       9.52% |   -0.861 us |  -5.45% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |     0     |  22.568 us |       7.88% |  22.440 us |       8.30% |   -0.128 us |  -0.57% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |     0     | 156.912 us |       3.21% | 157.411 us |       3.19% |    0.499 us |   0.32% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |     0     |   2.281 ms |       0.83% |   2.282 ms |       0.81% |    1.449 us |   0.06% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |     1     |  15.887 us |       5.81% |  15.010 us |       8.94% |   -0.878 us |  -5.53% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |     1     |  22.686 us |       8.06% |  22.618 us |       7.66% |   -0.068 us |  -0.30% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |     1     | 157.985 us |       3.17% | 157.884 us |       3.12% |   -0.101 us |  -0.06% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |     1     |   2.287 ms |       0.80% |   2.286 ms |       0.79% |   -0.365 us |  -0.02% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |   0.544   |  15.867 us |       6.59% |  14.911 us |       9.05% |   -0.956 us |  -6.03% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |   0.544   |  22.679 us |       7.23% |  22.514 us |       7.17% |   -0.165 us |  -0.73% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |   0.544   | 161.266 us |       2.71% | 161.157 us |       2.71% |   -0.109 us |  -0.07% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |   0.544   |   2.345 ms |       0.66% |   2.346 ms |       0.69% |    0.765 us |   0.03% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |     0     |  14.798 us |       8.99% |  14.882 us |       8.92% |    0.083 us |   0.56% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |     0     |  22.134 us |       7.74% |  22.315 us |       7.76% |    0.181 us |   0.82% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |     0     | 157.743 us |       3.17% | 157.637 us |       2.95% |   -0.106 us |  -0.07% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |     0     |   2.289 ms |       0.83% |   2.290 ms |       0.80% |    0.478 us |   0.02% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |     1     |  14.801 us |       8.78% |  14.726 us |       9.11% |   -0.075 us |  -0.50% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |     1     |  22.208 us |       9.16% |  22.348 us |       9.06% |    0.140 us |   0.63% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |     1     | 158.237 us |       4.07% | 158.080 us |       4.03% |   -0.156 us |  -0.10% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |     1     |   2.292 ms |       1.10% |   2.291 ms |       1.15% |   -1.080 us |  -0.05% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |   0.544   |  14.871 us |       8.87% |  14.878 us |       8.60% |    0.007 us |   0.05% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |   0.544   |  22.831 us |       9.52% |  22.795 us |       9.30% |   -0.036 us |  -0.16% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |   0.544   | 162.151 us |       3.35% | 162.468 us |       3.45% |    0.316 us |   0.20% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |   0.544   |   2.340 ms |       0.92% |   2.341 ms |       0.95% |    1.127 us |   0.05% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |     0     |  14.677 us |       8.39% |  14.672 us |       8.56% |   -0.005 us |  -0.04% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |     0     |  22.288 us |       8.93% |  22.423 us |       8.74% |    0.135 us |   0.61% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |     0     | 158.839 us |       3.88% | 158.870 us |       3.79% |    0.032 us |   0.02% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |     0     |   2.298 ms |       1.08% |   2.298 ms |       1.08% |   -0.641 us |  -0.03% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |     1     |  14.381 us |       8.60% |  14.445 us |       8.40% |    0.064 us |   0.45% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |     1     |  22.106 us |       8.86% |  22.295 us |       9.09% |    0.189 us |   0.86% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |     1     | 156.713 us |       3.69% | 156.499 us |       3.66% |   -0.213 us |  -0.14% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |     1     |   2.271 ms |       0.94% |   2.272 ms |       0.96% |    0.714 us |   0.03% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |   0.544   |  14.918 us |       8.97% |  14.856 us |       8.84% |   -0.062 us |  -0.41% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |   0.544   |  22.064 us |       7.61% |  22.039 us |       7.71% |   -0.025 us |  -0.11% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |   0.544   | 159.522 us |       2.87% | 159.532 us |       2.88% |    0.010 us |   0.01% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |   0.544   |   2.315 ms |       0.78% |   2.314 ms |       0.79% |   -0.720 us |  -0.03% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |     0     |  14.794 us |       8.38% |  14.890 us |       8.43% |    0.096 us |   0.65% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |     0     |  22.067 us |       8.73% |  22.059 us |       8.57% |   -0.007 us |  -0.03% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |     0     | 156.665 us |       3.53% | 156.225 us |       3.34% |   -0.440 us |  -0.28% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |     0     |   2.262 ms |       0.87% |   2.261 ms |       0.91% |   -0.787 us |  -0.03% |   SAME   |
|   F32   |      I32      |          false           |      2^16      |     1     |  12.457 us |       8.49% |  14.518 us |       7.20% |    2.061 us |  16.54% |   SLOW   |
|   F32   |      I32      |          false           |      2^20      |     1     |  19.024 us |       7.10% |  16.623 us |       7.63% |   -2.402 us | -12.63% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |     1     |  60.815 us |       2.74% |  52.714 us |       3.54% |   -8.101 us | -13.32% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |     1     | 773.472 us |       0.65% | 644.814 us |       0.90% | -128.657 us | -16.63% |   FAST   |
|   F32   |      I32      |          false           |      2^16      |   0.544   |  12.417 us |       8.02% |  14.415 us |       6.77% |    1.998 us |  16.09% |   SLOW   |
|   F32   |      I32      |          false           |      2^20      |   0.544   |  19.115 us |       7.64% |  16.933 us |       8.42% |   -2.182 us | -11.42% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |   0.544   |  63.040 us |       2.62% |  55.782 us |       3.20% |   -7.258 us | -11.51% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |   0.544   | 796.794 us |       0.59% | 665.331 us |       0.95% | -131.463 us | -16.50% |   FAST   |
|   F32   |      I32      |          false           |      2^16      |     0     |  12.395 us |       7.82% |  14.392 us |       6.97% |    1.997 us |  16.11% |   SLOW   |
|   F32   |      I32      |          false           |      2^20      |     0     |  18.926 us |       7.84% |  16.536 us |       7.48% |   -2.390 us | -12.63% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |     0     |  60.609 us |       2.69% |  52.463 us |       3.37% |   -8.146 us | -13.44% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |     0     | 759.318 us |       0.68% | 611.756 us |       0.97% | -147.562 us | -19.43% |   FAST   |
|   F32   |      I32      |           true           |      2^16      |     1     |  12.226 us |       8.05% |  12.411 us |       9.18% |    0.185 us |   1.52% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |     1     |  19.033 us |       7.17% |  15.321 us |      10.16% |   -3.712 us | -19.50% |   FAST   |
|   F32   |      I32      |           true           |      2^24      |     1     |  59.977 us |       2.76% |  52.151 us |       3.36% |   -7.826 us | -13.05% |   FAST   |
|   F32   |      I32      |           true           |      2^28      |     1     | 761.598 us |       0.73% | 666.084 us |       1.15% |  -95.513 us | -12.54% |   FAST   |
|   F32   |      I32      |           true           |      2^16      |   0.544   |  12.167 us |       8.23% |  12.412 us |       9.47% |    0.245 us |   2.02% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |   0.544   |  19.187 us |       7.52% |  15.919 us |       9.65% |   -3.268 us | -17.03% |   FAST   |
|   F32   |      I32      |           true           |      2^24      |   0.544   |  62.295 us |       2.82% |  55.366 us |       3.60% |   -6.929 us | -11.12% |   FAST   |
|   F32   |      I32      |           true           |      2^28      |   0.544   | 785.349 us |       0.64% | 695.723 us |       1.14% |  -89.627 us | -11.41% |   FAST   |
|   F32   |      I32      |           true           |      2^16      |     0     |  12.393 us |       7.97% |  12.461 us |       9.15% |    0.067 us |   0.54% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |     0     |  18.831 us |       7.53% |  15.352 us |      11.05% |   -3.478 us | -18.47% |   FAST   |
|   F32   |      I32      |           true           |      2^24      |     0     |  59.915 us |       2.82% |  51.914 us |       3.72% |   -8.000 us | -13.35% |   FAST   |
|   F32   |      I32      |           true           |      2^28      |     0     | 746.106 us |       0.77% | 640.199 us |       1.19% | -105.907 us | -14.19% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |     1     |  12.708 us |      11.12% |  14.487 us |       6.89% |    1.779 us |  14.00% |   SLOW   |
|   F32   |      I64      |          false           |      2^20      |     1     |  19.486 us |       7.80% |  17.300 us |       8.14% |   -2.185 us | -11.21% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |     1     |  62.899 us |       2.98% |  50.136 us |       3.46% |  -12.762 us | -20.29% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |     1     | 788.487 us |       0.77% | 576.610 us |       1.05% | -211.878 us | -26.87% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |   0.544   |  13.002 us |      10.94% |  15.540 us |      12.43% |    2.538 us |  19.52% |   SLOW   |
|   F32   |      I64      |          false           |      2^20      |   0.544   |  19.941 us |       7.40% |  17.922 us |       9.59% |   -2.019 us | -10.12% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |   0.544   |  66.554 us |       2.64% |  53.489 us |       2.94% |  -13.066 us | -19.63% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |   0.544   | 839.162 us |       0.57% | 619.027 us |       0.79% | -220.135 us | -26.23% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |     0     |  12.852 us |      11.23% |  15.437 us |      12.29% |    2.584 us |  20.11% |   SLOW   |
|   F32   |      I64      |          false           |      2^20      |     0     |  19.956 us |       7.24% |  17.921 us |       9.50% |   -2.035 us | -10.20% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |     0     |  64.558 us |       2.52% |  52.736 us |       2.80% |  -11.822 us | -18.31% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |     0     | 808.477 us |       0.61% | 599.064 us |       0.68% | -209.413 us | -25.90% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |     1     |  12.357 us |       8.15% |  14.370 us |       6.91% |    2.012 us |  16.29% |   SLOW   |
|   F32   |      I64      |           true           |      2^20      |     1     |  19.078 us |       7.37% |  16.368 us |       8.32% |   -2.710 us | -14.21% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |     1     |  61.377 us |       3.31% |  49.620 us |       3.12% |  -11.757 us | -19.16% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |     1     | 769.277 us |       0.84% | 579.061 us |       1.00% | -190.216 us | -24.73% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |   0.544   |  12.316 us |       8.08% |  14.379 us |       6.79% |    2.063 us |  16.75% |   SLOW   |
|   F32   |      I64      |           true           |      2^20      |   0.544   |  19.133 us |       7.99% |  16.528 us |       7.54% |   -2.605 us | -13.62% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |   0.544   |  61.565 us |       3.10% |  51.478 us |       3.81% |  -10.087 us | -16.38% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |   0.544   | 773.418 us |       0.83% | 600.543 us |       1.00% | -172.875 us | -22.35% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |     0     |  12.332 us |       8.00% |  14.344 us |       6.92% |    2.011 us |  16.31% |   SLOW   |
|   F32   |      I64      |           true           |      2^20      |     0     |  19.182 us |       7.51% |  16.104 us |       9.60% |   -3.078 us | -16.05% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |     0     |  59.670 us |       2.99% |  48.844 us |       3.30% |  -10.825 us | -18.14% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |     0     | 743.945 us |       0.86% | 557.253 us |       1.07% | -186.692 us | -25.09% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |     1     |  13.183 us |      10.00% |  12.295 us |      10.28% |   -0.888 us |  -6.74% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |     1     |  19.186 us |       7.62% |  17.127 us |       9.71% |   -2.060 us | -10.73% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |     1     |  84.158 us |       1.66% |  79.431 us |       3.82% |   -4.727 us |  -5.62% |   FAST   |
|   F64   |      I32      |          false           |      2^28      |     1     |   1.116 ms |       0.30% |   1.042 ms |       0.90% |  -73.773 us |  -6.61% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |   0.544   |  13.340 us |      11.44% |  14.199 us |       9.09% |    0.859 us |   6.44% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |   0.544   |  19.194 us |       7.23% |  17.771 us |      11.41% |   -1.423 us |  -7.41% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |   0.544   |  83.647 us |       1.94% |  85.992 us |       3.45% |    2.345 us |   2.80% |   SLOW   |
|   F64   |      I32      |          false           |      2^28      |   0.544   |   1.110 ms |       0.40% |   1.131 ms |       0.91% |   21.188 us |   1.91% |   SLOW   |
|   F64   |      I32      |          false           |      2^16      |     0     |  13.220 us |      10.14% |  12.484 us |      10.83% |   -0.736 us |  -5.57% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |     0     |  19.183 us |       7.41% |  16.989 us |       9.19% |   -2.194 us | -11.44% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |     0     |  84.094 us |       1.87% |  79.286 us |       3.49% |   -4.808 us |  -5.72% |   FAST   |
|   F64   |      I32      |          false           |      2^28      |     0     |   1.116 ms |       0.32% |   1.043 ms |       0.91% |  -72.681 us |  -6.51% |   FAST   |
|   F64   |      I32      |           true           |      2^16      |     1     |  13.371 us |      10.65% |  13.229 us |      10.65% |   -0.142 us |  -1.06% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |     1     |  18.887 us |       7.27% |  17.738 us |       9.86% |   -1.149 us |  -6.08% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |     1     |  82.627 us |       1.80% |  77.858 us |       2.81% |   -4.769 us |  -5.77% |   FAST   |
|   F64   |      I32      |           true           |      2^28      |     1     |   1.091 ms |       0.39% |   1.038 ms |       0.80% |  -52.342 us |  -4.80% |   FAST   |
|   F64   |      I32      |           true           |      2^16      |   0.544   |  13.565 us |      10.31% |  13.465 us |      10.56% |   -0.100 us |  -0.74% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |   0.544   |  18.888 us |       7.09% |  18.134 us |       9.22% |   -0.754 us |  -3.99% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |   0.544   |  82.109 us |       2.17% |  82.262 us |       2.58% |    0.153 us |   0.19% |   SAME   |
|   F64   |      I32      |           true           |      2^28      |   0.544   |   1.080 ms |       0.46% |   1.107 ms |       0.75% |   26.944 us |   2.49% |   SLOW   |
|   F64   |      I32      |           true           |      2^16      |     0     |  12.920 us |      11.55% |  13.021 us |      10.62% |    0.101 us |   0.78% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |     0     |  18.945 us |       7.20% |  17.675 us |      10.05% |   -1.270 us |  -6.70% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |     0     |  82.763 us |       1.88% |  78.123 us |       2.52% |   -4.640 us |  -5.61% |   FAST   |
|   F64   |      I32      |           true           |      2^28      |     0     |   1.091 ms |       0.36% |   1.044 ms |       0.84% |  -47.289 us |  -4.33% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |     1     |  13.984 us |       8.56% |  13.291 us |      10.19% |   -0.693 us |  -4.96% |   SAME   |
|   F64   |      I64      |          false           |      2^20      |     1     |  19.282 us |       6.61% |  17.318 us |       8.17% |   -1.965 us | -10.19% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |     1     |  83.710 us |       2.16% |  72.003 us |       3.00% |  -11.707 us | -13.99% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |     1     |   1.103 ms |       0.51% | 949.302 us |       1.06% | -153.309 us | -13.90% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |   0.544   |  14.113 us |       7.58% |  14.213 us |       7.08% |    0.100 us |   0.71% |   SAME   |
|   F64   |      I64      |          false           |      2^20      |   0.544   |  19.422 us |       7.40% |  18.283 us |       7.75% |   -1.139 us |  -5.86% |   SAME   |
|   F64   |      I64      |          false           |      2^24      |   0.544   |  84.699 us |       2.50% |  78.579 us |       2.59% |   -6.121 us |  -7.23% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |   0.544   |   1.121 ms |       0.69% |   1.045 ms |       0.80% |  -75.683 us |  -6.75% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |     0     |  14.407 us |       7.43% |  14.389 us |       6.92% |   -0.018 us |  -0.13% |   SAME   |
|   F64   |      I64      |          false           |      2^20      |     0     |  19.690 us |       6.81% |  17.710 us |       7.64% |   -1.980 us | -10.05% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |     0     |  86.058 us |       2.13% |  73.686 us |       2.77% |  -12.372 us | -14.38% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |     0     |   1.138 ms |       0.56% | 961.794 us |       0.88% | -176.260 us | -15.49% |   FAST   |
|   F64   |      I64      |           true           |      2^16      |     1     |  13.772 us |       8.42% |  13.806 us |       8.29% |    0.033 us |   0.24% |   SAME   |
|   F64   |      I64      |           true           |      2^20      |     1     |  19.141 us |       6.78% |  19.284 us |       6.63% |    0.143 us |   0.75% |   SAME   |
|   F64   |      I64      |           true           |      2^24      |     1     |  82.894 us |       2.15% |  82.893 us |       2.29% |   -0.001 us |  -0.00% |   SAME   |
|   F64   |      I64      |           true           |      2^28      |     1     |   1.088 ms |       0.49% |   1.088 ms |       0.49% |    0.044 us |   0.00% |   SAME   |
|   F64   |      I64      |           true           |      2^16      |   0.544   |  13.704 us |      10.75% |  13.670 us |      10.93% |   -0.034 us |  -0.25% |   SAME   |
|   F64   |      I64      |           true           |      2^20      |   0.544   |  18.996 us |       5.98% |  19.023 us |       5.80% |    0.026 us |   0.14% |   SAME   |
|   F64   |      I64      |           true           |      2^24      |   0.544   |  80.922 us |       2.47% |  80.688 us |       2.41% |   -0.234 us |  -0.29% |   SAME   |
|   F64   |      I64      |           true           |      2^28      |   0.544   |   1.058 ms |       0.58% |   1.058 ms |       0.57% |   -0.024 us |  -0.00% |   SAME   |
|   F64   |      I64      |           true           |      2^16      |     0     |  13.450 us |       9.89% |  13.801 us |       9.41% |    0.351 us |   2.61% |   SAME   |
|   F64   |      I64      |           true           |      2^20      |     0     |  18.931 us |       7.09% |  19.047 us |       7.04% |    0.115 us |   0.61% |   SAME   |
|   F64   |      I64      |           true           |      2^24      |     0     |  81.744 us |       2.05% |  81.940 us |       2.12% |    0.196 us |   0.24% |   SAME   |
|   F64   |      I64      |           true           |      2^28      |     0     |   1.072 ms |       0.42% |   1.072 ms |       0.43% |    0.364 us |   0.03% |   SAME   |

@bernhardmgruber
Copy link
Contributor Author

bernhardmgruber commented Feb 5, 2025

For partition.if, I think these tunings are questionable since they cause a >2% slowdown on large workloas (2^24 and 2^28). I think we should take those tunings out.

|   I64   |      I32      |          false           |      2^16      |   0.544   |  13.249 us |      10.60% |  14.031 us |       9.57% |    0.782 us |   5.90% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |   0.544   |  19.183 us |       7.56% |  17.917 us |      11.18% |   -1.266 us |  -6.60% |   SAME   |
|   I64   |      I32      |          false           |      2^24      |   0.544   |  84.090 us |       1.71% |  86.248 us |       3.59% |    2.158 us |   2.57% |   SLOW   |
|   I64   |      I32      |          false           |      2^28      |   0.544   |   1.117 ms |       0.37% |   1.135 ms |       0.86% |   17.820 us |   1.60% |   SLOW   |


|   I64   |      I32      |           true           |      2^16      |   0.544   |  13.491 us |       9.31% |  13.335 us |      10.87% |   -0.157 us |  -1.16% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |   0.544   |  19.005 us |       7.08% |  18.335 us |       9.33% |   -0.670 us |  -3.53% |   SAME   |
|   I64   |      I32      |           true           |      2^24      |   0.544   |  82.239 us |       2.11% |  82.926 us |       2.53% |    0.687 us |   0.84% |   SAME   |
|   I64   |      I32      |           true           |      2^28      |   0.544   |   1.087 ms |       0.42% |   1.118 ms |       0.71% |   30.785 us |   2.83% |   SLOW   |

|   F64   |      I32      |          false           |      2^16      |   0.544   |  13.340 us |      11.44% |  14.199 us |       9.09% |    0.859 us |   6.44% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |   0.544   |  19.194 us |       7.23% |  17.771 us |      11.41% |   -1.423 us |  -7.41% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |   0.544   |  83.647 us |       1.94% |  85.992 us |       3.45% |    2.345 us |   2.80% |   SLOW   |
|   F64   |      I32      |          false           |      2^28      |   0.544   |   1.110 ms |       0.40% |   1.131 ms |       0.91% |   21.188 us |   1.91% |   SLOW   |


|   F64   |      I32      |           true           |      2^16      |   0.544   |  13.565 us |      10.31% |  13.465 us |      10.56% |   -0.100 us |  -0.74% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |   0.544   |  18.888 us |       7.09% |  18.134 us |       9.22% |   -0.754 us |  -3.99% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |   0.544   |  82.109 us |       2.17% |  82.262 us |       2.58% |    0.153 us |   0.19% |   SAME   |
|   F64   |      I32      |           true           |      2^28      |   0.544   |   1.080 ms |       0.46% |   1.107 ms |       0.75% |   26.944 us |   2.49% |   SLOW   |

@gonidelis
Copy link
Member

partition.flagged (only greens and purples, i like it)

## [0] NVIDIA B200

|  T{ct}  |  OffsetT{ct}  |  DistinctPartitions{ct}  |  Elements{io}  |  Entropy  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|---------|---------------|--------------------------|----------------|-----------|------------|-------------|------------|-------------|-------------|---------|----------|
|   I8    |      I32      |          false           |      2^16      |     1     |  13.260 us |      12.05% |  12.906 us |      10.63% |   -0.354 us |  -2.67% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |     1     |  19.044 us |       7.22% |  16.056 us |       9.36% |   -2.988 us | -15.69% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |     1     |  52.774 us |       2.63% |  51.100 us |       2.72% |   -1.674 us |  -3.17% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |     1     | 638.041 us |       0.59% | 606.928 us |       0.41% |  -31.113 us |  -4.88% |   FAST   |
|   I8    |      I32      |          false           |      2^16      |   0.544   |  13.525 us |      11.64% |  13.072 us |       8.79% |   -0.453 us |  -3.35% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |   0.544   |  18.895 us |       7.57% |  15.698 us |      10.40% |   -3.197 us | -16.92% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |   0.544   |  53.558 us |       2.23% |  51.685 us |       2.29% |   -1.873 us |  -3.50% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |   0.544   | 648.645 us |       0.52% | 617.574 us |       0.39% |  -31.071 us |  -4.79% |   FAST   |
|   I8    |      I32      |          false           |      2^16      |     0     |  13.426 us |      10.65% |  13.345 us |       9.07% |   -0.082 us |  -0.61% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |     0     |  18.991 us |       6.35% |  15.969 us |       9.35% |   -3.023 us | -15.92% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |     0     |  52.598 us |       2.55% |  50.766 us |       3.10% |   -1.832 us |  -3.48% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |     0     | 638.247 us |       0.59% | 606.295 us |       0.39% |  -31.952 us |  -5.01% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |     1     |  13.854 us |      11.59% |  14.396 us |       9.18% |    0.542 us |   3.91% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |     1     |  19.067 us |       6.76% |  15.230 us |      10.17% |   -3.837 us | -20.12% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |     1     |  52.531 us |       2.48% |  50.149 us |       2.35% |   -2.382 us |  -4.54% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |     1     | 635.203 us |       0.53% | 610.844 us |       0.45% |  -24.360 us |  -3.83% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |   0.544   |  14.179 us |      10.15% |  14.571 us |       8.16% |    0.392 us |   2.77% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |   0.544   |  19.148 us |       7.10% |  15.399 us |       9.41% |   -3.749 us | -19.58% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |   0.544   |  53.486 us |       2.48% |  50.780 us |       2.81% |   -2.706 us |  -5.06% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |   0.544   | 648.421 us |       0.48% | 619.860 us |       0.47% |  -28.561 us |  -4.40% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |     0     |  13.939 us |      11.02% |  14.336 us |       9.61% |    0.397 us |   2.84% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |     0     |  18.982 us |       7.44% |  15.263 us |      10.99% |   -3.720 us | -19.60% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |     0     |  52.845 us |       2.45% |  50.223 us |       2.57% |   -2.622 us |  -4.96% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |     0     | 634.906 us |       0.55% | 612.075 us |       0.45% |  -22.831 us |  -3.60% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |     1     |  14.740 us |       6.25% |  12.799 us |       7.88% |   -1.942 us | -13.17% |   FAST   |
|   I8    |      I64      |          false           |      2^20      |     1     |  19.735 us |       7.68% |  15.318 us |       7.47% |   -4.417 us | -22.38% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |     1     |  56.103 us |       2.35% |  55.748 us |       3.06% |   -0.355 us |  -0.63% |   SAME   |
|   I8    |      I64      |          false           |      2^28      |     1     | 693.950 us |       0.47% | 670.198 us |       0.86% |  -23.752 us |  -3.42% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |   0.544   |  15.107 us |       4.42% |  13.212 us |       6.14% |   -1.895 us | -12.54% |   FAST   |
|   I8    |      I64      |          false           |      2^20      |   0.544   |  20.155 us |       6.99% |  15.614 us |       8.24% |   -4.541 us | -22.53% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |   0.544   |  59.459 us |       2.50% |  58.220 us |       2.91% |   -1.238 us |  -2.08% |   SAME   |
|   I8    |      I64      |          false           |      2^28      |   0.544   | 740.582 us |       0.37% | 717.223 us |       0.76% |  -23.360 us |  -3.15% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |     0     |  14.961 us |       5.14% |  13.512 us |       5.22% |   -1.449 us |  -9.68% |   FAST   |
|   I8    |      I64      |          false           |      2^20      |     0     |  20.086 us |       7.41% |  15.769 us |       8.93% |   -4.317 us | -21.49% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |     0     |  59.223 us |       2.38% |  56.888 us |       3.01% |   -2.334 us |  -3.94% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |     0     | 736.718 us |       0.41% | 699.506 us |       0.81% |  -37.212 us |  -5.05% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |     1     |  14.240 us |      10.14% |  14.786 us |       5.97% |    0.546 us |   3.84% |   SAME   |
|   I8    |      I64      |           true           |      2^20      |     1     |  19.177 us |       8.06% |  15.121 us |      10.84% |   -4.056 us | -21.15% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |     1     |  53.620 us |       2.40% |  51.997 us |       2.37% |   -1.623 us |  -3.03% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |     1     | 649.889 us |       0.51% | 638.580 us |       0.38% |  -11.309 us |  -1.74% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |   0.544   |  14.769 us |       6.47% |  15.091 us |       4.64% |    0.322 us |   2.18% |   SAME   |
|   I8    |      I64      |           true           |      2^20      |   0.544   |  19.035 us |       8.06% |  14.953 us |      10.75% |   -4.082 us | -21.45% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |   0.544   |  54.286 us |       2.29% |  52.596 us |       2.44% |   -1.690 us |  -3.11% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |   0.544   | 662.952 us |       0.48% | 644.701 us |       0.38% |  -18.251 us |  -2.75% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |     0     |  14.569 us |       7.06% |  15.080 us |       4.53% |    0.511 us |   3.51% |   SAME   |
|   I8    |      I64      |           true           |      2^20      |     0     |  19.124 us |       7.96% |  15.166 us |      11.16% |   -3.958 us | -20.70% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |     0     |  53.879 us |       2.38% |  52.078 us |       2.51% |   -1.801 us |  -3.34% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |     0     | 650.803 us |       0.52% | 640.333 us |       0.32% |  -10.469 us |  -1.61% |   FAST   |
|   I16   |      I32      |          false           |      2^16      |     1     |  15.030 us |       4.72% |  14.987 us |       5.07% |   -0.043 us |  -0.29% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |     1     |  16.605 us |       6.67% |  16.588 us |       6.85% |   -0.017 us |  -0.11% |   SAME   |
|   I16   |      I32      |          false           |      2^24      |     1     |  55.517 us |       2.18% |  55.749 us |       1.89% |    0.232 us |   0.42% |   SAME   |
|   I16   |      I32      |          false           |      2^28      |     1     | 657.350 us |       0.42% | 657.200 us |       0.42% |   -0.151 us |  -0.02% |   SAME   |
|   I16   |      I32      |          false           |      2^16      |   0.544   |  14.875 us |       6.27% |  14.888 us |       6.46% |    0.014 us |   0.09% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |   0.544   |  16.730 us |       7.94% |  16.780 us |       8.06% |    0.050 us |   0.30% |   SAME   |
|   I16   |      I32      |          false           |      2^24      |   0.544   |  59.420 us |       2.18% |  59.437 us |       2.09% |    0.017 us |   0.03% |   SAME   |
|   I16   |      I32      |          false           |      2^28      |   0.544   | 719.036 us |       0.32% | 719.193 us |       0.31% |    0.156 us |   0.02% |   SAME   |
|   I16   |      I32      |          false           |      2^16      |     0     |  14.888 us |       5.70% |  14.866 us |       5.69% |   -0.021 us |  -0.14% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |     0     |  16.695 us |       5.70% |  16.683 us |       6.25% |   -0.012 us |  -0.07% |   SAME   |
|   I16   |      I32      |          false           |      2^24      |     0     |  55.419 us |       2.16% |  55.344 us |       2.20% |   -0.076 us |  -0.14% |   SAME   |
|   I16   |      I32      |          false           |      2^28      |     0     | 654.997 us |       0.32% | 654.943 us |       0.32% |   -0.054 us |  -0.01% |   SAME   |
|   I16   |      I32      |           true           |      2^16      |     1     |  14.694 us |       6.16% |  14.760 us |       6.08% |    0.067 us |   0.45% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |     1     |  16.827 us |       8.25% |  16.801 us |       8.23% |   -0.026 us |  -0.15% |   SAME   |
|   I16   |      I32      |           true           |      2^24      |     1     |  53.076 us |       2.52% |  53.062 us |       2.63% |   -0.013 us |  -0.03% |   SAME   |
|   I16   |      I32      |           true           |      2^28      |     1     | 621.059 us |       0.30% | 621.001 us |       0.31% |   -0.058 us |  -0.01% |   SAME   |
|   I16   |      I32      |           true           |      2^16      |   0.544   |  14.952 us |       5.15% |  15.015 us |       4.86% |    0.063 us |   0.42% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |   0.544   |  17.048 us |       8.98% |  17.131 us |       8.81% |    0.083 us |   0.49% |   SAME   |
|   I16   |      I32      |           true           |      2^24      |   0.544   |  57.537 us |       2.14% |  57.596 us |       2.25% |    0.059 us |   0.10% |   SAME   |
|   I16   |      I32      |           true           |      2^28      |   0.544   | 678.085 us |       0.39% | 677.895 us |       0.38% |   -0.189 us |  -0.03% |   SAME   |
|   I16   |      I32      |           true           |      2^16      |     0     |  14.665 us |       6.38% |  14.677 us |       6.49% |    0.012 us |   0.08% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |     0     |  16.847 us |       7.72% |  16.754 us |       7.80% |   -0.093 us |  -0.55% |   SAME   |
|   I16   |      I32      |           true           |      2^24      |     0     |  53.107 us |       2.54% |  53.071 us |       2.62% |   -0.036 us |  -0.07% |   SAME   |
|   I16   |      I32      |           true           |      2^28      |     0     | 621.032 us |       0.34% | 621.158 us |       0.32% |    0.126 us |   0.02% |   SAME   |
|   I16   |      I64      |          false           |      2^16      |     1     |  15.153 us |      10.96% |  12.524 us |       9.75% |   -2.629 us | -17.35% |   FAST   |
|   I16   |      I64      |          false           |      2^20      |     1     |  17.401 us |       8.32% |  15.907 us |       9.02% |   -1.494 us |  -8.59% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |     1     |  84.491 us |       1.35% |  59.689 us |       2.58% |  -24.803 us | -29.36% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |     1     |   1.103 ms |       0.14% | 729.467 us |       0.59% | -374.012 us | -33.89% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |   0.544   |  16.194 us |       6.97% |  14.062 us |       7.12% |   -2.132 us | -13.16% |   FAST   |
|   I16   |      I64      |          false           |      2^20      |   0.544   |  17.999 us |       8.76% |  16.371 us |       7.62% |   -1.628 us |  -9.05% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |   0.544   |  84.733 us |       1.34% |  62.696 us |       2.22% |  -22.036 us | -26.01% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |   0.544   |   1.116 ms |       0.18% | 768.214 us |       0.48% | -348.070 us | -31.18% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |     0     |  16.359 us |       6.77% |  13.836 us |       9.55% |   -2.523 us | -15.42% |   FAST   |
|   I16   |      I64      |          false           |      2^20      |     0     |  18.037 us |       8.48% |  16.327 us |       7.86% |   -1.710 us |  -9.48% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |     0     |  84.585 us |       1.15% |  62.076 us |       2.44% |  -22.509 us | -26.61% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |     0     |   1.115 ms |       0.16% | 756.642 us |       0.49% | -358.358 us | -32.14% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |     1     |  14.838 us |       6.15% |  12.755 us |       6.90% |   -2.082 us | -14.03% |   FAST   |
|   I16   |      I64      |           true           |      2^20      |     1     |  16.998 us |       8.16% |  15.822 us |       9.44% |   -1.176 us |  -6.92% |   SAME   |
|   I16   |      I64      |           true           |      2^24      |     1     |  82.946 us |       2.00% |  55.779 us |       3.21% |  -27.167 us | -32.75% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |     1     |   1.090 ms |       0.19% | 672.696 us |       0.72% | -417.301 us | -38.28% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |   0.544   |  14.779 us |       6.11% |  12.676 us |       7.40% |   -2.102 us | -14.23% |   FAST   |
|   I16   |      I64      |           true           |      2^20      |   0.544   |  17.201 us |       7.59% |  15.644 us |      10.49% |   -1.557 us |  -9.05% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |   0.544   |  83.413 us |       1.76% |  57.207 us |       2.96% |  -26.206 us | -31.42% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |   0.544   |   1.099 ms |       0.13% | 699.146 us |       0.68% | -399.413 us | -36.36% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |     0     |  14.790 us |       6.03% |  12.680 us |       7.51% |   -2.110 us | -14.27% |   FAST   |
|   I16   |      I64      |           true           |      2^20      |     0     |  16.929 us |       6.51% |  15.509 us |       9.21% |   -1.420 us |  -8.39% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |     0     |  77.146 us |       2.14% |  55.398 us |       3.11% |  -21.748 us | -28.19% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |     0     | 971.503 us |       0.39% | 656.622 us |       0.79% | -314.881 us | -32.41% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |     1     |  14.729 us |       6.63% |  12.688 us |       7.19% |   -2.041 us | -13.86% |   FAST   |
|   I32   |      I32      |          false           |      2^20      |     1     |  21.153 us |       6.74% |  16.417 us |       7.03% |   -4.736 us | -22.39% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |     1     |  68.252 us |       1.93% |  65.392 us |       3.50% |   -2.860 us |  -4.19% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |     1     | 864.138 us |       0.34% | 825.653 us |       1.12% |  -38.485 us |  -4.45% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |   0.544   |  14.930 us |       5.56% |  13.105 us |       4.75% |   -1.824 us | -12.22% |   FAST   |
|   I32   |      I32      |          false           |      2^20      |   0.544   |  21.287 us |       6.82% |  16.716 us |       5.63% |   -4.571 us | -21.47% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |   0.544   |  69.199 us |       1.88% |  67.345 us |       3.05% |   -1.854 us |  -2.68% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |   0.544   | 882.879 us |       0.31% | 858.679 us |       1.01% |  -24.199 us |  -2.74% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |     0     |  14.665 us |       6.38% |  12.678 us |       7.22% |   -1.987 us | -13.55% |   FAST   |
|   I32   |      I32      |          false           |      2^20      |     0     |  21.272 us |       6.76% |  16.502 us |       6.47% |   -4.770 us | -22.43% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |     0     |  68.082 us |       1.97% |  65.512 us |       3.39% |   -2.569 us |  -3.77% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |     0     | 863.764 us |       0.33% | 825.628 us |       1.12% |  -38.136 us |  -4.42% |   FAST   |
|   I32   |      I32      |           true           |      2^16      |     1     |  14.665 us |       6.81% |  14.784 us |       6.21% |    0.119 us |   0.81% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |     1     |  20.970 us |       7.14% |  21.094 us |       6.90% |    0.124 us |   0.59% |   SAME   |
|   I32   |      I32      |           true           |      2^24      |     1     |  62.585 us |       2.34% |  62.847 us |       2.09% |    0.262 us |   0.42% |   SAME   |
|   I32   |      I32      |           true           |      2^28      |     1     | 764.104 us |       0.39% | 766.523 us |       0.35% |    2.418 us |   0.32% |   SAME   |
|   I32   |      I32      |           true           |      2^16      |   0.544   |  14.650 us |       6.64% |  14.687 us |       6.37% |    0.037 us |   0.25% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |   0.544   |  21.206 us |       7.03% |  21.183 us |       6.60% |   -0.022 us |  -0.11% |   SAME   |
|   I32   |      I32      |           true           |      2^24      |   0.544   |  63.353 us |       2.17% |  63.502 us |       2.17% |    0.149 us |   0.24% |   SAME   |
|   I32   |      I32      |           true           |      2^28      |   0.544   | 779.178 us |       0.37% | 779.325 us |       0.40% |    0.147 us |   0.02% |   SAME   |
|   I32   |      I32      |           true           |      2^16      |     0     |  14.874 us |       6.24% |  14.871 us |       6.26% |   -0.003 us |  -0.02% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |     0     |  21.126 us |       6.41% |  20.897 us |       6.76% |   -0.229 us |  -1.08% |   SAME   |
|   I32   |      I32      |           true           |      2^24      |     0     |  62.896 us |       2.22% |  62.920 us |       2.16% |    0.024 us |   0.04% |   SAME   |
|   I32   |      I32      |           true           |      2^28      |     0     | 767.250 us |       0.37% | 767.336 us |       0.40% |    0.085 us |   0.01% |   SAME   |
|   I32   |      I64      |          false           |      2^16      |     1     |  15.121 us |       4.48% |  13.803 us |       6.49% |   -1.318 us |  -8.71% |   FAST   |
|   I32   |      I64      |          false           |      2^20      |     1     |  21.622 us |       6.94% |  16.692 us |       6.53% |   -4.930 us | -22.80% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |     1     |  70.802 us |       1.79% |  65.223 us |       2.99% |   -5.579 us |  -7.88% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |     1     | 897.291 us |       0.35% | 805.618 us |       0.76% |  -91.674 us | -10.22% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |   0.544   |  14.902 us |       5.29% |  15.233 us |       3.27% |    0.331 us |   2.22% |   SAME   |
|   I32   |      I64      |          false           |      2^20      |   0.544   |  22.031 us |       6.77% |  16.878 us |       5.92% |   -5.153 us | -23.39% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |   0.544   |  71.878 us |       2.09% |  67.490 us |       2.84% |   -4.388 us |  -6.11% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |   0.544   | 921.477 us |       0.32% | 853.376 us |       0.66% |  -68.101 us |  -7.39% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |     0     |  15.074 us |       4.89% |  15.096 us |       4.41% |    0.022 us |   0.14% |   SAME   |
|   I32   |      I64      |          false           |      2^20      |     0     |  22.352 us |       6.88% |  16.818 us |       5.54% |   -5.534 us | -24.76% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |     0     |  73.862 us |       1.81% |  66.176 us |       2.71% |   -7.686 us | -10.41% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |     0     | 944.306 us |       0.27% | 827.047 us |       0.57% | -117.260 us | -12.42% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |     1     |  15.176 us |       3.80% |  15.305 us |       4.73% |    0.129 us |   0.85% |   SAME   |
|   I32   |      I64      |           true           |      2^20      |     1     |  21.475 us |       6.99% |  16.729 us |       5.44% |   -4.747 us | -22.10% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |     1     |  69.035 us |       1.99% |  62.868 us |       2.26% |   -6.167 us |  -8.93% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |     1     | 871.691 us |       0.40% | 765.265 us |       0.48% | -106.426 us | -12.21% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |   0.544   |  15.091 us |       4.46% |  15.301 us |       5.25% |    0.210 us |   1.39% |   SAME   |
|   I32   |      I64      |           true           |      2^20      |   0.544   |  21.107 us |       6.29% |  16.557 us |       6.23% |   -4.550 us | -21.56% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |   0.544   |  67.887 us |       2.01% |  63.409 us |       2.25% |   -4.478 us |  -6.60% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |   0.544   | 859.990 us |       0.45% | 777.422 us |       0.53% |  -82.568 us |  -9.60% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |     0     |  15.132 us |       4.25% |  15.185 us |       3.71% |    0.053 us |   0.35% |   SAME   |
|   I32   |      I64      |           true           |      2^20      |     0     |  21.138 us |       6.59% |  16.447 us |       7.39% |   -4.692 us | -22.19% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |     0     |  67.025 us |       2.12% |  60.903 us |       2.68% |   -6.121 us |  -9.13% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |     0     | 847.593 us |       0.42% | 742.823 us |       0.61% | -104.770 us | -12.36% |   FAST   |
|   I64   |      I32      |          false           |      2^16      |     1     |  15.086 us |       6.08% |  13.195 us |       6.39% |   -1.891 us | -12.54% |   FAST   |
|   I64   |      I32      |          false           |      2^20      |     1     |  19.280 us |       7.56% |  17.160 us |       8.39% |   -2.119 us | -10.99% |   FAST   |
|   I64   |      I32      |          false           |      2^24      |     1     | 102.205 us |       3.33% |  91.320 us |       2.85% |  -10.885 us | -10.65% |   FAST   |
|   I64   |      I32      |          false           |      2^28      |     1     |   1.405 ms |       0.92% |   1.221 ms |       0.87% | -183.983 us | -13.10% |   FAST   |
|   I64   |      I32      |          false           |      2^16      |   0.544   |  15.038 us |       6.09% |  13.055 us |       7.77% |   -1.982 us | -13.18% |   FAST   |
|   I64   |      I32      |          false           |      2^20      |   0.544   |  19.661 us |       7.05% |  17.522 us |      10.18% |   -2.139 us | -10.88% |   FAST   |
|   I64   |      I32      |          false           |      2^24      |   0.544   | 104.493 us |       2.93% |  94.334 us |       2.69% |  -10.159 us |  -9.72% |   FAST   |
|   I64   |      I32      |          false           |      2^28      |   0.544   |   1.446 ms |       0.85% |   1.268 ms |       0.77% | -178.167 us | -12.32% |   FAST   |
|   I64   |      I32      |          false           |      2^16      |     0     |  14.808 us |       6.95% |  12.832 us |       8.50% |   -1.976 us | -13.34% |   FAST   |
|   I64   |      I32      |          false           |      2^20      |     0     |  19.545 us |       7.32% |  17.097 us |       8.78% |   -2.449 us | -12.53% |   FAST   |
|   I64   |      I32      |          false           |      2^24      |     0     | 101.773 us |       3.08% |  90.941 us |       3.21% |  -10.831 us | -10.64% |   FAST   |
|   I64   |      I32      |          false           |      2^28      |     0     |   1.404 ms |       0.92% |   1.220 ms |       0.88% | -184.192 us | -13.11% |   FAST   |
|   I64   |      I32      |           true           |      2^16      |     1     |  14.988 us |       6.01% |  13.039 us |       5.49% |   -1.949 us | -13.01% |   FAST   |
|   I64   |      I32      |           true           |      2^20      |     1     |  19.322 us |       7.43% |  16.958 us |       8.04% |   -2.364 us | -12.23% |   FAST   |
|   I64   |      I32      |           true           |      2^24      |     1     | 109.217 us |       2.34% |  90.458 us |       3.06% |  -18.759 us | -17.18% |   FAST   |
|   I64   |      I32      |           true           |      2^28      |     1     |   1.531 ms |       0.63% |   1.227 ms |       0.99% | -304.290 us | -19.87% |   FAST   |
|   I64   |      I32      |           true           |      2^16      |   0.544   |  15.205 us |       3.64% |  13.110 us |       4.72% |   -2.095 us | -13.78% |   FAST   |
|   I64   |      I32      |           true           |      2^20      |   0.544   |  19.920 us |       7.46% |  17.139 us |       9.84% |   -2.782 us | -13.96% |   FAST   |
|   I64   |      I32      |           true           |      2^24      |   0.544   | 112.008 us |       2.33% |  94.054 us |       2.79% |  -17.954 us | -16.03% |   FAST   |
|   I64   |      I32      |           true           |      2^28      |   0.544   |   1.582 ms |       0.60% |   1.278 ms |       0.86% | -303.444 us | -19.19% |   FAST   |
|   I64   |      I32      |           true           |      2^16      |     0     |  14.704 us |       6.79% |  12.736 us |       6.86% |   -1.968 us | -13.38% |   FAST   |
|   I64   |      I32      |           true           |      2^20      |     0     |  19.538 us |       7.56% |  16.931 us |       8.83% |   -2.607 us | -13.34% |   FAST   |
|   I64   |      I32      |           true           |      2^24      |     0     | 109.016 us |       2.36% |  90.432 us |       2.97% |  -18.584 us | -17.05% |   FAST   |
|   I64   |      I32      |           true           |      2^28      |     0     |   1.533 ms |       0.63% |   1.226 ms |       0.94% | -306.727 us | -20.01% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |     1     |  15.042 us |       4.74% |  13.131 us |       5.37% |   -1.911 us | -12.71% |   FAST   |
|   I64   |      I64      |          false           |      2^20      |     1     |  19.086 us |       6.88% |  17.363 us |       8.49% |   -1.723 us |  -9.03% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |     1     | 110.196 us |       2.60% |  90.819 us |       3.87% |  -19.377 us | -17.58% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |     1     |   1.545 ms |       0.71% |   1.227 ms |       0.88% | -318.119 us | -20.59% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |   0.544   |  14.889 us |       6.17% |  13.042 us |       6.32% |   -1.847 us | -12.41% |   FAST   |
|   I64   |      I64      |          false           |      2^20      |   0.544   |  19.448 us |       7.27% |  18.011 us |       7.54% |   -1.437 us |  -7.39% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |   0.544   | 113.543 us |       2.52% |  95.047 us |       3.28% |  -18.496 us | -16.29% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |   0.544   |   1.593 ms |       0.70% |   1.290 ms |       0.87% | -303.466 us | -19.05% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |     0     |  15.030 us |       5.45% |  13.078 us |       5.80% |   -1.952 us | -12.99% |   FAST   |
|   I64   |      I64      |          false           |      2^20      |     0     |  18.773 us |       6.95% |  17.235 us |       8.18% |   -1.538 us |  -8.19% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |     0     | 111.381 us |       2.66% |  90.896 us |       3.42% |  -20.485 us | -18.39% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |     0     |   1.559 ms |       0.79% |   1.234 ms |       0.99% | -324.865 us | -20.84% |   FAST   |
|   I64   |      I64      |           true           |      2^16      |     1     |  14.827 us |       5.92% |  12.793 us |       6.73% |   -2.034 us | -13.72% |   FAST   |
|   I64   |      I64      |           true           |      2^20      |     1     |  19.008 us |       7.12% |  17.111 us |       8.16% |   -1.897 us |  -9.98% |   FAST   |
|   I64   |      I64      |           true           |      2^24      |     1     | 108.919 us |       2.56% |  89.016 us |       3.90% |  -19.903 us | -18.27% |   FAST   |
|   I64   |      I64      |           true           |      2^28      |     1     |   1.531 ms |       0.66% |   1.226 ms |       1.08% | -304.321 us | -19.88% |   FAST   |
|   I64   |      I64      |           true           |      2^16      |   0.544   |  15.079 us |       4.65% |  13.090 us |       5.19% |   -1.989 us | -13.19% |   FAST   |
|   I64   |      I64      |           true           |      2^20      |   0.544   |  19.510 us |       7.13% |  17.337 us |       9.31% |   -2.172 us | -11.14% |   FAST   |
|   I64   |      I64      |           true           |      2^24      |   0.544   | 111.301 us |       2.40% |  93.034 us |       3.27% |  -18.267 us | -16.41% |   FAST   |
|   I64   |      I64      |           true           |      2^28      |   0.544   |   1.568 ms |       0.59% |   1.282 ms |       1.01% | -286.937 us | -18.29% |   FAST   |
|   I64   |      I64      |           true           |      2^16      |     0     |  15.099 us |       4.80% |  13.116 us |       5.22% |   -1.983 us | -13.13% |   FAST   |
|   I64   |      I64      |           true           |      2^20      |     0     |  18.901 us |       7.25% |  16.855 us |       7.63% |   -2.046 us | -10.83% |   FAST   |
|   I64   |      I64      |           true           |      2^24      |     0     | 108.771 us |       2.39% |  89.023 us |       3.35% |  -19.748 us | -18.16% |   FAST   |
|   I64   |      I64      |           true           |      2^28      |     0     |   1.523 ms |       0.64% |   1.226 ms |       1.09% | -297.366 us | -19.52% |   FAST   |
|  I128   |      I32      |          false           |      2^16      |     1     |  15.096 us |       5.38% |  15.171 us |       5.22% |    0.075 us |   0.50% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |     1     |  21.315 us |       6.89% |  21.267 us |       7.10% |   -0.048 us |  -0.23% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |     1     | 152.435 us |       1.59% | 152.784 us |       1.72% |    0.349 us |   0.23% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |     1     |   2.195 ms |       0.45% |   2.195 ms |       0.45% |   -0.134 us |  -0.01% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |   0.544   |  15.309 us |       4.38% |  15.134 us |       5.25% |   -0.174 us |  -1.14% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |   0.544   |  21.689 us |       7.33% |  21.715 us |       7.20% |    0.025 us |   0.12% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |   0.544   | 156.597 us |       1.47% | 156.710 us |       1.37% |    0.113 us |   0.07% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |   0.544   |   2.259 ms |       0.38% |   2.259 ms |       0.38% |   -0.464 us |  -0.02% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |     0     |  15.392 us |       4.77% |  15.349 us |       4.47% |   -0.043 us |  -0.28% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |     0     |  21.554 us |       6.75% |  21.538 us |       7.10% |   -0.016 us |  -0.08% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |     0     | 152.742 us |       1.67% | 152.686 us |       1.73% |   -0.056 us |  -0.04% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |     0     |   2.194 ms |       0.47% |   2.193 ms |       0.44% |   -0.635 us |  -0.03% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |     1     |  15.355 us |       4.38% |  15.359 us |       4.50% |    0.004 us |   0.02% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |     1     |  21.445 us |       7.11% |  21.482 us |       7.23% |    0.037 us |   0.17% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |     1     | 153.073 us |       1.69% | 152.863 us |       1.59% |   -0.210 us |  -0.14% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |     1     |   2.201 ms |       0.44% |   2.200 ms |       0.44% |   -0.523 us |  -0.02% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |   0.544   |  15.253 us |       4.77% |  15.254 us |       4.93% |    0.001 us |   0.01% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |   0.544   |  21.987 us |       7.02% |  21.977 us |       6.97% |   -0.011 us |  -0.05% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |   0.544   | 157.662 us |       1.42% | 157.678 us |       1.42% |    0.016 us |   0.01% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |   0.544   |   2.272 ms |       0.34% |   2.272 ms |       0.35% |    0.287 us |   0.01% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |     0     |  15.357 us |       5.15% |  15.419 us |       4.41% |    0.063 us |   0.41% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |     0     |  21.255 us |       7.32% |  21.520 us |       7.40% |    0.265 us |   1.25% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |     0     | 153.226 us |       1.73% | 153.485 us |       1.63% |    0.259 us |   0.17% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |     0     |   2.200 ms |       0.42% |   2.200 ms |       0.43% |   -0.149 us |  -0.01% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |     1     |  15.485 us |       6.79% |  15.749 us |       5.00% |    0.263 us |   1.70% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |     1     |  21.245 us |       6.71% |  21.955 us |       5.57% |    0.711 us |   3.35% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |     1     | 151.019 us |       1.84% | 151.381 us |       1.83% |    0.361 us |   0.24% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |     1     |   2.166 ms |       0.51% |   2.166 ms |       0.51% |    0.089 us |   0.00% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |   0.544   |  15.664 us |       5.50% |  15.739 us |       5.05% |    0.075 us |   0.48% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |   0.544   |  21.688 us |       7.42% |  22.246 us |       6.25% |    0.558 us |   2.57% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |   0.544   | 154.775 us |       1.71% | 154.899 us |       1.62% |    0.123 us |   0.08% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |   0.544   |   2.221 ms |       0.44% |   2.222 ms |       0.43% |    0.346 us |   0.02% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |     0     |  15.604 us |       6.32% |  15.708 us |       5.46% |    0.103 us |   0.66% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |     0     |  21.567 us |       6.83% |  21.454 us |       7.17% |   -0.112 us |  -0.52% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |     0     | 151.487 us |       1.90% | 151.570 us |       1.89% |    0.083 us |   0.05% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |     0     |   2.171 ms |       0.53% |   2.171 ms |       0.51% |   -0.253 us |  -0.01% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |     1     |  14.860 us |       7.25% |  15.008 us |       7.17% |    0.148 us |   1.00% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |     1     |  21.033 us |       6.26% |  21.118 us |       6.60% |    0.085 us |   0.41% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |     1     | 150.660 us |       1.80% | 150.680 us |       1.71% |    0.021 us |   0.01% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |     1     |   2.155 ms |       0.45% |   2.155 ms |       0.46% |    0.189 us |   0.01% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |   0.544   |  14.988 us |       6.86% |  15.095 us |       5.99% |    0.107 us |   0.72% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |   0.544   |  21.362 us |       6.53% |  21.379 us |       7.37% |    0.016 us |   0.08% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |   0.544   | 153.616 us |       1.40% | 153.408 us |       1.46% |   -0.208 us |  -0.14% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |   0.544   |   2.205 ms |       0.35% |   2.205 ms |       0.36% |    0.483 us |   0.02% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |     0     |  14.953 us |       6.94% |  15.078 us |       6.83% |    0.125 us |   0.84% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |     0     |  21.111 us |       5.82% |  20.969 us |       6.22% |   -0.141 us |  -0.67% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |     0     | 150.550 us |       1.77% | 150.698 us |       1.74% |    0.148 us |   0.10% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |     0     |   2.149 ms |       0.44% |   2.149 ms |       0.45% |   -0.072 us |  -0.00% |   SAME   |
|   F32   |      I32      |          false           |      2^16      |     1     |  14.923 us |       6.43% |  12.900 us |       7.59% |   -2.023 us | -13.56% |   FAST   |
|   F32   |      I32      |          false           |      2^20      |     1     |  21.131 us |       6.81% |  16.473 us |       7.15% |   -4.657 us | -22.04% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |     1     |  68.478 us |       1.94% |  65.918 us |       3.58% |   -2.560 us |  -3.74% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |     1     | 866.923 us |       0.33% | 826.349 us |       1.04% |  -40.574 us |  -4.68% |   FAST   |
|   F32   |      I32      |          false           |      2^16      |   0.544   |  14.911 us |       5.64% |  12.877 us |       6.37% |   -2.033 us | -13.64% |   FAST   |
|   F32   |      I32      |          false           |      2^20      |   0.544   |  21.094 us |       7.15% |  16.537 us |       6.20% |   -4.557 us | -21.60% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |   0.544   |  69.452 us |       2.08% |  67.307 us |       3.28% |   -2.145 us |  -3.09% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |   0.544   | 885.808 us |       0.31% | 858.634 us |       1.00% |  -27.174 us |  -3.07% |   FAST   |
|   F32   |      I32      |          false           |      2^16      |     0     |  15.180 us |       4.09% |  13.184 us |       4.08% |   -1.996 us | -13.15% |   FAST   |
|   F32   |      I32      |          false           |      2^20      |     0     |  21.016 us |       5.84% |  16.259 us |       7.18% |   -4.757 us | -22.64% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |     0     |  68.462 us |       1.81% |  65.539 us |       3.47% |   -2.923 us |  -4.27% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |     0     | 866.821 us |       0.33% | 826.994 us |       1.11% |  -39.827 us |  -4.59% |   FAST   |
|   F32   |      I32      |           true           |      2^16      |     1     |  15.110 us |       4.21% |  15.172 us |       4.02% |    0.063 us |   0.41% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |     1     |  21.005 us |       7.13% |  21.118 us |       7.10% |    0.113 us |   0.54% |   SAME   |
|   F32   |      I32      |           true           |      2^24      |     1     |  62.863 us |       2.43% |  62.788 us |       2.35% |   -0.075 us |  -0.12% |   SAME   |
|   F32   |      I32      |           true           |      2^28      |     1     | 766.799 us |       0.36% | 766.822 us |       0.37% |    0.023 us |   0.00% |   SAME   |
|   F32   |      I32      |           true           |      2^16      |   0.544   |  14.778 us |       6.42% |  14.764 us |       6.40% |   -0.014 us |  -0.10% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |   0.544   |  21.063 us |       7.20% |  21.240 us |       6.99% |    0.177 us |   0.84% |   SAME   |
|   F32   |      I32      |           true           |      2^24      |   0.544   |  63.210 us |       2.49% |  63.230 us |       2.33% |    0.020 us |   0.03% |   SAME   |
|   F32   |      I32      |           true           |      2^28      |   0.544   | 779.447 us |       0.37% | 779.387 us |       0.37% |   -0.060 us |  -0.01% |   SAME   |
|   F32   |      I32      |           true           |      2^16      |     0     |  14.818 us |       6.11% |  14.806 us |       6.05% |   -0.012 us |  -0.08% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |     0     |  20.959 us |       6.33% |  21.106 us |       6.30% |    0.146 us |   0.70% |   SAME   |
|   F32   |      I32      |           true           |      2^24      |     0     |  62.749 us |       2.34% |  62.725 us |       2.39% |   -0.024 us |  -0.04% |   SAME   |
|   F32   |      I32      |           true           |      2^28      |     0     | 766.912 us |       0.37% | 767.287 us |       0.37% |    0.375 us |   0.05% |   SAME   |
|   F32   |      I64      |          false           |      2^16      |     1     |  14.950 us |       5.63% |  14.689 us |       6.13% |   -0.262 us |  -1.75% |   SAME   |
|   F32   |      I64      |          false           |      2^20      |     1     |  21.907 us |       7.00% |  16.743 us |       5.58% |   -5.164 us | -23.57% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |     1     |  70.549 us |       2.20% |  65.376 us |       3.13% |   -5.173 us |  -7.33% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |     1     | 897.103 us |       0.35% | 804.804 us |       0.77% |  -92.299 us | -10.29% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |   0.544   |  15.032 us |       5.29% |  14.744 us |       6.09% |   -0.288 us |  -1.92% |   SAME   |
|   F32   |      I64      |          false           |      2^20      |   0.544   |  21.999 us |       7.03% |  16.974 us |       5.40% |   -5.026 us | -22.84% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |   0.544   |  72.016 us |       2.00% |  67.328 us |       2.91% |   -4.688 us |  -6.51% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |   0.544   | 921.941 us |       0.35% | 853.355 us |       0.66% |  -68.586 us |  -7.44% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |     0     |  15.063 us |       6.13% |  14.973 us |       5.29% |   -0.091 us |  -0.60% |   SAME   |
|   F32   |      I64      |          false           |      2^20      |     0     |  22.183 us |       6.84% |  16.708 us |       5.68% |   -5.475 us | -24.68% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |     0     |  73.807 us |       1.82% |  66.239 us |       2.56% |   -7.568 us | -10.25% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |     0     | 944.003 us |       0.27% | 825.934 us |       0.55% | -118.069 us | -12.51% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |     1     |  14.772 us |       6.10% |  15.393 us |       9.92% |    0.622 us |   4.21% |   SAME   |
|   F32   |      I64      |           true           |      2^20      |     1     |  21.425 us |       7.00% |  16.484 us |       6.38% |   -4.941 us | -23.06% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |     1     |  68.836 us |       1.96% |  62.881 us |       2.39% |   -5.954 us |  -8.65% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |     1     | 871.232 us |       0.39% | 765.113 us |       0.50% | -106.118 us | -12.18% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |   0.544   |  14.742 us |       6.09% |  15.337 us |      10.22% |    0.595 us |   4.04% |   SAME   |
|   F32   |      I64      |           true           |      2^20      |   0.544   |  21.210 us |       7.09% |  16.541 us |       5.88% |   -4.669 us | -22.01% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |   0.544   |  67.811 us |       2.04% |  63.475 us |       2.36% |   -4.336 us |  -6.39% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |   0.544   | 860.157 us |       0.48% | 777.809 us |       0.55% |  -82.348 us |  -9.57% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |     0     |  14.724 us |       6.27% |  14.708 us |       6.37% |   -0.017 us |  -0.11% |   SAME   |
|   F32   |      I64      |           true           |      2^20      |     0     |  21.316 us |       6.79% |  16.616 us |       6.94% |   -4.699 us | -22.05% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |     0     |  67.167 us |       2.06% |  60.655 us |       2.56% |   -6.512 us |  -9.69% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |     0     | 847.781 us |       0.46% | 742.514 us |       0.57% | -105.267 us | -12.42% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |     1     |  15.049 us |       5.31% |  13.185 us |       5.13% |   -1.865 us | -12.39% |   FAST   |
|   F64   |      I32      |          false           |      2^20      |     1     |  19.478 us |       6.25% |  17.189 us |       9.36% |   -2.289 us | -11.75% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |     1     | 102.293 us |       3.28% |  91.235 us |       3.05% |  -11.057 us | -10.81% |   FAST   |
|   F64   |      I32      |          false           |      2^28      |     1     |   1.405 ms |       0.91% |   1.222 ms |       0.87% | -182.988 us | -13.02% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |   0.544   |  15.067 us |       6.08% |  13.185 us |       7.62% |   -1.882 us | -12.49% |   FAST   |
|   F64   |      I32      |          false           |      2^20      |   0.544   |  19.828 us |       6.92% |  17.528 us |      10.64% |   -2.300 us | -11.60% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |   0.544   | 104.555 us |       2.83% |  94.449 us |       2.52% |  -10.105 us |  -9.67% |   FAST   |
|   F64   |      I32      |          false           |      2^28      |   0.544   |   1.446 ms |       0.81% |   1.269 ms |       0.72% | -177.458 us | -12.27% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |     0     |  15.070 us |       5.20% |  13.027 us |       5.30% |   -2.043 us | -13.56% |   FAST   |
|   F64   |      I32      |          false           |      2^20      |     0     |  19.659 us |       6.81% |  17.102 us |       9.72% |   -2.557 us | -13.01% |   FAST   |
|   F64   |      I32      |          false           |      2^24      |     0     | 102.132 us |       3.37% |  91.060 us |       2.90% |  -11.072 us | -10.84% |   FAST   |
|   F64   |      I32      |          false           |      2^28      |     0     |   1.404 ms |       0.91% |   1.221 ms |       0.95% | -182.763 us | -13.02% |   FAST   |
|   F64   |      I32      |           true           |      2^16      |     1     |  15.127 us |       4.52% |  13.060 us |       4.84% |   -2.066 us | -13.66% |   FAST   |
|   F64   |      I32      |           true           |      2^20      |     1     |  19.541 us |       7.09% |  16.859 us |       8.22% |   -2.682 us | -13.72% |   FAST   |
|   F64   |      I32      |           true           |      2^24      |     1     | 109.360 us |       2.45% |  90.636 us |       3.10% |  -18.723 us | -17.12% |   FAST   |
|   F64   |      I32      |           true           |      2^28      |     1     |   1.533 ms |       0.66% |   1.227 ms |       0.95% | -305.810 us | -19.95% |   FAST   |
|   F64   |      I32      |           true           |      2^16      |   0.544   |  15.109 us |       4.55% |  13.095 us |       4.73% |   -2.014 us | -13.33% |   FAST   |
|   F64   |      I32      |           true           |      2^20      |   0.544   |  19.862 us |       7.07% |  17.280 us |      10.03% |   -2.583 us | -13.00% |   FAST   |
|   F64   |      I32      |           true           |      2^24      |   0.544   | 112.106 us |       2.22% |  94.165 us |       2.66% |  -17.941 us | -16.00% |   FAST   |
|   F64   |      I32      |           true           |      2^28      |   0.544   |   1.582 ms |       0.59% |   1.279 ms |       0.89% | -302.885 us | -19.15% |   FAST   |
|   F64   |      I32      |           true           |      2^16      |     0     |  14.484 us |       7.82% |  12.590 us |       8.16% |   -1.894 us | -13.08% |   FAST   |
|   F64   |      I32      |           true           |      2^20      |     0     |  19.626 us |       6.70% |  16.959 us |       8.72% |   -2.667 us | -13.59% |   FAST   |
|   F64   |      I32      |           true           |      2^24      |     0     | 109.138 us |       2.42% |  90.272 us |       2.98% |  -18.866 us | -17.29% |   FAST   |
|   F64   |      I32      |           true           |      2^28      |     0     |   1.532 ms |       0.63% |   1.226 ms |       0.98% | -305.821 us | -19.96% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |     1     |  14.832 us |       6.72% |  12.925 us |       6.87% |   -1.907 us | -12.86% |   FAST   |
|   F64   |      I64      |          false           |      2^20      |     1     |  18.939 us |       7.45% |  17.405 us |       7.73% |   -1.535 us |  -8.10% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |     1     | 110.319 us |       2.61% |  90.934 us |       3.55% |  -19.386 us | -17.57% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |     1     |   1.546 ms |       0.74% |   1.227 ms |       0.93% | -318.731 us | -20.62% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |   0.544   |  15.208 us |       4.85% |  13.162 us |       5.63% |   -2.046 us | -13.45% |   FAST   |
|   F64   |      I64      |          false           |      2^20      |   0.544   |  19.324 us |       7.33% |  17.756 us |       8.12% |   -1.568 us |  -8.12% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |   0.544   | 113.732 us |       2.47% |  94.985 us |       3.19% |  -18.747 us | -16.48% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |   0.544   |   1.593 ms |       0.70% |   1.290 ms |       0.87% | -302.852 us | -19.01% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |     0     |  14.841 us |       6.90% |  12.835 us |       7.15% |   -2.007 us | -13.52% |   FAST   |
|   F64   |      I64      |          false           |      2^20      |     0     |  19.061 us |       7.17% |  17.410 us |       7.93% |   -1.651 us |  -8.66% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |     0     | 111.141 us |       2.63% |  91.332 us |       3.66% |  -19.808 us | -17.82% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |     0     |   1.559 ms |       0.73% |   1.233 ms |       0.97% | -325.977 us | -20.90% |   FAST   |
|   F64   |      I64      |           true           |      2^16      |     1     |  15.018 us |       5.18% |  12.995 us |       5.52% |   -2.023 us | -13.47% |   FAST   |
|   F64   |      I64      |           true           |      2^20      |     1     |  19.090 us |       7.16% |  17.081 us |       7.39% |   -2.009 us | -10.52% |   FAST   |
|   F64   |      I64      |           true           |      2^24      |     1     | 109.305 us |       2.34% |  88.970 us |       3.89% |  -20.335 us | -18.60% |   FAST   |
|   F64   |      I64      |           true           |      2^28      |     1     |   1.531 ms |       0.67% |   1.227 ms |       1.12% | -304.582 us | -19.89% |   FAST   |
|   F64   |      I64      |           true           |      2^16      |   0.544   |  14.917 us |       5.93% |  12.848 us |       6.47% |   -2.069 us | -13.87% |   FAST   |
|   F64   |      I64      |           true           |      2^20      |   0.544   |  19.406 us |       6.98% |  17.500 us |       8.94% |   -1.906 us |  -9.82% |   FAST   |
|   F64   |      I64      |           true           |      2^24      |   0.544   | 111.648 us |       2.16% |  93.360 us |       3.29% |  -18.288 us | -16.38% |   FAST   |
|   F64   |      I64      |           true           |      2^28      |   0.544   |   1.569 ms |       0.60% |   1.282 ms |       0.99% | -286.925 us | -18.29% |   FAST   |
|   F64   |      I64      |           true           |      2^16      |     0     |  15.205 us |       3.74% |  13.172 us |       4.18% |   -2.033 us | -13.37% |   FAST   |
|   F64   |      I64      |           true           |      2^20      |     0     |  19.179 us |       7.58% |  16.955 us |       8.56% |   -2.224 us | -11.60% |   FAST   |
|   F64   |      I64      |           true           |      2^24      |     0     | 108.611 us |       2.39% |  88.935 us |       3.58% |  -19.675 us | -18.12% |   FAST   |
|   F64   |      I64      |           true           |      2^28      |     0     |   1.524 ms |       0.60% |   1.226 ms |       1.07% | -297.186 us | -19.51% |   FAST   |```

@gonidelis
Copy link
Member

gonidelis commented Feb 5, 2025

partion.three_way (lots of room for improvement) PLEASE SCROLL DOWN FOR UPDATED RESULTS WITH THE EXACT SAME TUNINGS ON A BETTER GPU.

|  T{ct}  |  OffsetT{ct}  |  Elements{io}  |  Entropy  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|---------|---------------|----------------|-----------|------------|-------------|------------|-------------|-------------|---------|----------|
|   I8    |      I32      |      2^16      |     1     |  13.771 us |      11.53% |  13.744 us |      11.91% |   -0.027 us |  -0.19% |   SAME   |
|   I8    |      I32      |      2^20      |     1     |  18.473 us |       6.80% |  18.442 us |       6.75% |   -0.031 us |  -0.17% |   SAME   |
|   I8    |      I32      |      2^24      |     1     |  70.439 us |       1.49% |  70.457 us |       1.38% |    0.018 us |   0.03% |   SAME   |
|   I8    |      I32      |      2^28      |     1     | 940.531 us |       0.23% | 940.780 us |       0.23% |    0.249 us |   0.03% |   SAME   |
|   I8    |      I32      |      2^16      |   0.544   |  13.337 us |       9.62% |  13.916 us |       8.44% |    0.578 us |   4.34% |   SAME   |
|   I8    |      I32      |      2^20      |   0.544   |  17.971 us |       8.61% |  18.206 us |       8.08% |    0.234 us |   1.30% |   SAME   |
|   I8    |      I32      |      2^24      |   0.544   |  69.364 us |       1.92% |  69.757 us |       1.60% |    0.393 us |   0.57% |   SAME   |
|   I8    |      I32      |      2^28      |   0.544   | 926.655 us |       0.24% | 926.685 us |       0.24% |    0.030 us |   0.00% |   SAME   |
|   I8    |      I32      |      2^16      |     0     |  12.950 us |       8.01% |  13.492 us |       4.34% |    0.542 us |   4.18% |   SAME   |
|   I8    |      I32      |      2^20      |     0     |  18.192 us |       7.69% |  18.693 us |       5.53% |    0.502 us |   2.76% |   SAME   |
|   I8    |      I32      |      2^24      |     0     |  67.584 us |       1.99% |  68.107 us |       1.42% |    0.523 us |   0.77% |   SAME   |
|   I8    |      I32      |      2^28      |     0     | 900.585 us |       0.25% | 900.604 us |       0.23% |    0.019 us |   0.00% |   SAME   |
|   I8    |      I64      |      2^16      |     1     |  13.709 us |      10.26% |  14.304 us |       7.31% |    0.594 us |   4.34% |   SAME   |
|   I8    |      I64      |      2^20      |     1     |  18.312 us |       7.53% |  18.931 us |       4.93% |    0.619 us |   3.38% |   SAME   |
|   I8    |      I64      |      2^24      |     1     |  70.804 us |       1.62% |  71.142 us |       1.27% |    0.338 us |   0.48% |   SAME   |
|   I8    |      I64      |      2^28      |     1     | 948.609 us |       0.22% | 948.716 us |       0.22% |    0.107 us |   0.01% |   SAME   |
|   I8    |      I64      |      2^16      |   0.544   |  13.669 us |      10.72% |  14.306 us |       7.16% |    0.637 us |   4.66% |   SAME   |
|   I8    |      I64      |      2^20      |   0.544   |  18.209 us |       7.62% |  18.863 us |       5.50% |    0.655 us |   3.60% |   SAME   |
|   I8    |      I64      |      2^24      |   0.544   |  69.722 us |       1.79% |  70.117 us |       1.45% |    0.395 us |   0.57% |   SAME   |
|   I8    |      I64      |      2^28      |   0.544   | 931.241 us |       0.23% | 931.589 us |       0.22% |    0.349 us |   0.04% |   SAME   |
|   I8    |      I64      |      2^16      |     0     |  12.845 us |       8.11% |  13.560 us |       4.74% |    0.716 us |   5.57% |   SLOW   |
|   I8    |      I64      |      2^20      |     0     |  17.943 us |       8.44% |  18.354 us |       7.26% |    0.411 us |   2.29% |   SAME   |
|   I8    |      I64      |      2^24      |     0     |  68.089 us |       1.78% |  68.470 us |       1.13% |    0.381 us |   0.56% |   SAME   |
|   I8    |      I64      |      2^28      |     0     | 905.774 us |       0.24% | 906.319 us |       0.22% |    0.545 us |   0.06% |   SAME   |
|   I16   |      I32      |      2^16      |     1     |  13.819 us |      11.21% |  14.406 us |       8.53% |    0.587 us |   4.25% |   SAME   |
|   I16   |      I32      |      2^20      |     1     |  17.621 us |       8.37% |  18.240 us |       5.94% |    0.618 us |   3.51% |   SAME   |
|   I16   |      I32      |      2^24      |     1     |  72.923 us |       1.71% |  73.337 us |       1.31% |    0.414 us |   0.57% |   SAME   |
|   I16   |      I32      |      2^28      |     1     | 972.290 us |       0.22% | 972.389 us |       0.21% |    0.099 us |   0.01% |   SAME   |
|   I16   |      I32      |      2^16      |   0.544   |  13.157 us |       8.12% |  14.176 us |       7.26% |    1.019 us |   7.74% |   SLOW   |
|   I16   |      I32      |      2^20      |   0.544   |  17.505 us |       7.98% |  18.130 us |       5.60% |    0.625 us |   3.57% |   SAME   |
|   I16   |      I32      |      2^24      |   0.544   |  72.287 us |       1.35% |  72.651 us |       0.92% |    0.364 us |   0.50% |   SAME   |
|   I16   |      I32      |      2^28      |   0.544   | 959.899 us |       0.22% | 960.053 us |       0.23% |    0.154 us |   0.02% |   SAME   |
|   I16   |      I32      |      2^16      |     0     |  13.128 us |       9.51% |  13.889 us |       6.73% |    0.761 us |   5.80% |   SAME   |
|   I16   |      I32      |      2^20      |     0     |  17.081 us |       8.74% |  17.564 us |       7.68% |    0.483 us |   2.83% |   SAME   |
|   I16   |      I32      |      2^24      |     0     |  70.547 us |       1.48% |  70.853 us |       1.07% |    0.305 us |   0.43% |   SAME   |
|   I16   |      I32      |      2^28      |     0     | 930.177 us |       0.26% | 930.830 us |       0.24% |    0.653 us |   0.07% |   SAME   |
|   I16   |      I64      |      2^16      |     1     |  14.206 us |       9.33% |  14.707 us |       7.04% |    0.501 us |   3.53% |   SAME   |
|   I16   |      I64      |      2^20      |     1     |  17.819 us |       9.27% |  18.222 us |       7.67% |    0.402 us |   2.26% |   SAME   |
|   I16   |      I64      |      2^24      |     1     |  64.186 us |       1.50% |  64.582 us |       1.13% |    0.396 us |   0.62% |   SAME   |
|   I16   |      I64      |      2^28      |     1     | 827.017 us |       0.22% | 827.010 us |       0.22% |   -0.006 us |  -0.00% |   SAME   |
|   I16   |      I64      |      2^16      |   0.544   |  14.022 us |       8.30% |  14.723 us |       6.65% |    0.701 us |   5.00% |   SAME   |
|   I16   |      I64      |      2^20      |   0.544   |  17.541 us |       8.97% |  17.983 us |       8.26% |    0.442 us |   2.52% |   SAME   |
|   I16   |      I64      |      2^24      |   0.544   |  63.845 us |       1.81% |  64.095 us |       1.42% |    0.250 us |   0.39% |   SAME   |
|   I16   |      I64      |      2^28      |   0.544   | 817.702 us |       0.25% | 817.979 us |       0.22% |    0.277 us |   0.03% |   SAME   |
|   I16   |      I64      |      2^16      |     0     |  13.268 us |       9.44% |  14.203 us |       7.35% |    0.934 us |   7.04% |   SAME   |
|   I16   |      I64      |      2^20      |     0     |  17.118 us |       9.18% |  17.574 us |       7.44% |    0.457 us |   2.67% |   SAME   |
|   I16   |      I64      |      2^24      |     0     |  61.969 us |       1.74% |  62.399 us |       1.22% |    0.430 us |   0.69% |   SAME   |
|   I16   |      I64      |      2^28      |     0     | 792.273 us |       0.25% | 792.304 us |       0.23% |    0.031 us |   0.00% |   SAME   |
|   I32   |      I32      |      2^16      |     1     |  14.055 us |       7.39% |  15.342 us |       1.96% |    1.287 us |   9.16% |   SLOW   |
|   I32   |      I32      |      2^20      |     1     |  18.096 us |       8.66% |  16.999 us |       5.38% |   -1.097 us |  -6.06% |   FAST   |
|   I32   |      I32      |      2^24      |     1     |  90.748 us |       1.38% |  70.831 us |       0.82% |  -19.917 us | -21.95% |   FAST   |
|   I32   |      I32      |      2^28      |     1     |   1.225 ms |       0.22% | 920.101 us |       0.38% | -305.158 us | -24.91% |   FAST   |
|   I32   |      I32      |      2^16      |   0.544   |  14.342 us |       7.76% |  14.793 us |       6.33% |    0.451 us |   3.14% |   SAME   |
|   I32   |      I32      |      2^20      |   0.544   |  18.165 us |       8.61% |  16.849 us |       5.42% |   -1.316 us |  -7.25% |   FAST   |
|   I32   |      I32      |      2^24      |   0.544   |  89.340 us |       1.53% |  69.884 us |       1.47% |  -19.456 us | -21.78% |   FAST   |
|   I32   |      I32      |      2^28      |   0.544   |   1.211 ms |       0.22% | 905.105 us |       0.22% | -306.149 us | -25.28% |   FAST   |
|   I32   |      I32      |      2^16      |     0     |  13.922 us |      10.57% |  14.855 us |       6.01% |    0.933 us |   6.70% |   SLOW   |
|   I32   |      I32      |      2^20      |     0     |  18.162 us |       7.86% |  17.372 us |       2.02% |   -0.790 us |  -4.35% |   FAST   |
|   I32   |      I32      |      2^24      |     0     |  90.062 us |       1.44% |  66.788 us |       1.00% |  -23.274 us | -25.84% |   FAST   |
|   I32   |      I32      |      2^28      |     0     |   1.217 ms |       0.19% | 856.148 us |       0.21% | -360.643 us | -29.64% |   FAST   |
|   I32   |      I64      |      2^16      |     1     |  14.321 us |       7.82% |  14.697 us |       6.54% |    0.376 us |   2.63% |   SAME   |
|   I32   |      I64      |      2^20      |     1     |  17.997 us |       9.06% |  16.778 us |       5.78% |   -1.219 us |  -6.77% |   FAST   |
|   I32   |      I64      |      2^24      |     1     |  90.286 us |       1.55% |  70.753 us |       0.80% |  -19.533 us | -21.63% |   FAST   |
|   I32   |      I64      |      2^28      |     1     |   1.221 ms |       0.19% | 920.699 us |       0.20% | -300.165 us | -24.59% |   FAST   |
|   I32   |      I64      |      2^16      |   0.544   |  13.854 us |       7.80% |  15.302 us |       2.31% |    1.448 us |  10.45% |   SLOW   |
|   I32   |      I64      |      2^20      |   0.544   |  17.974 us |       8.90% |  17.003 us |       4.97% |   -0.971 us |  -5.40% |   FAST   |
|   I32   |      I64      |      2^24      |   0.544   |  89.327 us |       1.51% |  70.060 us |       1.43% |  -19.267 us | -21.57% |   FAST   |
|   I32   |      I64      |      2^28      |   0.544   |   1.207 ms |       0.20% | 908.603 us |       0.19% | -298.433 us | -24.72% |   FAST   |
|   I32   |      I64      |      2^16      |     0     |  13.538 us |      11.65% |  14.685 us |       6.57% |    1.147 us |   8.47% |   SLOW   |
|   I32   |      I64      |      2^20      |     0     |  17.742 us |       9.34% |  17.036 us |       4.64% |   -0.706 us |  -3.98% |   SAME   |
|   I32   |      I64      |      2^24      |     0     |  89.604 us |       1.47% |  66.949 us |       1.24% |  -22.655 us | -25.28% |   FAST   |
|   I32   |      I64      |      2^28      |     0     |   1.212 ms |       0.19% | 860.185 us |       0.21% | -351.329 us | -29.00% |   FAST   |
|   I64   |      I32      |      2^16      |     1     |  14.538 us |       7.86% |  14.708 us |       7.15% |    0.170 us |   1.17% |   SAME   |
|   I64   |      I32      |      2^20      |     1     |  18.856 us |       6.19% |  19.196 us |       4.00% |    0.340 us |   1.80% |   SAME   |
|   I64   |      I32      |      2^24      |     1     | 100.722 us |       1.53% |  88.672 us |       1.50% |  -12.050 us | -11.96% |   FAST   |
|   I64   |      I32      |      2^28      |     1     |   1.385 ms |       0.35% |   1.190 ms |       0.38% | -194.858 us | -14.07% |   FAST   |
|   I64   |      I32      |      2^16      |   0.544   |  14.977 us |       5.58% |  14.983 us |       5.37% |    0.006 us |   0.04% |   SAME   |
|   I64   |      I32      |      2^20      |   0.544   |  18.987 us |       7.77% |  19.028 us |       4.87% |    0.041 us |   0.22% |   SAME   |
|   I64   |      I32      |      2^24      |   0.544   | 100.127 us |       1.45% |  88.369 us |       1.42% |  -11.757 us | -11.74% |   FAST   |
|   I64   |      I32      |      2^28      |   0.544   |   1.379 ms |       0.21% |   1.185 ms |       0.33% | -194.277 us | -14.09% |   FAST   |
|   I64   |      I32      |      2^16      |     0     |  14.768 us |       6.98% |  14.932 us |       5.77% |    0.164 us |   1.11% |   SAME   |
|   I64   |      I32      |      2^20      |     0     |  18.740 us |       6.10% |  18.473 us |       7.24% |   -0.267 us |  -1.43% |   SAME   |
|   I64   |      I32      |      2^24      |     0     |  95.222 us |       1.83% |  84.602 us |       1.67% |  -10.620 us | -11.15% |   FAST   |
|   I64   |      I32      |      2^28      |     0     |   1.295 ms |       0.26% |   1.125 ms |       0.37% | -169.780 us | -13.11% |   FAST   |
|   I64   |      I64      |      2^16      |     1     |  14.664 us |       7.45% |  14.992 us |       5.37% |    0.328 us |   2.23% |   SAME   |
|   I64   |      I64      |      2^20      |     1     |  18.945 us |       7.78% |  18.813 us |       5.40% |   -0.132 us |  -0.70% |   SAME   |
|   I64   |      I64      |      2^24      |     1     | 100.338 us |       1.50% |  88.968 us |       1.43% |  -11.370 us | -11.33% |   FAST   |
|   I64   |      I64      |      2^28      |     1     |   1.383 ms |       0.21% |   1.193 ms |       0.30% | -190.211 us | -13.75% |   FAST   |
|   I64   |      I64      |      2^16      |   0.544   |  14.914 us |       6.04% |  14.924 us |       5.64% |    0.010 us |   0.07% |   SAME   |
|   I64   |      I64      |      2^20      |   0.544   |  19.061 us |       5.99% |  19.192 us |       3.81% |    0.131 us |   0.69% |   SAME   |
|   I64   |      I64      |      2^24      |   0.544   | 100.214 us |       1.38% |  88.340 us |       1.45% |  -11.874 us | -11.85% |   FAST   |
|   I64   |      I64      |      2^28      |   0.544   |   1.376 ms |       0.22% |   1.186 ms |       0.32% | -190.376 us | -13.83% |   FAST   |
|   I64   |      I64      |      2^16      |     0     |  14.705 us |       7.36% |  14.662 us |       7.37% |   -0.043 us |  -0.29% |   SAME   |
|   I64   |      I64      |      2^20      |     0     |  19.045 us |       4.67% |  18.510 us |       7.18% |   -0.535 us |  -2.81% |   SAME   |
|   I64   |      I64      |      2^24      |     0     |  95.246 us |       1.72% |  84.563 us |       1.73% |  -10.683 us | -11.22% |   FAST   |
|   I64   |      I64      |      2^28      |     0     |   1.295 ms |       0.25% |   1.126 ms |       0.38% | -169.704 us | -13.10% |   FAST   |
|  I128   |      I32      |      2^16      |     1     |  14.744 us |       8.61% |  14.823 us |       8.74% |    0.079 us |   0.53% |   SAME   |
|  I128   |      I32      |      2^20      |     1     |  21.993 us |       6.49% |  22.159 us |       6.39% |    0.166 us |   0.76% |   SAME   |
|  I128   |      I32      |      2^24      |     1     | 146.030 us |       1.07% | 146.197 us |       1.00% |    0.168 us |   0.11% |   SAME   |
|  I128   |      I32      |      2^28      |     1     |   2.108 ms |       0.22% |   2.108 ms |       0.22% |    0.018 us |   0.00% |   SAME   |
|  I128   |      I32      |      2^16      |   0.544   |  14.814 us |       8.32% |  14.882 us |       8.87% |    0.068 us |   0.46% |   SAME   |
|  I128   |      I32      |      2^20      |   0.544   |  21.863 us |       6.35% |  21.659 us |       6.63% |   -0.204 us |  -0.93% |   SAME   |
|  I128   |      I32      |      2^24      |   0.544   | 144.733 us |       1.00% | 144.699 us |       1.03% |   -0.034 us |  -0.02% |   SAME   |
|  I128   |      I32      |      2^28      |   0.544   |   2.086 ms |       0.23% |   2.086 ms |       0.22% |   -0.121 us |  -0.01% |   SAME   |
|  I128   |      I32      |      2^16      |     0     |  14.914 us |       8.60% |  14.891 us |       8.68% |   -0.023 us |  -0.16% |   SAME   |
|  I128   |      I32      |      2^20      |     0     |  21.329 us |       6.53% |  21.443 us |       6.39% |    0.114 us |   0.53% |   SAME   |
|  I128   |      I32      |      2^24      |     0     | 139.757 us |       1.27% | 139.732 us |       1.22% |   -0.024 us |  -0.02% |   SAME   |
|  I128   |      I32      |      2^28      |     0     |   2.009 ms |       0.27% |   2.009 ms |       0.26% |    0.389 us |   0.02% |   SAME   |
|  I128   |      I64      |      2^16      |     1     |  14.840 us |       8.83% |  15.005 us |       9.19% |    0.165 us |   1.11% |   SAME   |
|  I128   |      I64      |      2^20      |     1     |  21.977 us |       6.40% |  22.143 us |       6.32% |    0.166 us |   0.75% |   SAME   |
|  I128   |      I64      |      2^24      |     1     | 145.896 us |       1.13% | 146.105 us |       1.05% |    0.209 us |   0.14% |   SAME   |
|  I128   |      I64      |      2^28      |     1     |   2.108 ms |       0.22% |   2.108 ms |       0.21% |    0.084 us |   0.00% |   SAME   |
|  I128   |      I64      |      2^16      |   0.544   |  14.763 us |       8.29% |  14.801 us |       8.48% |    0.038 us |   0.26% |   SAME   |
|  I128   |      I64      |      2^20      |   0.544   |  21.782 us |       6.56% |  21.955 us |       6.64% |    0.173 us |   0.80% |   SAME   |
|  I128   |      I64      |      2^24      |   0.544   | 144.460 us |       1.05% | 144.490 us |       1.02% |    0.030 us |   0.02% |   SAME   |
|  I128   |      I64      |      2^28      |   0.544   |   2.085 ms |       0.21% |   2.084 ms |       0.23% |   -0.416 us |  -0.02% |   SAME   |
|  I128   |      I64      |      2^16      |     0     |  14.727 us |       8.00% |  14.694 us |       7.91% |   -0.033 us |  -0.22% |   SAME   |
|  I128   |      I64      |      2^20      |     0     |  21.120 us |       7.07% |  21.073 us |       6.53% |   -0.047 us |  -0.22% |   SAME   |
|  I128   |      I64      |      2^24      |     0     | 139.706 us |       1.27% | 139.501 us |       1.27% |   -0.205 us |  -0.15% |   SAME   |
|  I128   |      I64      |      2^28      |     0     |   2.004 ms |       0.28% |   2.004 ms |       0.27% |   -0.010 us |  -0.00% |   SAME   |
|   F32   |      I32      |      2^16      |     1     |  14.514 us |       7.41% |  14.649 us |       6.95% |    0.135 us |   0.93% |   SAME   |
|   F32   |      I32      |      2^20      |     1     |  18.122 us |       8.87% |  16.606 us |       6.60% |   -1.516 us |  -8.37% |   FAST   |
|   F32   |      I32      |      2^24      |     1     |  91.020 us |       1.28% |  70.546 us |       1.12% |  -20.474 us | -22.49% |   FAST   |
|   F32   |      I32      |      2^28      |     1     |   1.226 ms |       0.22% | 919.231 us |       0.21% | -306.863 us | -25.03% |   FAST   |
|   F32   |      I32      |      2^16      |   0.544   |  13.924 us |       7.06% |  14.098 us |       6.69% |    0.173 us |   1.25% |   SAME   |
|   F32   |      I32      |      2^20      |   0.544   |  18.382 us |       7.13% |  16.765 us |       5.33% |   -1.617 us |  -8.80% |   FAST   |
|   F32   |      I32      |      2^24      |   0.544   |  90.275 us |       1.45% |  69.936 us |       1.61% |  -20.339 us | -22.53% |   FAST   |
|   F32   |      I32      |      2^28      |   0.544   |   1.216 ms |       0.20% | 909.808 us |       0.21% | -305.802 us | -25.16% |   FAST   |
|   F32   |      I32      |      2^16      |     0     |  13.965 us |      10.04% |  14.471 us |       6.87% |    0.506 us |   3.62% |   SAME   |
|   F32   |      I32      |      2^20      |     0     |  18.099 us |       8.05% |  16.723 us |       5.53% |   -1.376 us |  -7.60% |   FAST   |
|   F32   |      I32      |      2^24      |     0     |  90.490 us |       1.31% |  66.423 us |       1.30% |  -24.067 us | -26.60% |   FAST   |
|   F32   |      I32      |      2^28      |     0     |   1.217 ms |       0.19% | 856.840 us |       0.22% | -360.376 us | -29.61% |   FAST   |
|   F32   |      I64      |      2^16      |     1     |  14.228 us |       7.18% |  14.590 us |       6.56% |    0.362 us |   2.55% |   SAME   |
|   F32   |      I64      |      2^20      |     1     |  18.223 us |       7.28% |  16.703 us |       5.43% |   -1.520 us |  -8.34% |   FAST   |
|   F32   |      I64      |      2^24      |     1     |  90.621 us |       1.32% |  70.600 us |       1.05% |  -20.021 us | -22.09% |   FAST   |
|   F32   |      I64      |      2^28      |     1     |   1.221 ms |       0.21% | 919.986 us |       0.20% | -301.008 us | -24.65% |   FAST   |
|   F32   |      I64      |      2^16      |   0.544   |  13.773 us |       7.84% |  14.415 us |       6.92% |    0.642 us |   4.66% |   SAME   |
|   F32   |      I64      |      2^20      |   0.544   |  17.993 us |       9.13% |  16.607 us |       6.48% |   -1.386 us |  -7.71% |   FAST   |
|   F32   |      I64      |      2^24      |   0.544   |  89.734 us |       1.47% |  69.885 us |       1.57% |  -19.849 us | -22.12% |   FAST   |
|   F32   |      I64      |      2^28      |   0.544   |   1.211 ms |       0.19% | 909.102 us |       0.21% | -301.776 us | -24.92% |   FAST   |
|   F32   |      I64      |      2^16      |     0     |  13.734 us |       8.39% |  14.467 us |       6.76% |    0.733 us |   5.34% |   SAME   |
|   F32   |      I64      |      2^20      |     0     |  17.717 us |       9.94% |  16.566 us |       6.33% |   -1.151 us |  -6.50% |   FAST   |
|   F32   |      I64      |      2^24      |     0     |  89.796 us |       1.46% |  66.578 us |       1.52% |  -23.218 us | -25.86% |   FAST   |
|   F32   |      I64      |      2^28      |     0     |   1.214 ms |       0.19% | 859.273 us |       0.20% | -354.332 us | -29.20% |   FAST   |
|   F64   |      I32      |      2^16      |     1     |  14.764 us |       7.02% |  14.659 us |       8.22% |   -0.105 us |  -0.71% |   SAME   |
|   F64   |      I32      |      2^20      |     1     |  18.760 us |       5.68% |  18.319 us |       7.26% |   -0.441 us |  -2.35% |   SAME   |
|   F64   |      I32      |      2^24      |     1     |  98.140 us |       1.28% |  98.582 us |       1.77% |    0.442 us |   0.45% |   SAME   |
|   F64   |      I32      |      2^28      |     1     |   1.348 ms |       0.21% |   1.343 ms |       0.39% |   -5.286 us |  -0.39% |   FAST   |
|   F64   |      I32      |      2^16      |   0.544   |  14.891 us |       6.54% |  14.481 us |       8.28% |   -0.410 us |  -2.75% |   SAME   |
|   F64   |      I32      |      2^20      |   0.544   |  18.776 us |       6.80% |  18.021 us |       8.50% |   -0.755 us |  -4.02% |   SAME   |
|   F64   |      I32      |      2^24      |   0.544   |  97.661 us |       1.47% |  97.792 us |       1.81% |    0.130 us |   0.13% |   SAME   |
|   F64   |      I32      |      2^28      |   0.544   |   1.340 ms |       0.21% |   1.333 ms |       0.40% |   -7.266 us |  -0.54% |   FAST   |
|   F64   |      I32      |      2^16      |     0     |  14.408 us |       8.90% |  14.286 us |       9.75% |   -0.123 us |  -0.85% |   SAME   |
|   F64   |      I32      |      2^20      |     0     |  18.720 us |       5.27% |  17.976 us |       8.91% |   -0.744 us |  -3.97% |   SAME   |
|   F64   |      I32      |      2^24      |     0     |  93.082 us |       1.76% |  94.782 us |       2.11% |    1.701 us |   1.83% |   SLOW   |
|   F64   |      I32      |      2^28      |     0     |   1.260 ms |       0.30% |   1.278 ms |       0.51% |   17.543 us |   1.39% |   SLOW   |
|   F64   |      I64      |      2^16      |     1     |  15.009 us |       6.07% |  14.613 us |       8.11% |   -0.396 us |  -2.64% |   SAME   |
|   F64   |      I64      |      2^20      |     1     |  18.965 us |       5.32% |  18.114 us |       7.71% |   -0.851 us |  -4.48% |   SAME   |
|   F64   |      I64      |      2^24      |     1     |  97.843 us |       1.37% |  98.069 us |       1.91% |    0.226 us |   0.23% |   SAME   |
|   F64   |      I64      |      2^28      |     1     |   1.342 ms |       0.22% |   1.341 ms |       0.40% |   -1.702 us |  -0.13% |   SAME   |
|   F64   |      I64      |      2^16      |   0.544   |  15.051 us |       4.92% |  14.748 us |       6.39% |   -0.303 us |  -2.02% |   SAME   |
|   F64   |      I64      |      2^20      |   0.544   |  18.832 us |       7.05% |  18.166 us |       7.89% |   -0.666 us |  -3.53% |   SAME   |
|   F64   |      I64      |      2^24      |   0.544   |  97.429 us |       1.50% |  97.549 us |       1.86% |    0.120 us |   0.12% |   SAME   |
|   F64   |      I64      |      2^28      |   0.544   |   1.334 ms |       0.23% |   1.331 ms |       0.44% |   -3.068 us |  -0.23% |   SAME   |
|   F64   |      I64      |      2^16      |     0     |  14.151 us |       9.25% |  14.523 us |       8.00% |    0.372 us |   2.63% |   SAME   |
|   F64   |      I64      |      2^20      |     0     |  18.595 us |       6.63% |  17.855 us |       9.03% |   -0.739 us |  -3.98% |   SAME   |
|   F64   |      I64      |      2^24      |     0     |  92.454 us |       1.86% |  94.587 us |       2.09% |    2.133 us |   2.31% |   SLOW   |
|   F64   |      I64      |      2^28      |     0     |   1.256 ms |       0.30% |   1.276 ms |       0.51% |   20.466 us |   1.63% |   SLOW   |

@bernhardmgruber
Copy link
Contributor Author

For partion.three_way, I think we should take back those tunings:

|   F64   |      I32      |      2^16      |     0     |  14.408 us |       8.90% |  14.286 us |       9.75% |   -0.123 us |  -0.85% |   SAME   |
|   F64   |      I32      |      2^20      |     0     |  18.720 us |       5.27% |  17.976 us |       8.91% |   -0.744 us |  -3.97% |   SAME   |
|   F64   |      I32      |      2^24      |     0     |  93.082 us |       1.76% |  94.782 us |       2.11% |    1.701 us |   1.83% |   SLOW   |
|   F64   |      I32      |      2^28      |     0     |   1.260 ms |       0.30% |   1.278 ms |       0.51% |   17.543 us |   1.39% |   SLOW   |

|   F64   |      I64      |      2^16      |     0     |  14.151 us |       9.25% |  14.523 us |       8.00% |    0.372 us |   2.63% |   SAME   |
|   F64   |      I64      |      2^20      |     0     |  18.595 us |       6.63% |  17.855 us |       9.03% |   -0.739 us |  -3.98% |   SAME   |
|   F64   |      I64      |      2^24      |     0     |  92.454 us |       1.86% |  94.587 us |       2.09% |    2.133 us |   2.31% |   SLOW   |
|   F64   |      I64      |      2^28      |     0     |   1.256 ms |       0.30% |   1.276 ms |       0.51% |   20.466 us |   1.63% |   SLOW   |

@gonidelis
Copy link
Member

gonidelis commented Feb 6, 2025

Updated partition.three_way on a different GPU without making any changes, indicating that we might not need to default back the aforementioned workloads (F64, I32/64).

@bernhardmgruber Although there are not SLOWS at all, the perf speedup only happens for some rare Elements{io}=2^20 cases for around -5%. Two options I see here:

a) We keep it as is and find different tunings later on that will be doing better for large problem sizes (but may as well regress the good 2^20 cases and uses might complain).

b) We scrap them all and do not provide tunings for partition.three_way at all until the DL, and only look up for better ones later on. (<-- @gevtushenko has suggested this approach multiple times in the past).

|  T{ct}  |  OffsetT{ct}  |  Elements{io}  |  Entropy  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|---------|---------------|----------------|-----------|------------|-------------|------------|-------------|-----------|---------|----------|
|   I8    |      I32      |      2^16      |     1     |  13.136 us |       6.33% |  12.648 us |       8.98% | -0.488 us |  -3.71% |   SAME   |
|   I8    |      I32      |      2^20      |     1     |  17.065 us |       4.77% |  16.455 us |       7.67% | -0.610 us |  -3.57% |   SAME   |
|   I8    |      I32      |      2^24      |     1     |  71.217 us |       1.35% |  71.037 us |       1.68% | -0.180 us |  -0.25% |   SAME   |
|   I8    |      I32      |      2^28      |     1     | 952.984 us |       0.21% | 952.973 us |       0.21% | -0.011 us |  -0.00% |   SAME   |
|   I8    |      I32      |      2^16      |   0.544   |  13.392 us |       2.95% |  13.242 us |       4.66% | -0.150 us |  -1.12% |   SAME   |
|   I8    |      I32      |      2^20      |   0.544   |  16.927 us |       5.65% |  16.322 us |       9.00% | -0.604 us |  -3.57% |   SAME   |
|   I8    |      I32      |      2^24      |   0.544   |  70.318 us |       1.30% |  70.286 us |       1.27% | -0.033 us |  -0.05% |   SAME   |
|   I8    |      I32      |      2^28      |   0.544   | 934.853 us |       0.22% | 935.254 us |       0.24% |  0.401 us |   0.04% |   SAME   |
|   I8    |      I32      |      2^16      |     0     |  13.219 us |       5.47% |  13.406 us |       3.74% |  0.186 us |   1.41% |   SAME   |
|   I8    |      I32      |      2^20      |     0     |  15.949 us |       9.41% |  16.354 us |       7.30% |  0.405 us |   2.54% |   SAME   |
|   I8    |      I32      |      2^24      |     0     |  68.490 us |       1.22% |  68.711 us |       0.99% |  0.221 us |   0.32% |   SAME   |
|   I8    |      I32      |      2^28      |     0     | 912.161 us |       0.23% | 912.732 us |       0.24% |  0.571 us |   0.06% |   SAME   |
|   I8    |      I64      |      2^16      |     1     |  13.877 us |       6.60% |  13.664 us |       7.11% | -0.212 us |  -1.53% |   SAME   |
|   I8    |      I64      |      2^20      |     1     |  16.982 us |       5.07% |  16.756 us |       6.50% | -0.226 us |  -1.33% |   SAME   |
|   I8    |      I64      |      2^24      |     1     |  71.859 us |       1.43% |  71.835 us |       1.41% | -0.024 us |  -0.03% |   SAME   |
|   I8    |      I64      |      2^28      |     1     | 959.779 us |       0.22% | 959.833 us |       0.19% |  0.054 us |   0.01% |   SAME   |
|   I8    |      I64      |      2^16      |   0.544   |  13.425 us |       3.45% |  13.370 us |       3.72% | -0.055 us |  -0.41% |   SAME   |
|   I8    |      I64      |      2^20      |   0.544   |  16.913 us |       5.16% |  16.715 us |       6.94% | -0.198 us |  -1.17% |   SAME   |
|   I8    |      I64      |      2^24      |   0.544   |  70.818 us |       0.93% |  70.865 us |       1.00% |  0.047 us |   0.07% |   SAME   |
|   I8    |      I64      |      2^28      |   0.544   | 945.983 us |       0.22% | 945.761 us |       0.21% | -0.223 us |  -0.02% |   SAME   |
|   I8    |      I64      |      2^16      |     0     |  13.337 us |       1.81% |  13.284 us |       4.99% | -0.052 us |  -0.39% |   SAME   |
|   I8    |      I64      |      2^20      |     0     |  16.443 us |       6.47% |  15.788 us |       9.60% | -0.654 us |  -3.98% |   SAME   |
|   I8    |      I64      |      2^24      |     0     |  68.948 us |       1.19% |  68.955 us |       1.18% |  0.007 us |   0.01% |   SAME   |
|   I8    |      I64      |      2^28      |     0     | 918.164 us |       0.22% | 918.023 us |       0.24% | -0.140 us |  -0.02% |   SAME   |
|   I16   |      I32      |      2^16      |     1     |  15.371 us |       1.10% |  14.816 us |       6.16% | -0.555 us |  -3.61% |   FAST   |
|   I16   |      I32      |      2^20      |     1     |  17.360 us |       2.32% |  17.229 us |       3.81% | -0.131 us |  -0.75% |   SAME   |
|   I16   |      I32      |      2^24      |     1     |  78.038 us |       1.33% |  77.984 us |       1.37% | -0.054 us |  -0.07% |   SAME   |
|   I16   |      I32      |      2^28      |     1     |   1.065 ms |       0.19% |   1.065 ms |       0.19% |  0.248 us |   0.02% |   SAME   |
|   I16   |      I32      |      2^16      |   0.544   |  15.354 us |       1.82% |  14.821 us |       6.09% | -0.532 us |  -3.47% |   FAST   |
|   I16   |      I32      |      2^20      |   0.544   |  17.331 us |       2.71% |  17.139 us |       4.43% | -0.192 us |  -1.11% |   SAME   |
|   I16   |      I32      |      2^24      |   0.544   |  76.944 us |       0.90% |  76.851 us |       0.85% | -0.093 us |  -0.12% |   SAME   |
|   I16   |      I32      |      2^28      |   0.544   |   1.051 ms |       0.20% |   1.050 ms |       0.21% | -0.194 us |  -0.02% |   SAME   |
|   I16   |      I32      |      2^16      |     0     |  13.742 us |       6.15% |  13.616 us |       5.86% | -0.126 us |  -0.92% |   SAME   |
|   I16   |      I32      |      2^20      |     0     |  17.264 us |       3.33% |  16.829 us |       6.09% | -0.435 us |  -2.52% |   SAME   |
|   I16   |      I32      |      2^24      |     0     |  76.902 us |       0.81% |  76.875 us |       0.78% | -0.027 us |  -0.03% |   SAME   |
|   I16   |      I32      |      2^28      |     0     |   1.050 ms |       0.19% |   1.050 ms |       0.20% | -0.353 us |  -0.03% |   SAME   |
|   I16   |      I64      |      2^16      |     1     |  15.346 us |       1.32% |  14.830 us |       6.33% | -0.516 us |  -3.36% |   FAST   |
|   I16   |      I64      |      2^20      |     1     |  17.428 us |       1.04% |  16.998 us |       4.97% | -0.430 us |  -2.47% |   FAST   |
|   I16   |      I64      |      2^24      |     1     |  63.329 us |       1.66% |  63.384 us |       1.66% |  0.055 us |   0.09% |   SAME   |
|   I16   |      I64      |      2^28      |     1     | 816.606 us |       0.44% | 817.121 us |       0.44% |  0.515 us |   0.06% |   SAME   |
|   I16   |      I64      |      2^16      |   0.544   |  15.351 us |       1.44% |  15.299 us |       2.24% | -0.053 us |  -0.34% |   SAME   |
|   I16   |      I64      |      2^20      |   0.544   |  17.397 us |       1.36% |  16.793 us |       5.66% | -0.603 us |  -3.47% |   FAST   |
|   I16   |      I64      |      2^24      |   0.544   |  62.797 us |       1.42% |  62.730 us |       1.26% | -0.067 us |  -0.11% |   SAME   |
|   I16   |      I64      |      2^28      |   0.544   | 807.348 us |       0.30% | 807.040 us |       0.30% | -0.308 us |  -0.04% |   SAME   |
|   I16   |      I64      |      2^16      |     0     |  13.848 us |       6.77% |  13.748 us |       6.78% | -0.100 us |  -0.72% |   SAME   |
|   I16   |      I64      |      2^20      |     0     |  17.265 us |       3.25% |  16.802 us |       6.51% | -0.463 us |  -2.68% |   SAME   |
|   I16   |      I64      |      2^24      |     0     |  62.715 us |       1.32% |  62.692 us |       1.35% | -0.023 us |  -0.04% |   SAME   |
|   I16   |      I64      |      2^28      |     0     | 805.717 us |       0.30% | 805.593 us |       0.27% | -0.124 us |  -0.02% |   SAME   |
|   I32   |      I32      |      2^16      |     1     |  15.360 us |       1.45% |  15.224 us |       3.65% | -0.136 us |  -0.88% |   SAME   |
|   I32   |      I32      |      2^20      |     1     |  17.415 us |       1.07% |  16.783 us |       5.72% | -0.632 us |  -3.63% |   FAST   |
|   I32   |      I32      |      2^24      |     1     |  70.815 us |       0.83% |  70.886 us |       0.93% |  0.071 us |   0.10% |   SAME   |
|   I32   |      I32      |      2^28      |     1     | 922.473 us |       0.20% | 922.247 us |       0.19% | -0.226 us |  -0.02% |   SAME   |
|   I32   |      I32      |      2^16      |   0.544   |  15.355 us |       1.72% |  14.775 us |       6.42% | -0.580 us |  -3.78% |   FAST   |
|   I32   |      I32      |      2^20      |   0.544   |  17.420 us |       1.10% |  16.923 us |       5.22% | -0.497 us |  -2.85% |   FAST   |
|   I32   |      I32      |      2^24      |   0.544   |  70.261 us |       1.23% |  70.277 us |       1.21% |  0.015 us |   0.02% |   SAME   |
|   I32   |      I32      |      2^28      |   0.544   | 909.755 us |       0.19% | 909.721 us |       0.22% | -0.033 us |  -0.00% |   SAME   |
|   I32   |      I32      |      2^16      |     0     |  15.369 us |       1.01% |  14.874 us |       5.99% | -0.495 us |  -3.22% |   FAST   |
|   I32   |      I32      |      2^20      |     0     |  17.407 us |       1.06% |  17.271 us |       3.21% | -0.136 us |  -0.78% |   SAME   |
|   I32   |      I32      |      2^24      |     0     |  66.908 us |       1.19% |  66.982 us |       1.27% |  0.074 us |   0.11% |   SAME   |
|   I32   |      I32      |      2^28      |     0     | 860.453 us |       0.20% | 860.082 us |       0.19% | -0.371 us |  -0.04% |   SAME   |
|   I32   |      I64      |      2^16      |     1     |  15.357 us |       1.13% |  14.810 us |       6.14% | -0.548 us |  -3.57% |   FAST   |
|   I32   |      I64      |      2^20      |     1     |  17.474 us |       2.00% |  16.896 us |       5.74% | -0.578 us |  -3.31% |   FAST   |
|   I32   |      I64      |      2^24      |     1     |  71.000 us |       1.10% |  70.866 us |       0.94% | -0.134 us |  -0.19% |   SAME   |
|   I32   |      I64      |      2^28      |     1     | 925.307 us |       0.18% | 922.729 us |       0.39% | -2.578 us |  -0.28% |   FAST   |
|   I32   |      I64      |      2^16      |   0.544   |  15.348 us |       1.26% |  15.100 us |       4.85% | -0.247 us |  -1.61% |   FAST   |
|   I32   |      I64      |      2^20      |   0.544   |  17.411 us |       1.21% |  16.907 us |       5.23% | -0.504 us |  -2.90% |   FAST   |
|   I32   |      I64      |      2^24      |   0.544   |  70.445 us |       1.10% |  70.117 us |       1.36% | -0.329 us |  -0.47% |   SAME   |
|   I32   |      I64      |      2^28      |   0.544   | 913.392 us |       0.19% | 908.673 us |       0.20% | -4.720 us |  -0.52% |   FAST   |
|   I32   |      I64      |      2^16      |     0     |  15.367 us |       1.84% |  14.652 us |       6.65% | -0.715 us |  -4.65% |   FAST   |
|   I32   |      I64      |      2^20      |     0     |  17.423 us |       1.18% |  17.006 us |       4.83% | -0.417 us |  -2.39% |   FAST   |
|   I32   |      I64      |      2^24      |     0     |  67.186 us |       1.43% |  66.860 us |       1.34% | -0.326 us |  -0.49% |   SAME   |
|   I32   |      I64      |      2^28      |     0     | 864.010 us |       0.19% | 860.179 us |       0.21% | -3.831 us |  -0.44% |   FAST   |
|   I64   |      I32      |      2^16      |     1     |  14.931 us |       5.70% |  14.667 us |       7.57% | -0.265 us |  -1.77% |   SAME   |
|   I64   |      I32      |      2^20      |     1     |  19.253 us |       3.31% |  19.018 us |       4.87% | -0.235 us |  -1.22% |   SAME   |
|   I64   |      I32      |      2^24      |     1     |  88.928 us |       1.57% |  88.630 us |       1.43% | -0.298 us |  -0.34% |   SAME   |
|   I64   |      I32      |      2^28      |     1     |   1.192 ms |       0.33% |   1.188 ms |       0.31% | -4.711 us |  -0.40% |   FAST   |
|   I64   |      I32      |      2^16      |   0.544   |  14.986 us |       5.43% |  14.911 us |       5.70% | -0.075 us |  -0.50% |   SAME   |
|   I64   |      I32      |      2^20      |   0.544   |  19.282 us |       3.08% |  18.679 us |       6.33% | -0.604 us |  -3.13% |   FAST   |
|   I64   |      I32      |      2^24      |   0.544   |  88.284 us |       1.46% |  88.035 us |       1.42% | -0.249 us |  -0.28% |   SAME   |
|   I64   |      I32      |      2^28      |   0.544   |   1.185 ms |       0.33% |   1.180 ms |       0.31% | -4.641 us |  -0.39% |   FAST   |
|   I64   |      I32      |      2^16      |     0     |  14.977 us |       5.35% |  14.895 us |       5.76% | -0.083 us |  -0.55% |   SAME   |
|   I64   |      I32      |      2^20      |     0     |  18.809 us |       5.29% |  18.283 us |       7.98% | -0.526 us |  -2.79% |   SAME   |
|   I64   |      I32      |      2^24      |     0     |  84.588 us |       1.65% |  84.386 us |       1.65% | -0.202 us |  -0.24% |   SAME   |
|   I64   |      I32      |      2^28      |     0     |   1.126 ms |       0.39% |   1.121 ms |       0.38% | -4.232 us |  -0.38% |   SAME   |
|   I64   |      I64      |      2^16      |     1     |  14.919 us |       5.90% |  14.814 us |       6.20% | -0.105 us |  -0.71% |   SAME   |
|   I64   |      I64      |      2^20      |     1     |  19.348 us |       2.54% |  18.823 us |       5.87% | -0.526 us |  -2.72% |   FAST   |
|   I64   |      I64      |      2^24      |     1     |  89.049 us |       1.51% |  88.814 us |       1.51% | -0.235 us |  -0.26% |   SAME   |
|   I64   |      I64      |      2^28      |     1     |   1.193 ms |       0.32% |   1.189 ms |       0.32% | -4.392 us |  -0.37% |   FAST   |
|   I64   |      I64      |      2^16      |   0.544   |  14.893 us |       5.92% |  14.779 us |       6.24% | -0.113 us |  -0.76% |   SAME   |
|   I64   |      I64      |      2^20      |   0.544   |  19.234 us |       3.58% |  18.993 us |       4.99% | -0.241 us |  -1.25% |   SAME   |
|   I64   |      I64      |      2^24      |   0.544   |  88.316 us |       1.46% |  87.944 us |       1.50% | -0.372 us |  -0.42% |   SAME   |
|   I64   |      I64      |      2^28      |   0.544   |   1.186 ms |       0.31% |   1.181 ms |       0.33% | -4.713 us |  -0.40% |   FAST   |
|   I64   |      I64      |      2^16      |     0     |  14.804 us |       6.20% |  14.712 us |       6.61% | -0.092 us |  -0.62% |   SAME   |
|   I64   |      I64      |      2^20      |     0     |  18.842 us |       4.94% |  18.709 us |       6.08% | -0.133 us |  -0.71% |   SAME   |
|   I64   |      I64      |      2^24      |     0     |  84.651 us |       1.71% |  84.369 us |       1.68% | -0.282 us |  -0.33% |   SAME   |
|   I64   |      I64      |      2^28      |     0     |   1.126 ms |       0.40% |   1.122 ms |       0.39% | -3.725 us |  -0.33% |   SAME   |
|  I128   |      I32      |      2^16      |     1     |  15.630 us |       4.68% |  15.102 us |       8.12% | -0.528 us |  -3.38% |   SAME   |
|  I128   |      I32      |      2^20      |     1     |  22.727 us |       4.55% |  22.527 us |       5.16% | -0.200 us |  -0.88% |   SAME   |
|  I128   |      I32      |      2^24      |     1     | 146.273 us |       0.96% | 145.803 us |       1.02% | -0.470 us |  -0.32% |   SAME   |
|  I128   |      I32      |      2^28      |     1     |   2.108 ms |       0.20% |   2.100 ms |       0.20% | -7.637 us |  -0.36% |   FAST   |
|  I128   |      I32      |      2^16      |   0.544   |  15.733 us |       4.94% |  15.596 us |       6.35% | -0.137 us |  -0.87% |   SAME   |
|  I128   |      I32      |      2^20      |   0.544   |  22.444 us |       4.65% |  22.275 us |       5.57% | -0.169 us |  -0.75% |   SAME   |
|  I128   |      I32      |      2^24      |   0.544   | 144.913 us |       0.98% | 144.453 us |       0.96% | -0.460 us |  -0.32% |   SAME   |
|  I128   |      I32      |      2^28      |   0.544   |   2.086 ms |       0.23% |   2.079 ms |       0.23% | -7.329 us |  -0.35% |   FAST   |
|  I128   |      I32      |      2^16      |     0     |  15.700 us |       4.61% |  15.209 us |       8.69% | -0.491 us |  -3.13% |   SAME   |
|  I128   |      I32      |      2^20      |     0     |  22.014 us |       4.10% |  21.751 us |       5.14% | -0.263 us |  -1.19% |   SAME   |
|  I128   |      I32      |      2^24      |     0     | 139.903 us |       1.17% | 139.594 us |       1.22% | -0.309 us |  -0.22% |   SAME   |
|  I128   |      I32      |      2^28      |     0     |   2.009 ms |       0.26% |   2.003 ms |       0.27% | -5.819 us |  -0.29% |   FAST   |
|  I128   |      I64      |      2^16      |     1     |  15.774 us |       5.61% |  15.237 us |       8.35% | -0.536 us |  -3.40% |   SAME   |
|  I128   |      I64      |      2^20      |     1     |  22.785 us |       4.47% |  22.586 us |       5.19% | -0.199 us |  -0.87% |   SAME   |
|  I128   |      I64      |      2^24      |     1     | 146.226 us |       0.88% | 145.762 us |       0.91% | -0.464 us |  -0.32% |   SAME   |
|  I128   |      I64      |      2^28      |     1     |   2.108 ms |       0.21% |   2.100 ms |       0.21% | -7.721 us |  -0.37% |   FAST   |
|  I128   |      I64      |      2^16      |   0.544   |  15.599 us |       4.85% |  15.003 us |       8.06% | -0.596 us |  -3.82% |   SAME   |
|  I128   |      I64      |      2^20      |   0.544   |  22.572 us |       4.57% |  22.368 us |       5.72% | -0.204 us |  -0.91% |   SAME   |
|  I128   |      I64      |      2^24      |   0.544   | 144.660 us |       0.99% | 144.184 us |       0.95% | -0.476 us |  -0.33% |   SAME   |
|  I128   |      I64      |      2^28      |   0.544   |   2.085 ms |       0.21% |   2.077 ms |       0.22% | -7.242 us |  -0.35% |   FAST   |
|  I128   |      I64      |      2^16      |     0     |  15.696 us |       4.86% |  15.237 us |       7.45% | -0.459 us |  -2.92% |   SAME   |
|  I128   |      I64      |      2^20      |     0     |  21.990 us |       4.09% |  21.216 us |       6.33% | -0.774 us |  -3.52% |   SAME   |
|  I128   |      I64      |      2^24      |     0     | 139.795 us |       1.19% | 139.477 us |       1.21% | -0.318 us |  -0.23% |   SAME   |
|  I128   |      I64      |      2^28      |     0     |   2.004 ms |       0.26% |   1.998 ms |       0.28% | -5.596 us |  -0.28% |   FAST   |
|   F32   |      I32      |      2^16      |     1     |  15.544 us |       2.94% |  14.616 us |       7.20% | -0.928 us |  -5.97% |   FAST   |
|   F32   |      I32      |      2^20      |     1     |  17.460 us |       1.93% |  16.552 us |       6.43% | -0.908 us |  -5.20% |   FAST   |
|   F32   |      I32      |      2^24      |     1     |  70.841 us |       0.85% |  70.324 us |       1.31% | -0.517 us |  -0.73% |   SAME   |
|   F32   |      I32      |      2^28      |     1     | 919.658 us |       0.19% | 914.773 us |       0.21% | -4.885 us |  -0.53% |   FAST   |
|   F32   |      I32      |      2^16      |   0.544   |  15.365 us |       1.62% |  14.013 us |       6.60% | -1.353 us |  -8.80% |   FAST   |
|   F32   |      I32      |      2^20      |   0.544   |  17.397 us |       0.95% |  16.705 us |       5.54% | -0.692 us |  -3.98% |   FAST   |
|   F32   |      I32      |      2^24      |   0.544   |  70.200 us |       1.29% |  69.627 us |       1.72% | -0.573 us |  -0.82% |   SAME   |
|   F32   |      I32      |      2^28      |   0.544   | 910.008 us |       0.19% | 905.188 us |       0.21% | -4.821 us |  -0.53% |   FAST   |
|   F32   |      I32      |      2^16      |     0     |  15.353 us |       1.60% |  14.380 us |       6.85% | -0.972 us |  -6.33% |   FAST   |
|   F32   |      I32      |      2^20      |     0     |  17.418 us |       0.95% |  16.689 us |       5.44% | -0.729 us |  -4.19% |   FAST   |
|   F32   |      I32      |      2^24      |     0     |  66.778 us |       1.03% |  66.391 us |       1.36% | -0.387 us |  -0.58% |   SAME   |
|   F32   |      I32      |      2^28      |     0     | 857.454 us |       0.18% | 852.816 us |       0.22% | -4.639 us |  -0.54% |   FAST   |
|   F32   |      I64      |      2^16      |     1     |  15.362 us |       1.07% |  14.362 us |       6.82% | -1.000 us |  -6.51% |   FAST   |
|   F32   |      I64      |      2^20      |     1     |  17.392 us |       1.21% |  16.764 us |       5.38% | -0.629 us |  -3.62% |   FAST   |
|   F32   |      I64      |      2^24      |     1     |  70.795 us |       0.75% |  70.433 us |       1.16% | -0.362 us |  -0.51% |   SAME   |
|   F32   |      I64      |      2^28      |     1     | 920.392 us |       0.19% | 915.315 us |       0.22% | -5.078 us |  -0.55% |   FAST   |
|   F32   |      I64      |      2^16      |   0.544   |  15.365 us |       1.41% |  14.234 us |       6.85% | -1.131 us |  -7.36% |   FAST   |
|   F32   |      I64      |      2^20      |   0.544   |  17.449 us |       1.76% |  16.551 us |       6.39% | -0.898 us |  -5.15% |   FAST   |
|   F32   |      I64      |      2^24      |   0.544   |  70.225 us |       1.28% |  69.527 us |       1.83% | -0.698 us |  -0.99% |   SAME   |
|   F32   |      I64      |      2^28      |   0.544   | 909.749 us |       0.21% | 904.394 us |       0.22% | -5.355 us |  -0.59% |   FAST   |
|   F32   |      I64      |      2^16      |     0     |  15.351 us |       1.07% |  14.553 us |       6.62% | -0.798 us |  -5.20% |   FAST   |
|   F32   |      I64      |      2^20      |     0     |  17.422 us |       0.71% |  16.515 us |       6.24% | -0.907 us |  -5.20% |   FAST   |
|   F32   |      I64      |      2^24      |     0     |  66.709 us |       0.92% |  66.380 us |       1.49% | -0.329 us |  -0.49% |   SAME   |
|   F32   |      I64      |      2^28      |     0     | 859.344 us |       0.18% | 855.408 us |       0.22% | -3.937 us |  -0.46% |   FAST   |
|   F64   |      I32      |      2^16      |     1     |  14.873 us |       6.25% |  14.471 us |       8.65% | -0.403 us |  -2.71% |   SAME   |
|   F64   |      I32      |      2^20      |     1     |  19.034 us |       4.61% |  18.137 us |       7.79% | -0.898 us |  -4.72% |   FAST   |
|   F64   |      I32      |      2^24      |     1     |  98.680 us |       1.57% |  98.162 us |       1.97% | -0.518 us |  -0.53% |   SAME   |
|   F64   |      I32      |      2^28      |     1     |   1.343 ms |       0.41% |   1.338 ms |       0.40% | -4.615 us |  -0.34% |   SAME   |
|   F64   |      I32      |      2^16      |   0.544   |  14.782 us |       6.50% |  14.322 us |       9.52% | -0.460 us |  -3.11% |   SAME   |
|   F64   |      I32      |      2^20      |   0.544   |  18.979 us |       4.59% |  17.918 us |       8.20% | -1.062 us |  -5.59% |   FAST   |
|   F64   |      I32      |      2^24      |   0.544   |  98.029 us |       1.79% |  97.406 us |       1.88% | -0.624 us |  -0.64% |   SAME   |
|   F64   |      I32      |      2^28      |   0.544   |   1.333 ms |       0.43% |   1.328 ms |       0.40% | -5.105 us |  -0.38% |   SAME   |
|   F64   |      I32      |      2^16      |     0     |  14.729 us |       6.58% |  14.250 us |      10.06% | -0.479 us |  -3.25% |   SAME   |
|   F64   |      I32      |      2^20      |     0     |  18.692 us |       5.29% |  17.933 us |       8.51% | -0.759 us |  -4.06% |   SAME   |
|   F64   |      I32      |      2^24      |     0     |  94.961 us |       1.84% |  94.462 us |       2.05% | -0.499 us |  -0.53% |   SAME   |
|   F64   |      I32      |      2^28      |     0     |   1.278 ms |       0.50% |   1.274 ms |       0.53% | -4.496 us |  -0.35% |   SAME   |
|   F64   |      I64      |      2^16      |     1     |  14.922 us |       5.78% |  14.723 us |       6.89% | -0.199 us |  -1.33% |   SAME   |
|   F64   |      I64      |      2^20      |     1     |  18.921 us |       4.80% |  18.462 us |       7.25% | -0.459 us |  -2.43% |   SAME   |
|   F64   |      I64      |      2^24      |     1     |  98.443 us |       1.71% |  98.030 us |       1.81% | -0.413 us |  -0.42% |   SAME   |
|   F64   |      I64      |      2^28      |     1     |   1.341 ms |       0.41% |   1.337 ms |       0.40% | -4.132 us |  -0.31% |   SAME   |
|   F64   |      I64      |      2^16      |   0.544   |  14.713 us |       6.55% |  14.697 us |       6.57% | -0.016 us |  -0.11% |   SAME   |
|   F64   |      I64      |      2^20      |   0.544   |  18.893 us |       4.93% |  17.993 us |       8.48% | -0.900 us |  -4.76% |   SAME   |
|   F64   |      I64      |      2^24      |   0.544   |  97.914 us |       1.68% |  97.431 us |       1.92% | -0.483 us |  -0.49% |   SAME   |
|   F64   |      I64      |      2^28      |   0.544   |   1.331 ms |       0.42% |   1.327 ms |       0.42% | -4.053 us |  -0.30% |   SAME   |
|   F64   |      I64      |      2^16      |     0     |  14.600 us |       6.89% |  14.518 us |       7.28% | -0.083 us |  -0.57% |   SAME   |
|   F64   |      I64      |      2^20      |     0     |  18.628 us |       5.61% |  17.763 us |       8.86% | -0.865 us |  -4.64% |   SAME   |
|   F64   |      I64      |      2^24      |     0     |  94.642 us |       1.77% |  94.252 us |       2.20% | -0.389 us |  -0.41% |   SAME   |
|   F64   |      I64      |      2^28      |     0     |   1.276 ms |       0.51% |   1.272 ms |       0.53% | -3.969 us |  -0.31% |   SAME   |```

@bernhardmgruber
Copy link
Contributor Author

Updated partition.three_way on a different GPU without making any changes, indicating that we might not need to default back the aforementioned workloads (F64, I32/64).

@bernhardmgruber Although there are not SLOWS at all, the perf speedup only happens for some rare Elements{io}=2^20 cases for around -5%

That is a valid result and I would just keep it as is.

Comment on lines 1155 to 1169
#if CUB_IS_INT128_ENABLED
// because we introduced cases for when offset is I64 this leads to regressions if not defaulted explicitly
template <distinct_partitions DistinctPartitions>
struct sm100_tuning<__int128_t,
flagged::no,
keep_rejects::yes,
offset_size::_8,
primitive::no,
input_size::_16,
may_alias::no,
DistinctPartitions>
: sm90_tuning<__int128_t, flagged::no, keep_rejects::yes, offset_size::_4, primitive::no, input_size::_16>
// ^^^^^ this base is wrong and leads to regressions ^^^^^
{};
#endif // CUB_IS_INT128_ENABLED
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@gonidelis I need more information on why this specialization is needed, since I cannot understand which other sm100_tuning could match an input_size::_16.

Also, what do we need to do about the

this base is wrong and leads to regressions
?

In my understanding, we can simple remove this tuning entirely. Can you test whether works out fine?

Copy link
Member

Choose a reason for hiding this comment

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

Seems like it slipped through during the early stages of evaluation before we fix any bugs. Looking into it rn

Copy link
Contributor

github-actions bot commented Feb 6, 2025

🟨 CI finished in 1h 37m: Pass: 98%/90 | Total: 23h 48m | Avg: 15m 52s | Max: 1h 22m | Hits: 92%/131009
  • 🟨 cub: Pass: 97%/44 | Total: 13h 01m | Avg: 17m 45s | Max: 1h 22m | Hits: 91%/51104

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  97%/42  | Total: 12h 49m | Avg: 18m 18s | Max:  1h 22m | Hits:  90%/48672 
      🟩 arm64              Pass: 100%/2   | Total: 12m 21s | Avg:  6m 10s | Max:  6m 48s | Hits:  99%/2432  
    🔍 ctk: 12.8 🔍
      🟩 12.0               Pass: 100%/5   | Total:  1h 33m | Avg: 18m 36s | Max:  1h 10m | Hits:  84%/5914  
      🟩 12.5               Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 13m | Hits:  67%/2250  
      🔍 12.8               Pass:  97%/37  | Total:  9h 07m | Avg: 14m 47s | Max:  1h 22m | Hits:  93%/42940 
    🔍 cudacxx: nvcc12.8 🔍
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  9m 53s | Avg:  4m 56s | Max:  5m 04s | Hits: 100%/2104  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  1h 33m | Avg: 18m 36s | Max:  1h 10m | Hits:  84%/5914  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 13m | Hits:  67%/2250  
      🔍 nvcc12.8           Pass:  97%/35  | Total:  8h 57m | Avg: 15m 21s | Max:  1h 22m | Hits:  93%/40836 
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  9m 53s | Avg:  4m 56s | Max:  5m 04s | Hits: 100%/2104  
      🔍 nvcc               Pass:  97%/42  | Total: 12h 51m | Avg: 18m 22s | Max:  1h 22m | Hits:  90%/49000 
    🔍 cxx: GCC13 🔍
      🟩 Clang14            Pass: 100%/4   | Total: 23m 07s | Avg:  5m 46s | Max:  6m 00s | Hits: 100%/4872  
      🟩 Clang15            Pass: 100%/2   | Total: 12m 33s | Avg:  6m 16s | Max:  6m 32s | Hits: 100%/2432  
      🟩 Clang16            Pass: 100%/2   | Total: 12m 20s | Avg:  6m 10s | Max:  6m 20s | Hits: 100%/2432  
      🟩 Clang17            Pass: 100%/2   | Total: 12m 29s | Avg:  6m 14s | Max:  6m 26s | Hits: 100%/2432  
      🟩 Clang18            Pass: 100%/7   | Total:  1h 14m | Avg: 10m 36s | Max: 25m 28s | Hits: 100%/8184  
      🟩 GCC7               Pass: 100%/2   | Total: 11m 52s | Avg:  5m 56s | Max:  6m 00s | Hits:  99%/2436  
      🟩 GCC8               Pass: 100%/1   | Total:  6m 26s | Avg:  6m 26s | Max:  6m 26s | Hits:  99%/1218  
      🟩 GCC9               Pass: 100%/2   | Total: 12m 24s | Avg:  6m 12s | Max:  6m 33s | Hits:  99%/2436  
      🟩 GCC10              Pass: 100%/2   | Total: 12m 50s | Avg:  6m 25s | Max:  6m 43s | Hits:  99%/2436  
      🟩 GCC11              Pass: 100%/2   | Total: 13m 05s | Avg:  6m 32s | Max:  6m 39s | Hits:  99%/2432  
      🟩 GCC12              Pass: 100%/2   | Total: 13m 11s | Avg:  6m 35s | Max:  6m 47s | Hits:  99%/2432  
      🔍 GCC13              Pass:  90%/10  | Total:  2h 16m | Avg: 13m 37s | Max: 24m 47s | Hits:  99%/10944 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 19m | Avg:  1h 09m | Max:  1h 10m | Hits:  13%/2084  
      🟩 MSVC14.42          Pass: 100%/2   | Total:  2h 40m | Avg:  1h 20m | Max:  1h 22m | Hits:  13%/2084  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 13m | Hits:  67%/2250  
    🔍 cxx_family: GCC 🔍
      🟩 Clang              Pass: 100%/17  | Total:  2h 14m | Avg:  7m 55s | Max: 25m 28s | Hits: 100%/20352 
      🔍 GCC                Pass:  95%/21  | Total:  3h 26m | Avg:  9m 48s | Max: 24m 47s | Hits:  99%/24334 
      🟩 MSVC               Pass: 100%/4   | Total:  4h 59m | Avg:  1h 14m | Max:  1h 22m | Hits:  13%/4168  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 13m | Hits:  67%/2250  
    🔍 gpu: rtxa6000 🔍
      🟩 h100               Pass: 100%/2   | Total: 29m 57s | Avg: 14m 58s | Max: 24m 47s | Hits:  99%/2432  
      🟩 rtx2080            Pass: 100%/34  | Total: 10h 13m | Avg: 18m 02s | Max:  1h 22m | Hits:  89%/40160 
      🔍 rtxa6000           Pass:  87%/8   | Total:  2h 18m | Avg: 17m 16s | Max: 25m 28s | Hits:  99%/8512  
    🚨 jobs: GraphCapture 🚨
      🟩 Build              Pass: 100%/37  | Total: 10h 31m | Avg: 17m 03s | Max:  1h 22m | Hits:  89%/43808 
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 20m 58s | Avg: 20m 58s | Max: 20m 58s | Hits:  99%/1216  
      🔥 GraphCapture       Pass:   0%/1   | Total: 12m 12s | Avg: 12m 12s | Max: 12m 12s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 13m | Avg: 24m 31s | Max: 25m 28s | Hits:  99%/3648  
      🟩 TestGPU            Pass: 100%/2   | Total: 43m 50s | Avg: 21m 55s | Max: 23m 50s | Hits:  99%/2432  
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/20  | Total:  6h 23m | Avg: 19m 11s | Max:  1h 17m | Hits:  86%/23559 
      🔍 20                 Pass:  95%/24  | Total:  6h 37m | Avg: 16m 34s | Max:  1h 22m | Hits:  95%/27545 
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 29m 57s | Avg: 14m 58s | Max: 24m 47s | Hits:  99%/2432  
      🟩 90;90a;100         Pass: 100%/1   | Total:  7m 11s | Avg:  7m 11s | Max:  7m 11s | Hits:  99%/1216  
    
  • 🟩 thrust: Pass: 100%/43 | Total: 10h 03m | Avg: 14m 01s | Max: 1h 00m | Hits: 93%/79625

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 18m 04s | Avg:  9m 02s | Max: 11m 28s | Hits:  99%/3706  
    🟩 cpu
      🟩 amd64              Pass: 100%/41  | Total:  9h 51m | Avg: 14m 25s | Max:  1h 00m | Hits:  93%/75920 
      🟩 arm64              Pass: 100%/2   | Total: 11m 36s | Avg:  5m 48s | Max:  6m 55s | Hits:  99%/3705  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  1h 14m | Avg: 14m 58s | Max: 54m 12s | Hits:  90%/9256  
      🟩 12.5               Pass: 100%/2   | Total:  1h 49m | Avg: 54m 39s | Max: 57m 02s | Hits:  71%/3704  
      🟩 12.8               Pass: 100%/36  | Total:  6h 59m | Avg: 11m 38s | Max:  1h 00m | Hits:  95%/66665 
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 10m 45s | Avg:  5m 22s | Max:  5m 23s | Hits: 100%/3704  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  1h 14m | Avg: 14m 58s | Max: 54m 12s | Hits:  90%/9256  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  1h 49m | Avg: 54m 39s | Max: 57m 02s | Hits:  71%/3704  
      🟩 nvcc12.8           Pass: 100%/34  | Total:  6h 48m | Avg: 12m 00s | Max:  1h 00m | Hits:  94%/62961 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 10m 45s | Avg:  5m 22s | Max:  5m 23s | Hits: 100%/3704  
      🟩 nvcc               Pass: 100%/41  | Total:  9h 52m | Avg: 14m 27s | Max:  1h 00m | Hits:  93%/75921 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total: 21m 46s | Avg:  5m 26s | Max:  6m 01s | Hits: 100%/7408  
      🟩 Clang15            Pass: 100%/2   | Total: 11m 43s | Avg:  5m 51s | Max:  6m 01s | Hits: 100%/3704  
      🟩 Clang16            Pass: 100%/2   | Total: 11m 32s | Avg:  5m 46s | Max:  5m 49s | Hits: 100%/3704  
      🟩 Clang17            Pass: 100%/2   | Total: 11m 31s | Avg:  5m 45s | Max:  5m 54s | Hits: 100%/3704  
      🟩 Clang18            Pass: 100%/7   | Total: 45m 12s | Avg:  6m 27s | Max: 10m 27s | Hits: 100%/12964 
      🟩 GCC7               Pass: 100%/2   | Total: 11m 01s | Avg:  5m 30s | Max:  5m 32s | Hits:  99%/3706  
      🟩 GCC8               Pass: 100%/1   | Total:  5m 57s | Avg:  5m 57s | Max:  5m 57s | Hits:  99%/1853  
      🟩 GCC9               Pass: 100%/2   | Total: 11m 36s | Avg:  5m 48s | Max:  6m 20s | Hits:  99%/3706  
      🟩 GCC10              Pass: 100%/2   | Total: 11m 41s | Avg:  5m 50s | Max:  6m 02s | Hits:  99%/3706  
      🟩 GCC11              Pass: 100%/2   | Total: 12m 36s | Avg:  6m 18s | Max:  6m 19s | Hits:  99%/3706  
      🟩 GCC12              Pass: 100%/2   | Total: 12m 32s | Avg:  6m 16s | Max:  6m 26s | Hits:  99%/3706  
      🟩 GCC13              Pass: 100%/8   | Total:  1h 04m | Avg:  8m 02s | Max: 11m 43s | Hits:  99%/14824 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 51m | Avg: 55m 36s | Max: 57m 00s | Hits:  53%/3692  
      🟩 MSVC14.42          Pass: 100%/3   | Total:  2h 31m | Avg: 50m 24s | Max:  1h 00m | Hits:  58%/5538  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  1h 49m | Avg: 54m 39s | Max: 57m 02s | Hits:  71%/3704  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  1h 41m | Avg:  5m 59s | Max: 10m 27s | Hits: 100%/31484 
      🟩 GCC                Pass: 100%/19  | Total:  2h 09m | Avg:  6m 49s | Max: 11m 43s | Hits:  99%/35207 
      🟩 MSVC               Pass: 100%/5   | Total:  4h 22m | Avg: 52m 29s | Max:  1h 00m | Hits:  56%/9230  
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 49m | Avg: 54m 39s | Max: 57m 02s | Hits:  71%/3704  
    🟩 gpu
      🟩 rtx2080            Pass: 100%/33  | Total:  7h 24m | Avg: 13m 27s | Max:  1h 00m | Hits:  94%/61112 
      🟩 rtx4090            Pass: 100%/10  | Total:  2h 39m | Avg: 15m 54s | Max: 59m 10s | Hits:  92%/18513 
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total:  8h 42m | Avg: 14m 06s | Max:  1h 00m | Hits:  93%/68516 
      🟩 TestCPU            Pass: 100%/3   | Total: 47m 17s | Avg: 15m 45s | Max: 31m 31s | Hits:  89%/5551  
      🟩 TestGPU            Pass: 100%/3   | Total: 33m 38s | Avg: 11m 12s | Max: 11m 43s | Hits:  99%/5558  
    🟩 sm
      🟩 90;90a;100         Pass: 100%/1   | Total:  6m 48s | Avg:  6m 48s | Max:  6m 48s | Hits:  99%/1853  
    🟩 std
      🟩 17                 Pass: 100%/20  | Total:  5h 17m | Avg: 15m 51s | Max:  1h 00m | Hits:  91%/37031 
      🟩 20                 Pass: 100%/21  | Total:  4h 27m | Avg: 12m 45s | Max: 59m 10s | Hits:  94%/38888 
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 14m 03s | Avg: 7m 01s | Max: 11m 45s | Hits: 98%/280

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 ctk
      🟩 12.8               Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total: 14m 03s | Avg:  7m 01s | Max: 11m 45s | Hits:  98%/280   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 18s | Avg:  2m 18s | Max:  2m 18s | Hits:  98%/140   
      🟩 Test               Pass: 100%/1   | Total: 11m 45s | Avg: 11m 45s | Max: 11m 45s | Hits:  98%/140   
    
  • 🟩 python: Pass: 100%/1 | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 ctk
      🟩 12.8               Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 29m 13s | Avg: 29m 13s | Max: 29m 13s
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
+/- CUB
Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
+/- CUB
+/- Thrust
CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 90)

# Runner
65 linux-amd64-cpu16
9 windows-amd64-cpu16
6 linux-amd64-gpu-rtxa6000-latest-1
4 linux-arm64-cpu16
3 linux-amd64-gpu-rtx4090-latest-1
2 linux-amd64-gpu-rtx2080-latest-1
1 linux-amd64-gpu-h100-latest-1

@bernhardmgruber bernhardmgruber changed the title Add b200 policies for cub.device.partition.flagged,if,three_way Add b200 policies for cub.device.partition.flagged,if Feb 6, 2025
Copy link
Contributor

github-actions bot commented Feb 6, 2025

🟩 CI finished in 1h 42m: Pass: 100%/90 | Total: 2d 16h | Avg: 43m 05s | Max: 1h 16m | Hits: 74%/132225
  • 🟩 cub: Pass: 100%/44 | Total: 1d 16h | Avg: 54m 43s | Max: 1h 16m | Hits: 68%/52320

    🟩 cpu
      🟩 amd64              Pass: 100%/42  | Total:  1d 13h | Avg: 54m 13s | Max:  1h 16m | Hits:  68%/49888 
      🟩 arm64              Pass: 100%/2   | Total:  2h 10m | Avg:  1h 05m | Max:  1h 12m | Hits:  67%/2432  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  5h 02m | Avg:  1h 00m | Max:  1h 03m | Hits:  58%/5914  
      🟩 12.5               Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  67%/2250  
      🟩 12.8               Pass: 100%/37  | Total:  1d 08h | Avg: 53m 02s | Max:  1h 16m | Hits:  70%/44156 
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  2h 04m | Avg:  1h 02m | Max:  1h 03m | Hits:  73%/2104  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  5h 02m | Avg:  1h 00m | Max:  1h 03m | Hits:  58%/5914  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  67%/2250  
      🟩 nvcc12.8           Pass: 100%/35  | Total:  1d 06h | Avg: 52m 31s | Max:  1h 16m | Hits:  70%/42052 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  2h 04m | Avg:  1h 02m | Max:  1h 03m | Hits:  73%/2104  
      🟩 nvcc               Pass: 100%/42  | Total:  1d 14h | Avg: 54m 22s | Max:  1h 16m | Hits:  68%/50216 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  3h 57m | Avg: 59m 20s | Max:  1h 02m | Hits:  67%/4872  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 57m | Avg: 58m 56s | Max:  1h 01m | Hits:  67%/2432  
      🟩 Clang16            Pass: 100%/2   | Total:  2h 01m | Avg:  1h 00m | Max:  1h 01m | Hits:  67%/2432  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 57m | Avg: 58m 31s | Max:  1h 02m | Hits:  67%/2432  
      🟩 Clang18            Pass: 100%/7   | Total:  5h 39m | Avg: 48m 33s | Max:  1h 03m | Hits:  78%/8184  
      🟩 GCC7               Pass: 100%/2   | Total:  1h 56m | Avg: 58m 13s | Max: 59m 48s | Hits:  67%/2436  
      🟩 GCC8               Pass: 100%/1   | Total: 55m 20s | Avg: 55m 20s | Max: 55m 20s | Hits:  67%/1218  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 57m | Avg: 58m 37s | Max:  1h 00m | Hits:  67%/2436  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 59m | Avg: 59m 46s | Max:  1h 01m | Hits:  67%/2436  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 58m | Avg: 59m 11s | Max:  1h 01m | Hits:  67%/2432  
      🟩 GCC12              Pass: 100%/2   | Total:  2h 03m | Avg:  1h 01m | Max:  1h 01m | Hits:  67%/2432  
      🟩 GCC13              Pass: 100%/10  | Total:  6h 33m | Avg: 39m 23s | Max:  1h 12m | Hits:  83%/12160 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 15m | Avg:  1h 07m | Max:  1h 12m | Hits:  13%/2084  
      🟩 MSVC14.42          Pass: 100%/2   | Total:  2h 31m | Avg:  1h 15m | Max:  1h 16m | Hits:  13%/2084  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  67%/2250  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total: 15h 33m | Avg: 54m 55s | Max:  1h 03m | Hits:  72%/20352 
      🟩 GCC                Pass: 100%/21  | Total: 17h 24m | Avg: 49m 44s | Max:  1h 12m | Hits:  75%/25550 
      🟩 MSVC               Pass: 100%/4   | Total:  4h 47m | Avg:  1h 11m | Max:  1h 16m | Hits:  13%/4168  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  67%/2250  
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 50m 23s | Avg: 25m 11s | Max: 25m 45s | Hits:  83%/2432  
      🟩 rtx2080            Pass: 100%/34  | Total:  1d 11h | Avg:  1h 02m | Max:  1h 16m | Hits:  62%/40160 
      🟩 rtxa6000           Pass: 100%/8   | Total:  4h 01m | Avg: 30m 11s | Max:  1h 01m | Hits:  91%/9728  
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total:  1d 13h | Avg:  1h 01m | Max:  1h 16m | Hits:  62%/43808 
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 21m 07s | Avg: 21m 07s | Max: 21m 07s | Hits:  99%/1216  
      🟩 GraphCapture       Pass: 100%/1   | Total: 16m 19s | Avg: 16m 19s | Max: 16m 19s | Hits:  99%/1216  
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 11m | Avg: 23m 56s | Max: 24m 38s | Hits:  99%/3648  
      🟩 TestGPU            Pass: 100%/2   | Total: 40m 54s | Avg: 20m 27s | Max: 21m 04s | Hits:  99%/2432  
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 50m 23s | Avg: 25m 11s | Max: 25m 45s | Hits:  83%/2432  
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 06m | Avg:  1h 06m | Max:  1h 06m | Hits:  67%/1216  
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 20h 39m | Avg:  1h 01m | Max:  1h 15m | Hits:  60%/23559 
      🟩 20                 Pass: 100%/24  | Total: 19h 28m | Avg: 48m 40s | Max:  1h 16m | Hits:  75%/28761 
    
  • 🟩 thrust: Pass: 100%/43 | Total: 23h 46m | Avg: 33m 09s | Max: 1h 01m | Hits: 77%/79625

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 37m 33s | Avg: 18m 46s | Max: 26m 02s | Hits:  89%/3706  
    🟩 cpu
      🟩 amd64              Pass: 100%/41  | Total: 22h 47m | Avg: 33m 21s | Max:  1h 01m | Hits:  77%/75920 
      🟩 arm64              Pass: 100%/2   | Total: 58m 32s | Avg: 29m 16s | Max: 30m 41s | Hits:  78%/3705  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  3h 01m | Avg: 36m 14s | Max: 52m 06s | Hits:  73%/9256  
      🟩 12.5               Pass: 100%/2   | Total:  1h 43m | Avg: 51m 49s | Max: 53m 19s | Hits:  71%/3704  
      🟩 12.8               Pass: 100%/36  | Total: 19h 01m | Avg: 31m 42s | Max:  1h 01m | Hits:  79%/66665 
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 57m 05s | Avg: 28m 32s | Max: 29m 22s | Hits:  78%/3704  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  3h 01m | Avg: 36m 14s | Max: 52m 06s | Hits:  73%/9256  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  1h 43m | Avg: 51m 49s | Max: 53m 19s | Hits:  71%/3704  
      🟩 nvcc12.8           Pass: 100%/34  | Total: 18h 04m | Avg: 31m 53s | Max:  1h 01m | Hits:  79%/62961 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 57m 05s | Avg: 28m 32s | Max: 29m 22s | Hits:  78%/3704  
      🟩 nvcc               Pass: 100%/41  | Total: 22h 49m | Avg: 33m 23s | Max:  1h 01m | Hits:  77%/75921 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  2h 05m | Avg: 31m 28s | Max: 33m 00s | Hits:  78%/7408  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 05m | Avg: 32m 58s | Max: 33m 29s | Hits:  78%/3704  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 05m | Avg: 32m 54s | Max: 33m 04s | Hits:  78%/3704  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 03m | Avg: 31m 30s | Max: 32m 22s | Hits:  78%/3704  
      🟩 Clang18            Pass: 100%/7   | Total:  2h 45m | Avg: 23m 37s | Max: 32m 54s | Hits:  84%/12964 
      🟩 GCC7               Pass: 100%/2   | Total:  1h 06m | Avg: 33m 00s | Max: 34m 14s | Hits:  78%/3706  
      🟩 GCC8               Pass: 100%/1   | Total: 34m 02s | Avg: 34m 02s | Max: 34m 02s | Hits:  78%/1853  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 09m | Avg: 34m 47s | Max: 34m 57s | Hits:  78%/3706  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 06m | Avg: 33m 23s | Max: 35m 23s | Hits:  78%/3706  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 08m | Avg: 34m 01s | Max: 35m 40s | Hits:  78%/3706  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 13m | Avg: 36m 32s | Max: 37m 21s | Hits:  78%/3706  
      🟩 GCC13              Pass: 100%/8   | Total:  3h 14m | Avg: 24m 22s | Max: 38m 13s | Hits:  86%/14824 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 48m | Avg: 54m 02s | Max: 55m 58s | Hits:  53%/3692  
      🟩 MSVC14.42          Pass: 100%/3   | Total:  2h 35m | Avg: 51m 57s | Max:  1h 01m | Hits:  58%/5538  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  1h 43m | Avg: 51m 49s | Max: 53m 19s | Hits:  71%/3704  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  8h 06m | Avg: 28m 35s | Max: 33m 29s | Hits:  80%/31484 
      🟩 GCC                Pass: 100%/19  | Total:  9h 32m | Avg: 30m 07s | Max: 38m 13s | Hits:  81%/35207 
      🟩 MSVC               Pass: 100%/5   | Total:  4h 23m | Avg: 52m 47s | Max:  1h 01m | Hits:  56%/9230  
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 43m | Avg: 51m 49s | Max: 53m 19s | Hits:  71%/3704  
    🟩 gpu
      🟩 rtx2080            Pass: 100%/33  | Total: 19h 45m | Avg: 35m 55s | Max: 59m 07s | Hits:  75%/61112 
      🟩 rtx4090            Pass: 100%/10  | Total:  4h 00m | Avg: 24m 05s | Max:  1h 01m | Hits:  85%/18513 
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total: 22h 21m | Avg: 36m 15s | Max:  1h 01m | Hits:  75%/68516 
      🟩 TestCPU            Pass: 100%/3   | Total: 50m 33s | Avg: 16m 51s | Max: 34m 59s | Hits:  89%/5551  
      🟩 TestGPU            Pass: 100%/3   | Total: 33m 48s | Avg: 11m 16s | Max: 11m 42s | Hits:  99%/5558  
    🟩 sm
      🟩 90;90a;100         Pass: 100%/1   | Total: 38m 13s | Avg: 38m 13s | Max: 38m 13s | Hits:  78%/1853  
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 12h 21m | Avg: 37m 05s | Max: 59m 07s | Hits:  74%/37031 
      🟩 20                 Pass: 100%/21  | Total: 10h 46m | Avg: 30m 47s | Max:  1h 01m | Hits:  80%/38888 
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 12m 42s | Avg: 6m 21s | Max: 10m 21s | Hits: 98%/280

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 ctk
      🟩 12.8               Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total: 12m 42s | Avg:  6m 21s | Max: 10m 21s | Hits:  98%/280   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 21s | Avg:  2m 21s | Max:  2m 21s | Hits:  98%/140   
      🟩 Test               Pass: 100%/1   | Total: 10m 21s | Avg: 10m 21s | Max: 10m 21s | Hits:  98%/140   
    
  • 🟩 python: Pass: 100%/1 | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 ctk
      🟩 12.8               Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 31m 10s | Avg: 31m 10s | Max: 31m 10s
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
+/- CUB
Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
+/- CUB
+/- Thrust
CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 90)

# Runner
65 linux-amd64-cpu16
9 windows-amd64-cpu16
6 linux-amd64-gpu-rtxa6000-latest-1
4 linux-arm64-cpu16
3 linux-amd64-gpu-rtx4090-latest-1
2 linux-amd64-gpu-rtx2080-latest-1
1 linux-amd64-gpu-h100-latest-1

@gonidelis
Copy link
Member

partition.if updated performance results after reviews

|  T{ct}  |  OffsetT{ct}  |  DistinctPartitions{ct}  |  Elements{io}  |  Entropy  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|---------|---------------|--------------------------|----------------|-----------|------------|-------------|------------|-------------|-------------|---------|----------|
|   I8    |      I32      |          false           |      2^16      |     1     |  12.911 us |       6.38% |  12.827 us |       6.81% |   -0.084 us |  -0.65% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |     1     |  16.758 us |       8.31% |  14.186 us |       6.96% |   -2.573 us | -15.35% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |     1     |  47.077 us |       2.53% |  42.986 us |       3.06% |   -4.091 us |  -8.69% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |     1     | 558.171 us |       0.50% | 497.068 us |       1.06% |  -61.103 us | -10.95% |   FAST   |
|   I8    |      I32      |          false           |      2^16      |   0.544   |  13.030 us |       5.34% |  12.945 us |       6.10% |   -0.084 us |  -0.65% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |   0.544   |  16.884 us |       7.97% |  14.358 us |       7.34% |   -2.526 us | -14.96% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |   0.544   |  47.610 us |       2.43% |  43.805 us |       3.05% |   -3.806 us |  -7.99% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |   0.544   | 567.196 us |       0.49% | 508.078 us |       0.94% |  -59.119 us | -10.42% |   FAST   |
|   I8    |      I32      |          false           |      2^16      |     0     |  13.126 us |       4.60% |  13.038 us |       5.42% |   -0.088 us |  -0.67% |   SAME   |
|   I8    |      I32      |          false           |      2^20      |     0     |  16.946 us |       8.11% |  14.370 us |       6.84% |   -2.576 us | -15.20% |   FAST   |
|   I8    |      I32      |          false           |      2^24      |     0     |  46.573 us |       2.63% |  42.440 us |       3.17% |   -4.133 us |  -8.87% |   FAST   |
|   I8    |      I32      |          false           |      2^28      |     0     | 551.494 us |       0.50% | 490.438 us |       1.01% |  -61.056 us | -11.07% |   FAST   |

|   I8    |      I32      |           true           |      2^16      |     1     |  12.949 us |       5.95% |  13.385 us |       9.56% |    0.436 us |   3.37% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |     1     |  16.737 us |       8.37% |  14.266 us |       6.77% |   -2.471 us | -14.76% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |     1     |  46.874 us |       2.61% |  45.380 us |       2.51% |   -1.494 us |  -3.19% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |     1     | 552.860 us |       0.47% | 528.354 us |       0.46% |  -24.506 us |  -4.43% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |   0.544   |  13.034 us |       5.16% |  13.527 us |       9.39% |    0.493 us |   3.78% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |   0.544   |  16.869 us |       8.32% |  14.380 us |       7.11% |   -2.489 us | -14.75% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |   0.544   |  48.150 us |       2.20% |  45.641 us |       2.31% |   -2.509 us |  -5.21% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |   0.544   | 576.398 us |       0.44% | 530.560 us |       0.47% |  -45.838 us |  -7.95% |   FAST   |
|   I8    |      I32      |           true           |      2^16      |     0     |  12.941 us |       5.94% |  13.405 us |       8.56% |    0.464 us |   3.58% |   SAME   |
|   I8    |      I32      |           true           |      2^20      |     0     |  16.792 us |       7.70% |  14.524 us |       8.82% |   -2.268 us | -13.51% |   FAST   |
|   I8    |      I32      |           true           |      2^24      |     0     |  46.500 us |       2.59% |  45.077 us |       2.78% |   -1.423 us |  -3.06% |   FAST   |
|   I8    |      I32      |           true           |      2^28      |     0     | 547.810 us |       0.50% | 526.255 us |       0.46% |  -21.556 us |  -3.93% |   FAST   |

|   I8    |      I64      |          false           |      2^16      |     1     |  14.417 us |       8.72% |  16.095 us |       9.73% |    1.678 us |  11.64% |   SLOW   |
|   I8    |      I64      |          false           |      2^20      |     1     |  17.493 us |       8.49% |  14.700 us |       8.58% |   -2.794 us | -15.97% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |     1     |  50.683 us |       2.49% |  45.301 us |       2.85% |   -5.382 us | -10.62% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |     1     | 620.487 us |       0.42% | 491.673 us |       0.41% | -128.815 us | -20.76% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |   0.544   |  14.508 us |       6.97% |  16.491 us |       6.08% |    1.983 us |  13.67% |   SLOW   |
|   I8    |      I64      |          false           |      2^20      |   0.544   |  18.256 us |       7.77% |  15.150 us |       9.98% |   -3.106 us | -17.01% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |   0.544   |  54.661 us |       1.77% |  47.151 us |       2.28% |   -7.510 us | -13.74% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |   0.544   | 672.078 us |       0.33% | 518.115 us |       0.29% | -153.963 us | -22.91% |   FAST   |
|   I8    |      I64      |          false           |      2^16      |     0     |  14.587 us |       6.81% |  16.631 us |       6.00% |    2.044 us |  14.01% |   SLOW   |
|   I8    |      I64      |          false           |      2^20      |     0     |  18.173 us |       8.04% |  15.409 us |      11.63% |   -2.764 us | -15.21% |   FAST   |
|   I8    |      I64      |          false           |      2^24      |     0     |  53.275 us |       2.39% |  47.926 us |       1.79% |   -5.349 us | -10.04% |   FAST   |
|   I8    |      I64      |          false           |      2^28      |     0     | 653.010 us |       0.40% | 528.735 us |       0.31% | -124.275 us | -19.03% |   FAST   |

|   I8    |      I64      |           true           |      2^16      |     1     |  13.052 us |       5.07% |  15.051 us |       4.83% |    1.999 us |  15.31% |   SLOW   |
|   I8    |      I64      |           true           |      2^20      |     1     |  17.060 us |       8.47% |  14.341 us |       7.35% |   -2.719 us | -15.94% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |     1     |  48.084 us |       1.88% |  43.569 us |       2.29% |   -4.515 us |  -9.39% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |     1     | 575.943 us |       0.40% | 483.307 us |       0.36% |  -92.636 us | -16.08% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |   0.544   |  13.281 us |       3.12% |  15.295 us |       2.60% |    2.015 us |  15.17% |   SLOW   |
|   I8    |      I64      |           true           |      2^20      |   0.544   |  16.918 us |       8.34% |  14.165 us |       7.49% |   -2.753 us | -16.27% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |   0.544   |  50.157 us |       1.48% |  44.459 us |       2.18% |   -5.698 us | -11.36% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |   0.544   | 611.664 us |       0.37% | 488.292 us |       0.36% | -123.372 us | -20.17% |   FAST   |
|   I8    |      I64      |           true           |      2^16      |     0     |  13.278 us |       2.46% |  15.260 us |       3.14% |    1.982 us |  14.93% |   SLOW   |
|   I8    |      I64      |           true           |      2^20      |     0     |  16.993 us |       8.57% |  14.349 us |       7.51% |   -2.645 us | -15.56% |   FAST   |
|   I8    |      I64      |           true           |      2^24      |     0     |  47.926 us |       1.70% |  43.628 us |       2.08% |   -4.298 us |  -8.97% |   FAST   |
|   I8    |      I64      |           true           |      2^28      |     0     | 571.406 us |       0.41% | 484.160 us |       0.34% |  -87.246 us | -15.27% |   FAST   |

|   I16   |      I32      |          false           |      2^16      |     1     |  12.810 us |       6.81% |  12.777 us |       7.40% |   -0.033 us |  -0.26% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |     1     |  17.616 us |       8.63% |  15.233 us |       5.38% |   -2.383 us | -13.53% |   FAST   |
|   I16   |      I32      |          false           |      2^24      |     1     |  55.359 us |       2.67% |  49.951 us |       2.67% |   -5.407 us |  -9.77% |   FAST   |
|   I16   |      I32      |          false           |      2^28      |     1     | 696.670 us |       0.72% | 588.509 us |       0.66% | -108.161 us | -15.53% |   FAST   |
|   I16   |      I32      |          false           |      2^16      |   0.544   |  12.578 us |       7.96% |  13.768 us |      11.26% |    1.190 us |   9.46% |   SLOW   |
|   I16   |      I32      |          false           |      2^20      |   0.544   |  17.881 us |       8.70% |  15.777 us |       7.48% |   -2.103 us | -11.76% |   FAST   |
|   I16   |      I32      |          false           |      2^24      |   0.544   |  56.533 us |       2.30% |  50.204 us |       2.40% |   -6.329 us | -11.20% |   FAST   |
|   I16   |      I32      |          false           |      2^28      |   0.544   | 714.046 us |       0.68% | 591.412 us |       0.58% | -122.634 us | -17.17% |   FAST   |
|   I16   |      I32      |          false           |      2^16      |     0     |  12.620 us |       7.58% |  12.802 us |       8.55% |    0.182 us |   1.44% |   SAME   |
|   I16   |      I32      |          false           |      2^20      |     0     |  17.480 us |       8.89% |  15.066 us |       7.14% |   -2.415 us | -13.81% |   FAST   |
|   I16   |      I32      |          false           |      2^24      |     0     |  53.589 us |       2.47% |  48.043 us |       2.89% |   -5.546 us | -10.35% |   FAST   |
|   I16   |      I32      |          false           |      2^28      |     0     | 667.809 us |       0.68% | 558.567 us |       0.69% | -109.242 us | -16.36% |   FAST   |

|   I16   |      I32      |           true           |      2^16      |     1     |  12.642 us |       7.55% |  12.629 us |       8.04% |   -0.013 us |  -0.10% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |     1     |  17.497 us |       9.09% |  14.862 us |       6.93% |   -2.635 us | -15.06% |   FAST   |
|   I16   |      I32      |           true           |      2^24      |     1     |  53.530 us |       2.80% |  46.936 us |       2.95% |   -6.594 us | -12.32% |   FAST   |
|   I16   |      I32      |           true           |      2^28      |     1     | 668.795 us |       0.85% | 552.104 us |       0.82% | -116.691 us | -17.45% |   FAST   |
|   I16   |      I32      |           true           |      2^16      |   0.544   |  13.006 us |       5.68% |  12.831 us |       7.48% |   -0.174 us |  -1.34% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |   0.544   |  17.745 us |       8.54% |  14.932 us |       6.57% |   -2.813 us | -15.85% |   FAST   |
|   I16   |      I32      |           true           |      2^24      |   0.544   |  55.129 us |       2.58% |  47.684 us |       2.41% |   -7.445 us | -13.50% |   FAST   |
|   I16   |      I32      |           true           |      2^28      |   0.544   | 691.912 us |       0.79% | 560.699 us |       0.62% | -131.214 us | -18.96% |   FAST   |
|   I16   |      I32      |           true           |      2^16      |     0     |  12.521 us |       7.79% |  12.504 us |       8.21% |   -0.017 us |  -0.14% |   SAME   |
|   I16   |      I32      |           true           |      2^20      |     0     |  17.501 us |       8.86% |  14.763 us |       7.22% |   -2.738 us | -15.64% |   FAST   |
|   I16   |      I32      |           true           |      2^24      |     0     |  52.479 us |       2.46% |  46.038 us |       2.67% |   -6.441 us | -12.27% |   FAST   |
|   I16   |      I32      |           true           |      2^28      |     0     | 649.593 us |       0.84% | 537.025 us |       0.74% | -112.569 us | -17.33% |   FAST   |

|   I16   |      I64      |          false           |      2^16      |     1     |  12.674 us |      10.55% |  14.346 us |       6.95% |    1.672 us |  13.19% |   SLOW   |
|   I16   |      I64      |          false           |      2^20      |     1     |  17.492 us |       7.13% |  15.920 us |       5.41% |   -1.572 us |  -8.98% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |     1     |  55.753 us |       2.53% |  46.824 us |       3.24% |   -8.929 us | -16.01% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |     1     | 697.595 us |       0.62% | 536.832 us |       0.93% | -160.763 us | -23.05% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |   0.544   |  13.236 us |       9.20% |  14.633 us |       6.52% |    1.397 us |  10.55% |   SLOW   |
|   I16   |      I64      |          false           |      2^20      |   0.544   |  18.307 us |       6.77% |  16.394 us |       6.13% |   -1.913 us | -10.45% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |   0.544   |  58.921 us |       1.90% |  50.414 us |       2.31% |   -8.507 us | -14.44% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |   0.544   | 748.496 us |       0.47% | 582.846 us |       0.78% | -165.650 us | -22.13% |   FAST   |
|   I16   |      I64      |          false           |      2^16      |     0     |  12.969 us |      10.42% |  15.259 us |       2.92% |    2.290 us |  17.66% |   SLOW   |
|   I16   |      I64      |          false           |      2^20      |     0     |  18.461 us |       7.46% |  16.435 us |       6.12% |   -2.026 us | -10.97% |   FAST   |
|   I16   |      I64      |          false           |      2^24      |     0     |  58.054 us |       2.25% |  49.293 us |       2.46% |   -8.762 us | -15.09% |   FAST   |
|   I16   |      I64      |          false           |      2^28      |     0     | 733.701 us |       0.47% | 559.512 us |       0.64% | -174.189 us | -23.74% |   FAST   |

|   I16   |      I64      |           true           |      2^16      |     1     |  12.643 us |       7.58% |  14.651 us |       6.54% |    2.008 us |  15.88% |   SLOW   |
|   I16   |      I64      |           true           |      2^20      |     1     |  17.698 us |       9.03% |  14.752 us |       9.48% |   -2.946 us | -16.65% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |     1     |  54.103 us |       2.45% |  46.752 us |       3.09% |   -7.351 us | -13.59% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |     1     | 677.838 us |       0.70% | 538.180 us |       0.72% | -139.658 us | -20.60% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |   0.544   |  12.635 us |       7.60% |  14.664 us |       6.46% |    2.028 us |  16.05% |   SLOW   |
|   I16   |      I64      |           true           |      2^20      |   0.544   |  17.736 us |       8.37% |  15.077 us |      11.01% |   -2.659 us | -14.99% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |   0.544   |  54.635 us |       2.31% |  48.114 us |       2.88% |   -6.521 us | -11.94% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |   0.544   | 687.696 us |       0.70% | 558.693 us |       0.72% | -129.003 us | -18.76% |   FAST   |
|   I16   |      I64      |           true           |      2^16      |     0     |  12.551 us |       7.78% |  14.616 us |       6.71% |    2.065 us |  16.46% |   SLOW   |
|   I16   |      I64      |           true           |      2^20      |     0     |  17.517 us |       8.66% |  14.713 us |       9.09% |   -2.804 us | -16.01% |   FAST   |
|   I16   |      I64      |           true           |      2^24      |     0     |  52.021 us |       2.78% |  43.846 us |       2.76% |   -8.175 us | -15.72% |   FAST   |
|   I16   |      I64      |           true           |      2^28      |     0     | 645.643 us |       0.82% | 491.052 us |       0.67% | -154.591 us | -23.94% |   FAST   |

|   I32   |      I32      |          false           |      2^16      |     1     |  12.557 us |       7.83% |  14.605 us |       6.73% |    2.049 us |  16.31% |   SLOW   |
|   I32   |      I32      |          false           |      2^20      |     1     |  19.547 us |       5.95% |  16.917 us |       7.47% |   -2.631 us | -13.46% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |     1     |  60.795 us |       2.66% |  52.861 us |       3.18% |   -7.933 us | -13.05% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |     1     | 759.624 us |       0.70% | 614.243 us |       0.93% | -145.381 us | -19.14% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |   0.544   |  12.810 us |       6.57% |  14.796 us |       6.05% |    1.986 us |  15.51% |   SLOW   |
|   I32   |      I32      |          false           |      2^20      |   0.544   |  19.508 us |       6.95% |  17.160 us |       7.07% |   -2.348 us | -12.04% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |   0.544   |  63.192 us |       2.39% |  56.291 us |       3.06% |   -6.901 us | -10.92% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |   0.544   | 798.118 us |       0.57% | 666.349 us |       0.94% | -131.769 us | -16.51% |   FAST   |
|   I32   |      I32      |          false           |      2^16      |     0     |  12.608 us |       7.78% |  14.498 us |       6.92% |    1.890 us |  14.99% |   SLOW   |
|   I32   |      I32      |          false           |      2^20      |     0     |  19.298 us |       6.83% |  16.747 us |       7.93% |   -2.551 us | -13.22% |   FAST   |
|   I32   |      I32      |          false           |      2^24      |     0     |  60.918 us |       2.54% |  52.595 us |       3.12% |   -8.323 us | -13.66% |   FAST   |
|   I32   |      I32      |          false           |      2^28      |     0     | 758.652 us |       0.68% | 612.134 us |       0.95% | -146.518 us | -19.31% |   FAST   |

|   I32   |      I32      |           true           |      2^16      |     1     |  12.477 us |       7.93% |  12.575 us |       8.96% |    0.097 us |   0.78% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |     1     |  19.113 us |       6.33% |  15.649 us |       9.35% |   -3.464 us | -18.12% |   FAST   |
|   I32   |      I32      |           true           |      2^24      |     1     |  60.156 us |       2.67% |  52.406 us |       3.49% |   -7.750 us | -12.88% |   FAST   |
|   I32   |      I32      |           true           |      2^28      |     1     | 746.477 us |       0.75% | 639.891 us |       1.23% | -106.585 us | -14.28% |   FAST   |
|   I32   |      I32      |           true           |      2^16      |   0.544   |  12.453 us |       7.85% |  12.735 us |       8.99% |    0.281 us |   2.26% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |   0.544   |  19.372 us |       6.21% |  16.291 us |       8.95% |   -3.081 us | -15.91% |   FAST   |
|   I32   |      I32      |           true           |      2^24      |   0.544   |  62.579 us |       2.52% |  56.089 us |       3.27% |   -6.489 us | -10.37% |   FAST   |
|   I32   |      I32      |           true           |      2^28      |   0.544   | 787.418 us |       0.62% | 701.253 us |       1.03% |  -86.164 us | -10.94% |   FAST   |
|   I32   |      I32      |           true           |      2^16      |     0     |  12.553 us |       8.04% |  12.716 us |       9.10% |    0.163 us |   1.30% |   SAME   |
|   I32   |      I32      |           true           |      2^20      |     0     |  19.002 us |       7.43% |  15.412 us |      10.84% |   -3.590 us | -18.89% |   FAST   |
|   I32   |      I32      |           true           |      2^24      |     0     |  60.221 us |       2.77% |  52.504 us |       3.55% |   -7.717 us | -12.81% |   FAST   |
|   I32   |      I32      |           true           |      2^28      |     0     | 746.768 us |       0.73% | 640.721 us |       1.25% | -106.046 us | -14.20% |   FAST   |

|   I32   |      I64      |          false           |      2^16      |     1     |  13.044 us |       8.46% |  14.685 us |       6.46% |    1.641 us |  12.58% |   SLOW   |
|   I32   |      I64      |          false           |      2^20      |     1     |  19.725 us |       7.15% |  17.140 us |       9.42% |   -2.585 us | -13.11% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |     1     |  62.980 us |       2.38% |  50.639 us |       3.17% |  -12.341 us | -19.60% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |     1     | 781.922 us |       0.77% | 565.933 us |       0.85% | -215.989 us | -27.62% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |   0.544   |  12.902 us |       9.93% |  14.160 us |       6.88% |    1.258 us |   9.75% |   SLOW   |
|   I32   |      I64      |          false           |      2^20      |   0.544   |  20.160 us |       7.06% |  17.839 us |       9.79% |   -2.321 us | -11.51% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |   0.544   |  65.995 us |       2.61% |  53.123 us |       2.47% |  -12.872 us | -19.50% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |   0.544   | 830.327 us |       0.63% | 612.525 us |       0.87% | -217.802 us | -26.23% |   FAST   |
|   I32   |      I64      |          false           |      2^16      |     0     |  12.893 us |      10.66% |  15.726 us |      11.35% |    2.832 us |  21.97% |   SLOW   |
|   I32   |      I64      |          false           |      2^20      |     0     |  19.897 us |       7.27% |  17.497 us |       9.74% |   -2.399 us | -12.06% |   FAST   |
|   I32   |      I64      |          false           |      2^24      |     0     |  64.661 us |       2.28% |  52.797 us |       2.63% |  -11.864 us | -18.35% |   FAST   |
|   I32   |      I64      |          false           |      2^28      |     0     | 808.774 us |       0.56% | 599.189 us |       0.70% | -209.585 us | -25.91% |   FAST   |

|   I32   |      I64      |           true           |      2^16      |     1     |  12.899 us |       6.52% |  14.863 us |       5.75% |    1.964 us |  15.23% |   SLOW   |
|   I32   |      I64      |           true           |      2^20      |     1     |  19.534 us |       6.53% |  16.751 us |       6.75% |   -2.783 us | -14.25% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |     1     |  61.401 us |       2.97% |  49.797 us |       2.59% |  -11.604 us | -18.90% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |     1     | 763.095 us |       0.82% | 566.415 us |       0.92% | -196.680 us | -25.77% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |   0.544   |  12.817 us |       7.22% |  14.749 us |       6.14% |    1.932 us |  15.07% |   SLOW   |
|   I32   |      I64      |           true           |      2^20      |   0.544   |  19.731 us |       7.18% |  16.859 us |       7.40% |   -2.872 us | -14.56% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |   0.544   |  62.459 us |       2.83% |  51.203 us |       3.01% |  -11.256 us | -18.02% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |   0.544   | 784.767 us |       0.79% | 592.121 us |       1.02% | -192.646 us | -24.55% |   FAST   |
|   I32   |      I64      |           true           |      2^16      |     0     |  12.880 us |       6.29% |  14.774 us |       6.09% |    1.894 us |  14.71% |   SLOW   |
|   I32   |      I64      |           true           |      2^20      |     0     |  19.152 us |       7.49% |  16.081 us |      10.34% |   -3.071 us | -16.03% |   FAST   |
|   I32   |      I64      |           true           |      2^24      |     0     |  59.728 us |       2.97% |  48.759 us |       3.04% |  -10.970 us | -18.37% |   FAST   |
|   I32   |      I64      |           true           |      2^28      |     0     | 744.100 us |       0.85% | 557.267 us |       1.04% | -186.834 us | -25.11% |   FAST   |

|   I64   |      I32      |          false           |      2^16      |     1     |  13.921 us |       9.32% |  13.870 us |       9.66% |   -0.051 us |  -0.37% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |     1     |  19.758 us |       6.12% |  19.454 us |       6.36% |   -0.304 us |  -1.54% |   SAME   |
|   I64   |      I32      |          false           |      2^24      |     1     |  84.531 us |       1.47% |  84.580 us |       1.52% |    0.048 us |   0.06% |   SAME   |
|   I64   |      I32      |          false           |      2^28      |     1     |   1.118 ms |       0.32% |   1.118 ms |       0.30% |   -0.278 us |  -0.02% |   SAME   |
|   I64   |      I32      |          false           |      2^16      |   0.544   |  13.748 us |      10.35% |  13.692 us |      10.51% |   -0.056 us |  -0.41% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |   0.544   |  19.494 us |       7.23% |  19.483 us |       7.01% |   -0.011 us |  -0.06% |   SAME   |
|   I64   |      I32      |          false           |      2^24      |   0.544   |  84.359 us |       1.77% |  84.284 us |       1.73% |   -0.076 us |  -0.09% |   SAME   |
|   I64   |      I32      |          false           |      2^28      |   0.544   |   1.117 ms |       0.38% |   1.117 ms |       0.38% |    0.213 us |   0.02% |   SAME   |
|   I64   |      I32      |          false           |      2^16      |     0     |  13.785 us |      10.16% |  13.779 us |       9.88% |   -0.006 us |  -0.04% |   SAME   |
|   I64   |      I32      |          false           |      2^20      |     0     |  19.591 us |       6.32% |  19.547 us |       6.26% |   -0.044 us |  -0.22% |   SAME   |
|   I64   |      I32      |          false           |      2^24      |     0     |  84.563 us |       1.49% |  84.472 us |       1.67% |   -0.091 us |  -0.11% |   SAME   |
|   I64   |      I32      |          false           |      2^28      |     0     |   1.118 ms |       0.32% |   1.118 ms |       0.30% |   -0.197 us |  -0.02% |   SAME   |

|   I64   |      I32      |           true           |      2^16      |     1     |  13.712 us |      10.52% |  13.764 us |      10.01% |    0.051 us |   0.38% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |     1     |  19.546 us |       6.63% |  19.391 us |       6.32% |   -0.155 us |  -0.79% |   SAME   |
|   I64   |      I32      |           true           |      2^24      |     1     |  82.965 us |       1.90% |  82.835 us |       1.74% |   -0.129 us |  -0.16% |   SAME   |
|   I64   |      I32      |           true           |      2^28      |     1     |   1.093 ms |       0.36% |   1.093 ms |       0.33% |   -0.003 us |  -0.00% |   SAME   |
|   I64   |      I32      |           true           |      2^16      |   0.544   |  14.011 us |       8.59% |  13.774 us |       9.04% |   -0.237 us |  -1.69% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |   0.544   |  19.192 us |       6.59% |  19.250 us |       6.70% |    0.058 us |   0.30% |   SAME   |
|   I64   |      I32      |           true           |      2^24      |   0.544   |  82.462 us |       1.99% |  82.493 us |       2.02% |    0.031 us |   0.04% |   SAME   |
|   I64   |      I32      |           true           |      2^28      |   0.544   |   1.087 ms |       0.40% |   1.087 ms |       0.43% |    0.212 us |   0.02% |   SAME   |
|   I64   |      I32      |           true           |      2^16      |     0     |  13.672 us |      10.69% |  13.583 us |      10.83% |   -0.089 us |  -0.65% |   SAME   |
|   I64   |      I32      |           true           |      2^20      |     0     |  19.216 us |       6.77% |  19.263 us |       7.03% |    0.047 us |   0.24% |   SAME   |
|   I64   |      I32      |           true           |      2^24      |     0     |  82.903 us |       1.77% |  82.842 us |       1.77% |   -0.061 us |  -0.07% |   SAME   |
|   I64   |      I32      |           true           |      2^28      |     0     |   1.094 ms |       0.35% |   1.094 ms |       0.35% |   -0.000 us |  -0.00% |   SAME   |

|   I64   |      I64      |          false           |      2^16      |     1     |  14.597 us |       7.48% |  13.806 us |      10.39% |   -0.791 us |  -5.42% |   SAME   |
|   I64   |      I64      |          false           |      2^20      |     1     |  19.577 us |       6.85% |  17.345 us |       8.07% |   -2.232 us | -11.40% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |     1     |  84.043 us |       1.91% |  72.383 us |       2.79% |  -11.661 us | -13.87% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |     1     |   1.106 ms |       0.51% | 950.155 us |       1.03% | -155.575 us | -14.07% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |   0.544   |  14.589 us |       7.37% |  14.539 us |       6.97% |   -0.050 us |  -0.34% |   SAME   |
|   I64   |      I64      |          false           |      2^20      |   0.544   |  19.764 us |       6.12% |  18.643 us |       6.51% |   -1.120 us |  -5.67% |   SAME   |
|   I64   |      I64      |          false           |      2^24      |   0.544   |  84.442 us |       2.33% |  78.553 us |       2.59% |   -5.889 us |  -6.97% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |   0.544   |   1.118 ms |       0.65% |   1.046 ms |       0.83% |  -71.848 us |  -6.43% |   FAST   |
|   I64   |      I64      |          false           |      2^16      |     0     |  14.576 us |       7.23% |  14.634 us |       6.71% |    0.058 us |   0.40% |   SAME   |
|   I64   |      I64      |          false           |      2^20      |     0     |  19.998 us |       6.24% |  17.879 us |       7.44% |   -2.118 us | -10.59% |   FAST   |
|   I64   |      I64      |          false           |      2^24      |     0     |  86.441 us |       2.10% |  73.960 us |       2.78% |  -12.481 us | -14.44% |   FAST   |
|   I64   |      I64      |          false           |      2^28      |     0     |   1.143 ms |       0.54% | 963.216 us |       0.87% | -179.373 us | -15.70% |   FAST   |

|   I64   |      I64      |           true           |      2^16      |     1     |  13.992 us |       9.18% |  13.743 us |      10.21% |   -0.249 us |  -1.78% |   SAME   |
|   I64   |      I64      |           true           |      2^20      |     1     |  19.687 us |       5.88% |  19.586 us |       5.76% |   -0.101 us |  -0.51% |   SAME   |
|   I64   |      I64      |           true           |      2^24      |     1     |  83.147 us |       1.93% |  82.866 us |       2.17% |   -0.280 us |  -0.34% |   SAME   |
|   I64   |      I64      |           true           |      2^28      |     1     |   1.093 ms |       0.49% |   1.089 ms |       0.47% |   -3.986 us |  -0.36% |   SAME   |
|   I64   |      I64      |           true           |      2^16      |   0.544   |  14.309 us |       8.54% |  14.335 us |       8.10% |    0.026 us |   0.18% |   SAME   |
|   I64   |      I64      |           true           |      2^20      |   0.544   |  19.185 us |       6.72% |  19.178 us |       7.05% |   -0.007 us |  -0.04% |   SAME   |
|   I64   |      I64      |           true           |      2^24      |   0.544   |  81.850 us |       2.28% |  81.679 us |       2.38% |   -0.171 us |  -0.21% |   SAME   |
|   I64   |      I64      |           true           |      2^28      |   0.544   |   1.074 ms |       0.55% |   1.071 ms |       0.54% |   -3.457 us |  -0.32% |   SAME   |
|   I64   |      I64      |           true           |      2^16      |     0     |  14.132 us |       9.12% |  14.010 us |       9.94% |   -0.122 us |  -0.86% |   SAME   |
|   I64   |      I64      |           true           |      2^20      |     0     |  19.472 us |       5.74% |  19.409 us |       5.51% |   -0.063 us |  -0.32% |   SAME   |
|   I64   |      I64      |           true           |      2^24      |     0     |  82.182 us |       2.21% |  81.632 us |       2.10% |   -0.550 us |  -0.67% |   SAME   |
|   I64   |      I64      |           true           |      2^28      |     0     |   1.075 ms |       0.45% |   1.071 ms |       0.44% |   -3.930 us |  -0.37% |   SAME   |

|  I128   |      I32      |          false           |      2^16      |     1     |  15.242 us |       8.66% |  15.038 us |       8.72% |   -0.203 us |  -1.33% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |     1     |  22.596 us |       7.63% |  22.477 us |       7.66% |   -0.119 us |  -0.53% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |     1     | 157.080 us |       3.08% | 157.239 us |       3.24% |    0.159 us |   0.10% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |     1     |   2.281 ms |       0.82% |   2.277 ms |       0.85% |   -3.808 us |  -0.17% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |   0.544   |  15.568 us |       7.69% |  15.418 us |       8.81% |   -0.150 us |  -0.97% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |   0.544   |  22.668 us |       7.01% |  22.424 us |       6.82% |   -0.244 us |  -1.08% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |   0.544   | 160.774 us |       2.53% | 160.212 us |       2.57% |   -0.562 us |  -0.35% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |   0.544   |   2.336 ms |       0.65% |   2.334 ms |       0.67% |   -2.085 us |  -0.09% |   SAME   |
|  I128   |      I32      |          false           |      2^16      |     0     |  15.431 us |       7.76% |  15.285 us |       8.58% |   -0.145 us |  -0.94% |   SAME   |
|  I128   |      I32      |          false           |      2^20      |     0     |  22.669 us |       7.99% |  22.436 us |       8.41% |   -0.233 us |  -1.03% |   SAME   |
|  I128   |      I32      |          false           |      2^24      |     0     | 157.367 us |       3.13% | 157.177 us |       3.11% |   -0.189 us |  -0.12% |   SAME   |
|  I128   |      I32      |          false           |      2^28      |     0     |   2.281 ms |       0.82% |   2.277 ms |       0.86% |   -3.329 us |  -0.15% |   SAME   |

|  I128   |      I32      |           true           |      2^16      |     1     |  15.434 us |       7.80% |  15.289 us |       8.55% |   -0.145 us |  -0.94% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |     1     |  22.833 us |       7.51% |  22.655 us |       8.28% |   -0.178 us |  -0.78% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |     1     | 157.676 us |       3.16% | 158.065 us |       3.37% |    0.390 us |   0.25% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |     1     |   2.286 ms |       0.82% |   2.283 ms |       0.84% |   -3.223 us |  -0.14% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |   0.544   |  15.418 us |       7.89% |  15.487 us |       8.65% |    0.069 us |   0.45% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |   0.544   |  22.813 us |       6.81% |  22.477 us |       7.18% |   -0.335 us |  -1.47% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |   0.544   | 161.278 us |       2.62% | 160.859 us |       2.65% |   -0.419 us |  -0.26% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |   0.544   |   2.347 ms |       0.68% |   2.342 ms |       0.70% |   -4.962 us |  -0.21% |   SAME   |
|  I128   |      I32      |           true           |      2^16      |     0     |  15.350 us |       7.90% |  15.324 us |       7.40% |   -0.025 us |  -0.17% |   SAME   |
|  I128   |      I32      |           true           |      2^20      |     0     |  22.698 us |       7.83% |  22.418 us |       7.44% |   -0.281 us |  -1.24% |   SAME   |
|  I128   |      I32      |           true           |      2^24      |     0     | 157.871 us |       3.03% | 157.515 us |       3.19% |   -0.356 us |  -0.23% |   SAME   |
|  I128   |      I32      |           true           |      2^28      |     0     |   2.288 ms |       0.80% |   2.286 ms |       0.89% |   -1.728 us |  -0.08% |   SAME   |

|  I128   |      I64      |          false           |      2^16      |     1     |  15.210 us |       7.58% |  15.121 us |       8.19% |   -0.088 us |  -0.58% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |     1     |  22.667 us |       8.41% |  22.209 us |       8.64% |   -0.458 us |  -2.02% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |     1     | 158.550 us |       3.88% | 157.712 us |       3.94% |   -0.838 us |  -0.53% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |     1     |   2.293 ms |       1.10% |   2.287 ms |       1.08% |   -5.642 us |  -0.25% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |   0.544   |  15.603 us |       6.99% |  15.190 us |       7.97% |   -0.413 us |  -2.65% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |   0.544   |  23.023 us |       8.84% |  22.670 us |       9.38% |   -0.353 us |  -1.53% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |   0.544   | 162.198 us |       3.57% | 162.082 us |       3.47% |   -0.116 us |  -0.07% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |   0.544   |   2.341 ms |       0.92% |   2.336 ms |       0.99% |   -4.434 us |  -0.19% |   SAME   |
|  I128   |      I64      |          false           |      2^16      |     0     |  15.192 us |       7.88% |  15.105 us |       7.68% |   -0.086 us |  -0.57% |   SAME   |
|  I128   |      I64      |          false           |      2^20      |     0     |  22.667 us |       8.53% |  22.706 us |       8.48% |    0.039 us |   0.17% |   SAME   |
|  I128   |      I64      |          false           |      2^24      |     0     | 159.406 us |       4.08% | 158.805 us |       3.90% |   -0.601 us |  -0.38% |   SAME   |
|  I128   |      I64      |          false           |      2^28      |     0     |   2.297 ms |       1.08% |   2.293 ms |       1.13% |   -3.424 us |  -0.15% |   SAME   |

|  I128   |      I64      |           true           |      2^16      |     1     |  14.716 us |       9.17% |  14.773 us |       8.59% |    0.057 us |   0.38% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |     1     |  22.443 us |       8.44% |  22.190 us |       8.95% |   -0.254 us |  -1.13% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |     1     | 156.497 us |       3.53% | 156.492 us |       3.64% |   -0.005 us |  -0.00% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |     1     |   2.271 ms |       0.94% |   2.269 ms |       0.97% |   -2.715 us |  -0.12% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |   0.544   |  15.057 us |       8.33% |  15.007 us |       8.62% |   -0.049 us |  -0.33% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |   0.544   |  22.265 us |       7.97% |  22.006 us |       7.91% |   -0.259 us |  -1.16% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |   0.544   | 159.218 us |       2.79% | 159.373 us |       3.00% |    0.154 us |   0.10% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |   0.544   |   2.314 ms |       0.77% |   2.311 ms |       0.76% |   -3.071 us |  -0.13% |   SAME   |
|  I128   |      I64      |           true           |      2^16      |     0     |  14.915 us |       8.16% |  14.862 us |       8.34% |   -0.053 us |  -0.36% |   SAME   |
|  I128   |      I64      |           true           |      2^20      |     0     |  22.354 us |       8.45% |  22.077 us |       8.73% |   -0.278 us |  -1.24% |   SAME   |
|  I128   |      I64      |           true           |      2^24      |     0     | 156.104 us |       3.54% | 156.084 us |       3.46% |   -0.020 us |  -0.01% |   SAME   |
|  I128   |      I64      |           true           |      2^28      |     0     |   2.262 ms |       0.87% |   2.260 ms |       0.90% |   -2.818 us |  -0.12% |   SAME   |

|   F32   |      I32      |          false           |      2^16      |     1     |  12.583 us |       8.37% |  14.681 us |       6.83% |    2.098 us |  16.67% |   SLOW   |
|   F32   |      I32      |          false           |      2^20      |     1     |  19.447 us |       6.39% |  16.671 us |       8.36% |   -2.776 us | -14.27% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |     1     |  60.898 us |       2.74% |  52.500 us |       3.16% |   -8.398 us | -13.79% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |     1     | 773.463 us |       0.69% | 641.982 us |       0.96% | -131.481 us | -17.00% |   FAST   |
|   F32   |      I32      |          false           |      2^16      |   0.544   |  12.512 us |       7.99% |  14.579 us |       6.77% |    2.066 us |  16.52% |   SLOW   |
|   F32   |      I32      |          false           |      2^20      |   0.544   |  19.438 us |       7.49% |  17.098 us |       7.49% |   -2.341 us | -12.04% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |   0.544   |  63.043 us |       2.50% |  55.665 us |       3.13% |   -7.378 us | -11.70% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |   0.544   | 796.631 us |       0.60% | 662.850 us |       0.97% | -133.781 us | -16.79% |   FAST   |
|   F32   |      I32      |          false           |      2^16      |     0     |  12.707 us |       7.20% |  14.776 us |       6.09% |    2.070 us |  16.29% |   SLOW   |
|   F32   |      I32      |          false           |      2^20      |     0     |  19.052 us |       8.02% |  16.462 us |       7.59% |   -2.589 us | -13.59% |   FAST   |
|   F32   |      I32      |          false           |      2^24      |     0     |  60.846 us |       2.72% |  52.393 us |       3.10% |   -8.453 us | -13.89% |   FAST   |
|   F32   |      I32      |          false           |      2^28      |     0     | 759.461 us |       0.70% | 609.081 us |       0.98% | -150.380 us | -19.80% |   FAST   |

|   F32   |      I32      |           true           |      2^16      |     1     |  12.657 us |       7.24% |  12.766 us |       8.71% |    0.109 us |   0.86% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |     1     |  19.277 us |       6.34% |  15.670 us |       8.77% |   -3.606 us | -18.71% |   FAST   |
|   F32   |      I32      |           true           |      2^24      |     1     |  60.134 us |       2.77% |  52.201 us |       3.53% |   -7.934 us | -13.19% |   FAST   |
|   F32   |      I32      |           true           |      2^28      |     1     | 761.648 us |       0.71% | 664.440 us |       1.17% |  -97.208 us | -12.76% |   FAST   |
|   F32   |      I32      |           true           |      2^16      |   0.544   |  12.500 us |       8.10% |  12.627 us |       9.76% |    0.128 us |   1.02% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |   0.544   |  19.650 us |       6.38% |  16.179 us |       9.35% |   -3.471 us | -17.67% |   FAST   |
|   F32   |      I32      |           true           |      2^24      |   0.544   |  62.091 us |       2.55% |  55.325 us |       3.59% |   -6.766 us | -10.90% |   FAST   |
|   F32   |      I32      |           true           |      2^28      |   0.544   | 785.487 us |       0.62% | 693.510 us |       1.06% |  -91.977 us | -11.71% |   FAST   |
|   F32   |      I32      |           true           |      2^16      |     0     |  12.517 us |       7.87% |  12.667 us |       8.63% |    0.149 us |   1.19% |   SAME   |
|   F32   |      I32      |           true           |      2^20      |     0     |  19.049 us |       7.26% |  15.373 us |      10.10% |   -3.675 us | -19.29% |   FAST   |
|   F32   |      I32      |           true           |      2^24      |     0     |  59.925 us |       2.86% |  52.099 us |       3.68% |   -7.826 us | -13.06% |   FAST   |
|   F32   |      I32      |           true           |      2^28      |     0     | 746.519 us |       0.75% | 639.035 us |       1.22% | -107.484 us | -14.40% |   FAST   |

|   F32   |      I64      |          false           |      2^16      |     1     |  12.659 us |      11.02% |  14.763 us |       6.32% |    2.104 us |  16.62% |   SLOW   |
|   F32   |      I64      |          false           |      2^20      |     1     |  19.605 us |       7.56% |  17.262 us |       8.64% |   -2.343 us | -11.95% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |     1     |  62.812 us |       3.16% |  50.191 us |       3.38% |  -12.621 us | -20.09% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |     1     | 788.719 us |       0.79% | 574.387 us |       1.00% | -214.333 us | -27.17% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |   0.544   |  12.892 us |      10.49% |  15.747 us |      10.96% |    2.856 us |  22.15% |   SLOW   |
|   F32   |      I64      |          false           |      2^20      |   0.544   |  19.986 us |       7.49% |  18.160 us |       8.74% |   -1.826 us |  -9.14% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |   0.544   |  66.610 us |       2.42% |  53.246 us |       3.12% |  -13.364 us | -20.06% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |   0.544   | 839.311 us |       0.61% | 616.437 us |       0.79% | -222.873 us | -26.55% |   FAST   |
|   F32   |      I64      |          false           |      2^16      |     0     |  13.103 us |      10.57% |  15.639 us |      11.63% |    2.535 us |  19.35% |   SLOW   |
|   F32   |      I64      |          false           |      2^20      |     0     |  19.959 us |       7.18% |  18.109 us |       8.29% |   -1.850 us |  -9.27% |   FAST   |
|   F32   |      I64      |          false           |      2^24      |     0     |  64.552 us |       2.62% |  52.646 us |       2.76% |  -11.906 us | -18.44% |   FAST   |
|   F32   |      I64      |          false           |      2^28      |     0     | 808.513 us |       0.57% | 596.217 us |       0.66% | -212.296 us | -26.26% |   FAST   |

|   F32   |      I64      |           true           |      2^16      |     1     |  12.567 us |       7.88% |  14.518 us |       6.79% |    1.951 us |  15.53% |   SLOW   |
|   F32   |      I64      |           true           |      2^20      |     1     |  19.291 us |       7.39% |  16.448 us |       8.41% |   -2.844 us | -14.74% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |     1     |  61.573 us |       2.98% |  49.737 us |       2.98% |  -11.836 us | -19.22% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |     1     | 769.977 us |       0.84% | 577.329 us |       0.93% | -192.648 us | -25.02% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |   0.544   |  12.445 us |       8.07% |  14.491 us |       6.82% |    2.046 us |  16.44% |   SLOW   |
|   F32   |      I64      |           true           |      2^20      |   0.544   |  19.530 us |       6.99% |  16.639 us |       7.67% |   -2.891 us | -14.80% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |   0.544   |  61.638 us |       2.95% |  51.517 us |       3.39% |  -10.120 us | -16.42% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |   0.544   | 773.495 us |       0.84% | 598.644 us |       1.06% | -174.851 us | -22.61% |   FAST   |
|   F32   |      I64      |           true           |      2^16      |     0     |  12.444 us |       8.09% |  14.471 us |       6.86% |    2.026 us |  16.28% |   SLOW   |
|   F32   |      I64      |           true           |      2^20      |     0     |  19.354 us |       6.44% |  16.287 us |       9.30% |   -3.067 us | -15.85% |   FAST   |
|   F32   |      I64      |           true           |      2^24      |     0     |  59.901 us |       2.87% |  48.749 us |       3.15% |  -11.153 us | -18.62% |   FAST   |
|   F32   |      I64      |           true           |      2^28      |     0     | 744.920 us |       0.87% | 555.829 us |       1.03% | -189.092 us | -25.38% |   FAST   |

|   F64   |      I32      |          false           |      2^16      |     1     |  13.785 us |       9.54% |  13.537 us |      10.22% |   -0.248 us |  -1.80% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |     1     |  19.390 us |       7.14% |  19.255 us |       7.61% |   -0.135 us |  -0.70% |   SAME   |
|   F64   |      I32      |          false           |      2^24      |     1     |  84.273 us |       1.73% |  83.966 us |       1.66% |   -0.307 us |  -0.36% |   SAME   |
|   F64   |      I32      |          false           |      2^28      |     1     |   1.116 ms |       0.32% |   1.111 ms |       0.34% |   -5.332 us |  -0.48% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |   0.544   |  13.919 us |       9.88% |  13.596 us |      10.55% |   -0.323 us |  -2.32% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |   0.544   |  19.429 us |       7.22% |  19.174 us |       7.52% |   -0.255 us |  -1.31% |   SAME   |
|   F64   |      I32      |          false           |      2^24      |   0.544   |  83.787 us |       1.88% |  83.581 us |       1.80% |   -0.206 us |  -0.25% |   SAME   |
|   F64   |      I32      |          false           |      2^28      |   0.544   |   1.110 ms |       0.37% |   1.105 ms |       0.40% |   -4.322 us |  -0.39% |   FAST   |
|   F64   |      I32      |          false           |      2^16      |     0     |  13.990 us |       9.48% |  13.690 us |      10.09% |   -0.300 us |  -2.14% |   SAME   |
|   F64   |      I32      |          false           |      2^20      |     0     |  19.467 us |       7.03% |  19.162 us |       7.51% |   -0.304 us |  -1.56% |   SAME   |
|   F64   |      I32      |          false           |      2^24      |     0     |  84.385 us |       1.74% |  83.974 us |       1.71% |   -0.411 us |  -0.49% |   SAME   |
|   F64   |      I32      |          false           |      2^28      |     0     |   1.116 ms |       0.31% |   1.111 ms |       0.33% |   -4.898 us |  -0.44% |   FAST   |

|   F64   |      I32      |           true           |      2^16      |     1     |  13.904 us |       9.86% |  13.652 us |       9.36% |   -0.252 us |  -1.82% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |     1     |  19.145 us |       7.12% |  18.841 us |       7.06% |   -0.304 us |  -1.59% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |     1     |  82.759 us |       1.79% |  82.476 us |       1.83% |   -0.283 us |  -0.34% |   SAME   |
|   F64   |      I32      |           true           |      2^28      |     1     |   1.091 ms |       0.35% |   1.086 ms |       0.36% |   -4.552 us |  -0.42% |   FAST   |
|   F64   |      I32      |           true           |      2^16      |   0.544   |  14.081 us |       9.01% |  13.777 us |       9.72% |   -0.304 us |  -2.16% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |   0.544   |  19.084 us |       6.50% |  18.974 us |       6.95% |   -0.110 us |  -0.58% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |   0.544   |  82.066 us |       2.18% |  81.760 us |       2.14% |   -0.306 us |  -0.37% |   SAME   |
|   F64   |      I32      |           true           |      2^28      |   0.544   |   1.081 ms |       0.46% |   1.077 ms |       0.50% |   -3.343 us |  -0.31% |   SAME   |
|   F64   |      I32      |           true           |      2^16      |     0     |  13.401 us |      11.37% |  13.345 us |      12.02% |   -0.056 us |  -0.42% |   SAME   |
|   F64   |      I32      |           true           |      2^20      |     0     |  19.155 us |       7.04% |  18.987 us |       7.38% |   -0.168 us |  -0.88% |   SAME   |
|   F64   |      I32      |           true           |      2^24      |     0     |  82.812 us |       1.64% |  82.429 us |       1.90% |   -0.383 us |  -0.46% |   SAME   |
|   F64   |      I32      |           true           |      2^28      |     0     |   1.091 ms |       0.36% |   1.087 ms |       0.38% |   -4.021 us |  -0.37% |   FAST   |

|   F64   |      I64      |          false           |      2^16      |     1     |  14.352 us |       7.96% |  13.640 us |      10.16% |   -0.712 us |  -4.96% |   SAME   |
|   F64   |      I64      |          false           |      2^20      |     1     |  19.599 us |       6.10% |  17.616 us |       6.64% |   -1.983 us | -10.12% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |     1     |  83.890 us |       2.08% |  72.346 us |       3.02% |  -11.545 us | -13.76% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |     1     |   1.101 ms |       0.58% | 948.818 us |       1.08% | -152.626 us | -13.86% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |   0.544   |  14.555 us |       7.05% |  14.503 us |       6.96% |   -0.052 us |  -0.36% |   SAME   |
|   F64   |      I64      |          false           |      2^20      |   0.544   |  19.639 us |       6.97% |  18.335 us |       7.70% |   -1.304 us |  -6.64% |   SAME   |
|   F64   |      I64      |          false           |      2^24      |   0.544   |  84.673 us |       2.37% |  78.447 us |       2.57% |   -6.226 us |  -7.35% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |   0.544   |   1.117 ms |       0.69% |   1.042 ms |       0.84% |  -75.153 us |  -6.73% |   FAST   |
|   F64   |      I64      |          false           |      2^16      |     0     |  14.412 us |       7.18% |  14.573 us |       6.77% |    0.161 us |   1.12% |   SAME   |
|   F64   |      I64      |          false           |      2^20      |     0     |  19.861 us |       6.76% |  17.489 us |       7.66% |   -2.372 us | -11.94% |   FAST   |
|   F64   |      I64      |          false           |      2^24      |     0     |  85.894 us |       2.10% |  73.615 us |       2.58% |  -12.279 us | -14.30% |   FAST   |
|   F64   |      I64      |          false           |      2^28      |     0     |   1.134 ms |       0.58% | 960.414 us |       0.96% | -173.764 us | -15.32% |   FAST   |

|   F64   |      I64      |           true           |      2^16      |     1     |  14.420 us |       7.76% |  14.220 us |       8.53% |   -0.200 us |  -1.38% |   SAME   |
|   F64   |      I64      |           true           |      2^20      |     1     |  19.506 us |       6.06% |  19.339 us |       6.43% |   -0.166 us |  -0.85% |   SAME   |
|   F64   |      I64      |           true           |      2^24      |     1     |  82.751 us |       2.08% |  82.847 us |       2.07% |    0.096 us |   0.12% |   SAME   |
|   F64   |      I64      |           true           |      2^28      |     1     |   1.084 ms |       0.51% |   1.084 ms |       0.49% |   -0.404 us |  -0.04% |   SAME   |
|   F64   |      I64      |           true           |      2^16      |   0.544   |  13.896 us |      10.22% |  13.779 us |      10.37% |   -0.117 us |  -0.84% |   SAME   |
|   F64   |      I64      |           true           |      2^20      |   0.544   |  19.168 us |       6.05% |  19.151 us |       5.95% |   -0.017 us |  -0.09% |   SAME   |
|   F64   |      I64      |           true           |      2^24      |   0.544   |  80.976 us |       2.45% |  80.657 us |       2.56% |   -0.319 us |  -0.39% |   SAME   |
|   F64   |      I64      |           true           |      2^28      |   0.544   |   1.055 ms |       0.57% |   1.055 ms |       0.56% |    0.387 us |   0.04% |   SAME   |
|   F64   |      I64      |           true           |      2^16      |     0     |  14.211 us |       8.67% |  14.069 us |       8.89% |   -0.143 us |  -1.00% |   SAME   |
|   F64   |      I64      |           true           |      2^20      |     0     |  19.157 us |       6.37% |  18.953 us |       7.33% |   -0.204 us |  -1.06% |   SAME   |
|   F64   |      I64      |           true           |      2^24      |     0     |  81.696 us |       1.96% |  81.796 us |       2.04% |    0.100 us |   0.12% |   SAME   |
|   F64   |      I64      |           true           |      2^28      |     0     |   1.068 ms |       0.44% |   1.068 ms |       0.45% |   -0.037 us |  -0.00% |   SAME   |

@bernhardmgruber
Copy link
Contributor Author

I am happy with the results. Let's ask @elstehle for approval.

Copy link
Contributor

github-actions bot commented Feb 6, 2025

🟩 CI finished in 1h 42m: Pass: 100%/90 | Total: 2d 16h | Avg: 42m 59s | Max: 1h 17m | Hits: 74%/132225
  • 🟩 cub: Pass: 100%/44 | Total: 1d 16h | Avg: 55m 07s | Max: 1h 17m | Hits: 68%/52320

    🟩 cpu
      🟩 amd64              Pass: 100%/42  | Total:  1d 14h | Avg: 54m 27s | Max:  1h 17m | Hits:  68%/49888 
      🟩 arm64              Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 09m | Hits:  67%/2432  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  4h 58m | Avg: 59m 41s | Max:  1h 10m | Hits:  57%/5914  
      🟩 12.5               Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 11m | Hits:  67%/2250  
      🟩 12.8               Pass: 100%/37  | Total:  1d 09h | Avg: 53m 43s | Max:  1h 17m | Hits:  70%/44156 
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 04m | Hits:  73%/2104  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  4h 58m | Avg: 59m 41s | Max:  1h 10m | Hits:  57%/5914  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 11m | Hits:  67%/2250  
      🟩 nvcc12.8           Pass: 100%/35  | Total:  1d 07h | Avg: 53m 11s | Max:  1h 17m | Hits:  69%/42052 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 04m | Hits:  73%/2104  
      🟩 nvcc               Pass: 100%/42  | Total:  1d 14h | Avg: 54m 44s | Max:  1h 17m | Hits:  68%/50216 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  3h 58m | Avg: 59m 43s | Max:  1h 03m | Hits:  67%/4872  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 57m | Avg: 58m 58s | Max: 59m 17s | Hits:  67%/2432  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 55m | Avg: 57m 57s | Max:  1h 01m | Hits:  67%/2432  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 56m | Avg: 58m 20s | Max:  1h 00m | Hits:  67%/2432  
      🟩 Clang18            Pass: 100%/7   | Total:  5h 58m | Avg: 51m 12s | Max:  1h 08m | Hits:  78%/8184  
      🟩 GCC7               Pass: 100%/2   | Total:  1h 52m | Avg: 56m 25s | Max: 57m 16s | Hits:  67%/2436  
      🟩 GCC8               Pass: 100%/1   | Total: 59m 06s | Avg: 59m 06s | Max: 59m 06s | Hits:  67%/1218  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 56m | Avg: 58m 01s | Max: 58m 42s | Hits:  67%/2436  
      🟩 GCC10              Pass: 100%/2   | Total:  2h 02m | Avg:  1h 01m | Max:  1h 02m | Hits:  67%/2436  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 58m | Avg: 59m 00s | Max:  1h 00m | Hits:  67%/2432  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 59m | Avg: 59m 37s | Max:  1h 02m | Hits:  67%/2432  
      🟩 GCC13              Pass: 100%/10  | Total:  6h 44m | Avg: 40m 24s | Max:  1h 17m | Hits:  83%/12160 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 23m | Avg:  1h 11m | Max:  1h 13m | Hits:  13%/2084  
      🟩 MSVC14.42          Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  13%/2084  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 11m | Hits:  67%/2250  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total: 15h 47m | Avg: 55m 45s | Max:  1h 08m | Hits:  71%/20352 
      🟩 GCC                Pass: 100%/21  | Total: 17h 32m | Avg: 50m 06s | Max:  1h 17m | Hits:  74%/25550 
      🟩 MSVC               Pass: 100%/4   | Total:  4h 46m | Avg:  1h 11m | Max:  1h 13m | Hits:  13%/4168  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 11m | Hits:  67%/2250  
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 52m 35s | Avg: 26m 17s | Max: 26m 30s | Hits:  83%/2432  
      🟩 rtx2080            Pass: 100%/34  | Total:  1d 11h | Avg:  1h 02m | Max:  1h 17m | Hits:  62%/40160 
      🟩 rtxa6000           Pass: 100%/8   | Total:  4h 04m | Avg: 30m 34s | Max: 58m 24s | Hits:  91%/9728  
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total:  1d 13h | Avg:  1h 01m | Max:  1h 17m | Hits:  62%/43808 
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 21m 42s | Avg: 21m 42s | Max: 21m 42s | Hits:  99%/1216  
      🟩 GraphCapture       Pass: 100%/1   | Total: 16m 47s | Avg: 16m 47s | Max: 16m 47s | Hits:  99%/1216  
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 15m | Avg: 25m 15s | Max: 26m 05s | Hits:  99%/3648  
      🟩 TestGPU            Pass: 100%/2   | Total: 41m 26s | Avg: 20m 43s | Max: 21m 02s | Hits:  99%/2432  
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 52m 35s | Avg: 26m 17s | Max: 26m 30s | Hits:  83%/2432  
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 17m | Avg:  1h 17m | Max:  1h 17m | Hits:  67%/1216  
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 20h 38m | Avg:  1h 01m | Max:  1h 13m | Hits:  60%/23559 
      🟩 20                 Pass: 100%/24  | Total: 19h 46m | Avg: 49m 26s | Max:  1h 17m | Hits:  75%/28761 
    
  • 🟩 thrust: Pass: 100%/43 | Total: 23h 26m | Avg: 32m 43s | Max: 1h 04m | Hits: 77%/79625

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 38m 46s | Avg: 19m 23s | Max: 28m 01s | Hits:  89%/3706  
    🟩 cpu
      🟩 amd64              Pass: 100%/41  | Total: 22h 28m | Avg: 32m 53s | Max:  1h 04m | Hits:  77%/75920 
      🟩 arm64              Pass: 100%/2   | Total: 58m 10s | Avg: 29m 05s | Max: 30m 58s | Hits:  78%/3705  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  3h 08m | Avg: 37m 44s | Max: 56m 58s | Hits:  73%/9256  
      🟩 12.5               Pass: 100%/2   | Total:  1h 44m | Avg: 52m 12s | Max: 52m 59s | Hits:  71%/3704  
      🟩 12.8               Pass: 100%/36  | Total: 18h 33m | Avg: 30m 56s | Max:  1h 04m | Hits:  79%/66665 
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 58m 37s | Avg: 29m 18s | Max: 30m 11s | Hits:  78%/3704  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  3h 08m | Avg: 37m 44s | Max: 56m 58s | Hits:  73%/9256  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  1h 44m | Avg: 52m 12s | Max: 52m 59s | Hits:  71%/3704  
      🟩 nvcc12.8           Pass: 100%/34  | Total: 17h 35m | Avg: 31m 02s | Max:  1h 04m | Hits:  79%/62961 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 58m 37s | Avg: 29m 18s | Max: 30m 11s | Hits:  78%/3704  
      🟩 nvcc               Pass: 100%/41  | Total: 22h 28m | Avg: 32m 53s | Max:  1h 04m | Hits:  77%/75921 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  2h 05m | Avg: 31m 26s | Max: 33m 13s | Hits:  78%/7408  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 06m | Avg: 33m 14s | Max: 34m 05s | Hits:  78%/3704  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 05m | Avg: 32m 38s | Max: 33m 14s | Hits:  78%/3704  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 01m | Avg: 30m 31s | Max: 31m 19s | Hits:  78%/3704  
      🟩 Clang18            Pass: 100%/7   | Total:  2h 44m | Avg: 23m 32s | Max: 32m 43s | Hits:  84%/12964 
      🟩 GCC7               Pass: 100%/2   | Total:  1h 04m | Avg: 32m 23s | Max: 34m 15s | Hits:  78%/3706  
      🟩 GCC8               Pass: 100%/1   | Total: 32m 00s | Avg: 32m 00s | Max: 32m 00s | Hits:  78%/1853  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 07m | Avg: 33m 35s | Max: 34m 53s | Hits:  78%/3706  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 03m | Avg: 31m 47s | Max: 32m 39s | Hits:  78%/3706  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 10m | Avg: 35m 09s | Max: 35m 37s | Hits:  78%/3706  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 08m | Avg: 34m 27s | Max: 36m 16s | Hits:  78%/3706  
      🟩 GCC13              Pass: 100%/8   | Total:  3h 12m | Avg: 24m 02s | Max: 37m 07s | Hits:  86%/14824 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 48m | Avg: 54m 19s | Max: 56m 58s | Hits:  53%/3692  
      🟩 MSVC14.42          Pass: 100%/3   | Total:  2h 31m | Avg: 50m 28s | Max:  1h 04m | Hits:  58%/5538  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  1h 44m | Avg: 52m 12s | Max: 52m 59s | Hits:  71%/3704  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  8h 03m | Avg: 28m 25s | Max: 34m 05s | Hits:  80%/31484 
      🟩 GCC                Pass: 100%/19  | Total:  9h 19m | Avg: 29m 25s | Max: 37m 07s | Hits:  81%/35207 
      🟩 MSVC               Pass: 100%/5   | Total:  4h 20m | Avg: 52m 00s | Max:  1h 04m | Hits:  56%/9230  
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 44m | Avg: 52m 12s | Max: 52m 59s | Hits:  71%/3704  
    🟩 gpu
      🟩 rtx2080            Pass: 100%/33  | Total: 19h 26m | Avg: 35m 21s | Max: 56m 58s | Hits:  75%/61112 
      🟩 rtx4090            Pass: 100%/10  | Total:  4h 00m | Avg: 24m 00s | Max:  1h 04m | Hits:  85%/18513 
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total: 22h 05m | Avg: 35m 49s | Max:  1h 04m | Hits:  75%/68516 
      🟩 TestCPU            Pass: 100%/3   | Total: 48m 56s | Avg: 16m 18s | Max: 33m 23s | Hits:  89%/5551  
      🟩 TestGPU            Pass: 100%/3   | Total: 32m 17s | Avg: 10m 45s | Max: 11m 39s | Hits:  99%/5558  
    🟩 sm
      🟩 90;90a;100         Pass: 100%/1   | Total: 32m 42s | Avg: 32m 42s | Max: 32m 42s | Hits:  78%/1853  
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 12h 13m | Avg: 36m 40s | Max: 56m 58s | Hits:  74%/37031 
      🟩 20                 Pass: 100%/21  | Total: 10h 34m | Avg: 30m 12s | Max:  1h 04m | Hits:  80%/38888 
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 8m 03s | Avg: 4m 01s | Max: 5m 38s | Hits: 98%/280

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 ctk
      🟩 12.8               Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total:  8m 03s | Avg:  4m 01s | Max:  5m 38s | Hits:  98%/280   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 25s | Avg:  2m 25s | Max:  2m 25s | Hits:  98%/140   
      🟩 Test               Pass: 100%/1   | Total:  5m 38s | Avg:  5m 38s | Max:  5m 38s | Hits:  98%/140   
    
  • 🟩 python: Pass: 100%/1 | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 ctk
      🟩 12.8               Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 29m 37s | Avg: 29m 37s | Max: 29m 37s
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
+/- CUB
Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
+/- CUB
+/- Thrust
CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 90)

# Runner
65 linux-amd64-cpu16
9 windows-amd64-cpu16
6 linux-amd64-gpu-rtxa6000-latest-1
4 linux-arm64-cpu16
3 linux-amd64-gpu-rtx4090-latest-1
2 linux-amd64-gpu-rtx2080-latest-1
1 linux-amd64-gpu-h100-latest-1

@bernhardmgruber bernhardmgruber merged commit 8072358 into NVIDIA:main Feb 7, 2025
105 of 107 checks passed
@bernhardmgruber bernhardmgruber deleted the tune_parition branch February 7, 2025 08:34
Copy link
Contributor

github-actions bot commented Feb 7, 2025

Backport failed for branch/2.8.x, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin branch/2.8.x
git worktree add -d .worktree/backport-3617-to-branch/2.8.x origin/branch/2.8.x
cd .worktree/backport-3617-to-branch/2.8.x
git switch --create backport-3617-to-branch/2.8.x
git cherry-pick -x 8072358f8f0fedd940718979f995a75caf016d30

bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this pull request Feb 7, 2025
Co-authored-by: gonidelis <ggonidelis@nvidia.com>
bernhardmgruber added a commit that referenced this pull request Feb 7, 2025
Co-authored-by: gonidelis <ggonidelis@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants