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

Deprecate cub::FpLimits in favor of cuda::std::numeric_limits #3635

Merged
merged 1 commit into from
Feb 3, 2025

Conversation

bernhardmgruber
Copy link
Contributor

Pulled out of #3384.

Copy link
Contributor

🟨 CI finished in 1h 58m: Pass: 94%/89 | Total: 2d 15h | Avg: 42m 54s | Max: 1h 12m | Hits: 145%/10896
  • 🟨 cub: Pass: 88%/44 | Total: 1d 15h | Avg: 54m 31s | Max: 1h 12m | Hits: 84%/3512

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  88%/42  | Total:  1d 13h | Avg: 53m 57s | Max:  1h 12m | Hits:  84%/3512  
      🟩 arm64              Pass: 100%/2   | Total:  2h 13m | Avg:  1h 06m | Max:  1h 09m
    🔍 ctk: 12.6 🔍
      🟩 12.0               Pass: 100%/5   | Total:  5h 01m | Avg:  1h 00m | Max:  1h 06m | Hits:  86%/878   
      🟩 12.5               Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m
      🔍 12.6               Pass:  86%/37  | Total:  1d 08h | Avg: 52m 51s | Max:  1h 09m | Hits:  83%/2634  
    🔍 cudacxx: nvcc12.6 🔍
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  2h 07m | Avg:  1h 03m | Max:  1h 06m
      🟩 nvcc12.0           Pass: 100%/5   | Total:  5h 01m | Avg:  1h 00m | Max:  1h 06m | Hits:  86%/878   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m
      🔍 nvcc12.6           Pass:  85%/35  | Total:  1d 06h | Avg: 52m 15s | Max:  1h 09m | Hits:  83%/2634  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  2h 07m | Avg:  1h 03m | Max:  1h 06m
      🔍 nvcc               Pass:  88%/42  | Total:  1d 13h | Avg: 54m 05s | Max:  1h 12m | Hits:  84%/3512  
    🔍 sm: 90 🔍
      🔍 90                 Pass:  50%/2   | Total:  1h 00m | Avg: 30m 11s | Max: 32m 15s
      🟩 90a                Pass: 100%/1   | Total: 25m 51s | Avg: 25m 51s | Max: 25m 51s
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/20  | Total: 20h 23m | Avg:  1h 01m | Max:  1h 09m | Hits:  86%/2634  
      🔍 20                 Pass:  79%/24  | Total: 19h 35m | Avg: 48m 58s | Max:  1h 12m | Hits:  78%/878   
    🟨 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  4h 03m | Avg:  1h 00m | Max:  1h 02m
      🟩 Clang15            Pass: 100%/2   | Total:  1h 59m | Avg: 59m 30s | Max:  1h 02m
      🟩 Clang16            Pass: 100%/2   | Total:  2h 01m | Avg:  1h 00m | Max:  1h 01m
      🟩 Clang17            Pass: 100%/2   | Total:  1h 59m | Avg: 59m 37s | Max:  1h 02m
      🟨 Clang18            Pass:  85%/7   | Total:  5h 56m | Avg: 50m 56s | Max:  1h 09m
      🟩 GCC7               Pass: 100%/2   | Total:  2h 02m | Avg:  1h 01m | Max:  1h 05m
      🟩 GCC8               Pass: 100%/1   | Total: 57m 08s | Avg: 57m 08s | Max: 57m 08s
      🟩 GCC9               Pass: 100%/2   | Total:  1h 58m | Avg: 59m 09s | Max:  1h 00m
      🟩 GCC10              Pass: 100%/2   | Total:  2h 02m | Avg:  1h 01m | Max:  1h 01m
      🟩 GCC11              Pass: 100%/2   | Total:  1h 58m | Avg: 59m 14s | Max: 59m 14s
      🟨 GCC12              Pass:  75%/4   | Total:  3h 02m | Avg: 45m 38s | Max:  1h 03m
      🟨 GCC13              Pass:  62%/8   | Total:  5h 03m | Avg: 37m 59s | Max:  1h 03m
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 13m | Avg:  1h 06m | Max:  1h 07m | Hits:  86%/1756  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 09m | Hits:  82%/1756  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m
    🟨 cxx_family
      🟨 Clang              Pass:  94%/17  | Total: 16h 00m | Avg: 56m 28s | Max:  1h 09m
      🟨 GCC                Pass:  80%/21  | Total: 17h 05m | Avg: 48m 48s | Max:  1h 05m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 31m | Avg:  1h 07m | Max:  1h 09m | Hits:  84%/3512  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m
    🟨 gpu
      🟨 h100               Pass:  50%/2   | Total:  1h 00m | Avg: 30m 11s | Max: 32m 15s
      🟨 rtxa6000           Pass:  50%/8   | Total:  4h 22m | Avg: 32m 46s | Max: 58m 18s
      🟩 v100               Pass: 100%/34  | Total:  1d 10h | Avg:  1h 01m | Max:  1h 12m | Hits:  84%/3512  
    🟨 jobs
      🟩 Build              Pass: 100%/37  | Total:  1d 13h | Avg:  1h 00m | Max:  1h 12m | Hits:  84%/3512  
      🟥 DeviceLaunch       Pass:   0%/1   | Total: 28m 24s | Avg: 28m 24s | Max: 28m 24s
      🟥 GraphCapture       Pass:   0%/1   | Total: 19m 45s | Avg: 19m 45s | Max: 19m 45s
      🟥 HostLaunch         Pass:   0%/3   | Total:  1h 30m | Avg: 30m 17s | Max: 32m 15s
      🟩 TestGPU            Pass: 100%/2   | Total: 39m 49s | Avg: 19m 54s | Max: 21m 35s
    
  • 🟩 thrust: Pass: 100%/42 | Total: 23h 06m | Avg: 33m 00s | Max: 1h 09m | Hits: 174%/7384

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

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total:  7m 03s | Avg:  3m 31s | Max:  4m 49s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 14s | Avg:  2m 14s | Max:  2m 14s
      🟩 Test               Pass: 100%/1   | Total:  4m 49s | Avg:  4m 49s | Max:  4m 49s
    
  • 🟩 python: Pass: 100%/1 | Total: 26m 05s | Avg: 26m 05s | Max: 26m 05s

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

👃 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
8 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

Copy link
Contributor

github-actions bot commented Feb 3, 2025

🟩 CI finished in 1h 50m: Pass: 100%/90 | Total: 2d 17h | Avg: 43m 29s | Max: 1h 17m | Hits: 177%/12730
  • 🟩 cub: Pass: 100%/44 | Total: 1d 16h | Avg: 55m 28s | Max: 1h 17m | Hits: 84%/3500

    🟩 cpu
      🟩 amd64              Pass: 100%/42  | Total:  1d 14h | Avg: 55m 12s | Max:  1h 17m | Hits:  84%/3500  
      🟩 arm64              Pass: 100%/2   | Total:  2h 02m | Avg:  1h 01m | Max:  1h 01m
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  5h 04m | Avg:  1h 00m | Max:  1h 04m | Hits:  86%/875   
      🟩 12.5               Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 14m
      🟩 12.8               Pass: 100%/37  | Total:  1d 09h | Avg: 53m 54s | Max:  1h 17m | Hits:  84%/2625  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  2h 08m | Avg:  1h 04m | Max:  1h 06m
      🟩 nvcc12.0           Pass: 100%/5   | Total:  5h 04m | Avg:  1h 00m | Max:  1h 04m | Hits:  86%/875   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 14m
      🟩 nvcc12.8           Pass: 100%/35  | Total:  1d 07h | Avg: 53m 19s | Max:  1h 17m | Hits:  84%/2625  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  2h 08m | Avg:  1h 04m | Max:  1h 06m
      🟩 nvcc               Pass: 100%/42  | Total:  1d 14h | Avg: 55m 03s | Max:  1h 17m | Hits:  84%/3500  
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  3h 57m | Avg: 59m 23s | Max:  1h 04m
      🟩 Clang15            Pass: 100%/2   | Total:  2h 00m | Avg:  1h 00m | Max:  1h 02m
      🟩 Clang16            Pass: 100%/2   | Total:  1h 58m | Avg: 59m 20s | Max: 59m 45s
      🟩 Clang17            Pass: 100%/2   | Total:  2h 07m | Avg:  1h 03m | Max:  1h 03m
      🟩 Clang18            Pass: 100%/7   | Total:  6h 01m | Avg: 51m 42s | Max:  1h 06m
      🟩 GCC7               Pass: 100%/2   | Total:  2h 00m | Avg:  1h 00m | Max:  1h 03m
      🟩 GCC8               Pass: 100%/1   | Total: 57m 44s | Avg: 57m 44s | Max: 57m 44s
      🟩 GCC9               Pass: 100%/2   | Total:  2h 07m | Avg:  1h 03m | Max:  1h 05m
      🟩 GCC10              Pass: 100%/2   | Total:  2h 05m | Avg:  1h 02m | Max:  1h 03m
      🟩 GCC11              Pass: 100%/2   | Total:  1h 57m | Avg: 58m 50s | Max:  1h 00m
      🟩 GCC12              Pass: 100%/2   | Total:  1h 59m | Avg: 59m 44s | Max:  1h 00m
      🟩 GCC13              Pass: 100%/10  | Total:  6h 23m | Avg: 38m 20s | Max:  1h 15m
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 11m | Avg:  1h 05m | Max:  1h 08m | Hits:  86%/1750  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 29m | Avg:  1h 14m | Max:  1h 17m | Hits:  82%/1750  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 14m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total: 16h 06m | Avg: 56m 51s | Max:  1h 06m
      🟩 GCC                Pass: 100%/21  | Total: 17h 31m | Avg: 50m 04s | Max:  1h 15m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 40m | Avg:  1h 10m | Max:  1h 17m | Hits:  84%/3500  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 14m
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 49m 34s | Avg: 24m 47s | Max: 25m 39s
      🟩 rtx2080            Pass: 100%/34  | Total:  1d 11h | Avg:  1h 02m | Max:  1h 17m | Hits:  84%/3500  
      🟩 rtxa6000           Pass: 100%/8   | Total:  4h 10m | Avg: 31m 21s | Max:  1h 05m
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total:  1d 14h | Avg:  1h 01m | Max:  1h 17m | Hits:  84%/3500  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 20m 55s | Avg: 20m 55s | Max: 20m 55s
      🟩 GraphCapture       Pass: 100%/1   | Total: 16m 32s | Avg: 16m 32s | Max: 16m 32s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 11m | Avg: 23m 53s | Max: 24m 16s
      🟩 TestGPU            Pass: 100%/2   | Total: 40m 50s | Avg: 20m 25s | Max: 20m 59s
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 49m 34s | Avg: 24m 47s | Max: 25m 39s
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 15m | Avg:  1h 15m | Max:  1h 15m
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 20h 40m | Avg:  1h 02m | Max:  1h 17m | Hits:  86%/2625  
      🟩 20                 Pass: 100%/24  | Total: 20h 00m | Avg: 50m 00s | Max:  1h 15m | Hits:  78%/875   
    
  • 🟩 thrust: Pass: 100%/43 | Total: 1d 00h | Avg: 33m 29s | Max: 1h 06m | Hits: 213%/9230

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

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 ctk
      🟩 12.8               Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total:  7m 17s | Avg:  3m 38s | Max:  4m 54s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 23s | Avg:  2m 23s | Max:  2m 23s
      🟩 Test               Pass: 100%/1   | Total:  4m 54s | Avg:  4m 54s | Max:  4m 54s
    
  • 🟩 python: Pass: 100%/1 | Total: 25m 46s | Avg: 25m 46s | Max: 25m 46s

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

👃 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 enabled auto-merge (squash) February 3, 2025 12:58
c2h/include/c2h/bfloat16.cuh Outdated Show resolved Hide resolved
template <>
struct CUB_NS_QUALIFIER::FpLimits<bfloat16_t>
struct __is_extended_floating_point<bfloat16_t> : true_type
Copy link
Collaborator

Choose a reason for hiding this comment

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

question: Can you help me understand where this is used? My mental model of of our custom bfloat16_t and half_t is that we use them to "emulate" the native extended fp types in the absence of those. The reason I am asking is that I would like to make sure we're not promoting these "emulated" wrapper types to be a "real extended fp type" in places where it isn't.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's used by cuda::is_floating_point and cuda::std::numeric_limits. Adding bfloat16_t here allows __numeric_limits_impl to be chosen internally by cuda::std::numeric_limits. It also makes sure that since cuda::is_floating_point<__nv_bfloat16> is true, cuda::is_floating_point<bfloat16_t> is also true. So in short, it alignes the traits and limits for __nv_bfloat16 and its wrapper type.

The same goes for __half and half_t.

Copy link
Contributor

github-actions bot commented Feb 3, 2025

🟩 CI finished in 1h 52m: Pass: 100%/90 | Total: 2d 17h | Avg: 43m 27s | Max: 1h 21m | Hits: 177%/12730
  • 🟩 cub: Pass: 100%/44 | Total: 1d 16h | Avg: 55m 16s | Max: 1h 21m | Hits: 84%/3500

    🟩 cpu
      🟩 amd64              Pass: 100%/42  | Total:  1d 14h | Avg: 54m 44s | Max:  1h 21m | Hits:  84%/3500  
      🟩 arm64              Pass: 100%/2   | Total:  2h 12m | Avg:  1h 06m | Max:  1h 10m
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  5h 19m | Avg:  1h 03m | Max:  1h 07m | Hits:  86%/875   
      🟩 12.5               Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 13m
      🟩 12.8               Pass: 100%/37  | Total:  1d 08h | Avg: 53m 14s | Max:  1h 21m | Hits:  84%/2625  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  1h 59m | Avg: 59m 59s | Max:  1h 02m
      🟩 nvcc12.0           Pass: 100%/5   | Total:  5h 19m | Avg:  1h 03m | Max:  1h 07m | Hits:  86%/875   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 13m
      🟩 nvcc12.8           Pass: 100%/35  | Total:  1d 06h | Avg: 52m 51s | Max:  1h 21m | Hits:  84%/2625  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 59m | Avg: 59m 59s | Max:  1h 02m
      🟩 nvcc               Pass: 100%/42  | Total:  1d 14h | Avg: 55m 02s | Max:  1h 21m | Hits:  84%/3500  
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  4h 05m | Avg:  1h 01m | Max:  1h 06m
      🟩 Clang15            Pass: 100%/2   | Total:  1h 58m | Avg: 59m 26s | Max:  1h 02m
      🟩 Clang16            Pass: 100%/2   | Total:  2h 00m | Avg:  1h 00m | Max:  1h 02m
      🟩 Clang17            Pass: 100%/2   | Total:  1h 51m | Avg: 55m 43s | Max: 56m 34s
      🟩 Clang18            Pass: 100%/7   | Total:  5h 47m | Avg: 49m 39s | Max:  1h 10m
      🟩 GCC7               Pass: 100%/2   | Total:  1h 57m | Avg: 58m 42s | Max:  1h 00m
      🟩 GCC8               Pass: 100%/1   | Total:  1h 02m | Avg:  1h 02m | Max:  1h 02m
      🟩 GCC9               Pass: 100%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 04m
      🟩 GCC10              Pass: 100%/2   | Total:  1h 59m | Avg: 59m 41s | Max:  1h 02m
      🟩 GCC11              Pass: 100%/2   | Total:  1h 56m | Avg: 58m 28s | Max:  1h 01m
      🟩 GCC12              Pass: 100%/2   | Total:  2h 03m | Avg:  1h 01m | Max:  1h 05m
      🟩 GCC13              Pass: 100%/10  | Total:  6h 24m | Avg: 38m 29s | Max:  1h 14m
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 23m | Avg:  1h 11m | Max:  1h 15m | Hits:  86%/1750  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 31m | Avg:  1h 15m | Max:  1h 21m | Hits:  82%/1750  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 13m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total: 15h 43m | Avg: 55m 31s | Max:  1h 10m
      🟩 GCC                Pass: 100%/21  | Total: 17h 31m | Avg: 50m 04s | Max:  1h 14m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 54m | Avg:  1h 13m | Max:  1h 21m | Hits:  84%/3500  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 13m
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 50m 35s | Avg: 25m 17s | Max: 25m 50s
      🟩 rtx2080            Pass: 100%/34  | Total:  1d 11h | Avg:  1h 03m | Max:  1h 21m | Hits:  84%/3500  
      🟩 rtxa6000           Pass: 100%/8   | Total:  3h 53m | Avg: 29m 11s | Max: 59m 14s
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total:  1d 14h | Avg:  1h 01m | Max:  1h 21m | Hits:  84%/3500  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 20m 08s | Avg: 20m 08s | Max: 20m 08s
      🟩 GraphCapture       Pass: 100%/1   | Total: 15m 27s | Avg: 15m 27s | Max: 15m 27s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 09m | Avg: 23m 05s | Max: 24m 45s
      🟩 TestGPU            Pass: 100%/2   | Total: 39m 52s | Avg: 19m 56s | Max: 20m 52s
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 50m 35s | Avg: 25m 17s | Max: 25m 50s
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 14m | Avg:  1h 14m | Max:  1h 14m
    🟩 std
      🟩 17                 Pass: 100%/20  | Total: 20h 35m | Avg:  1h 01m | Max:  1h 15m | Hits:  86%/2625  
      🟩 20                 Pass: 100%/24  | Total: 19h 55m | Avg: 49m 49s | Max:  1h 21m | Hits:  79%/875   
    
  • 🟩 thrust: Pass: 100%/43 | Total: 1d 00h | Avg: 33m 36s | Max: 1h 09m | Hits: 213%/9230

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

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 ctk
      🟩 12.8               Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total:  7m 26s | Avg:  3m 43s | Max:  5m 05s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 21s | Avg:  2m 21s | Max:  2m 21s
      🟩 Test               Pass: 100%/1   | Total:  5m 05s | Avg:  5m 05s | Max:  5m 05s
    
  • 🟩 python: Pass: 100%/1 | Total: 27m 08s | Avg: 27m 08s | Max: 27m 08s

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

👃 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 d85c66a into NVIDIA:main Feb 3, 2025
101 of 104 checks passed
github-actions bot pushed a commit that referenced this pull request Feb 3, 2025
Copy link
Contributor

github-actions bot commented Feb 3, 2025

Successfully created backport PR for branch/2.8.x:

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