---
id: pr-cccl-cub-5978
repo: NVIDIA/cccl
pr: 5978
title: '[BACKPORT 3.1] Use forward declarations of extended floating point types instead of including the headers (#5846)'
author: miscco
date: '2025-09-24'
url: https://github.com/NVIDIA/cccl/pull/5978
source_category: upstream-code
architectures:
- sm100
tags:
- fp8
techniques: []
hardware_features:
- fp8
kernel_types: []
languages: []
captured_at: '2026-05-16'
status: merged
merge_sha: 62b14d19b77cfc5b549c97177ea80030e25ba5ec
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- cub/cub/thread/thread_reduce.cuh
- cub/cub/thread/thread_simd.cuh
- libcudacxx/include/cuda/std/__cccl/extended_data_types.h
- libcudacxx/include/cuda/std/__tuple_dir/vector_types.h
- libcudacxx/include/cuda/std/__type_traits/is_extended_floating_point.h
- libcudacxx/include/cuda/std/__type_traits/num_bits.h
- libcudacxx/include/cuda/std/__type_traits/promote.h
- libcudacxx/test/libcudacxx/cuda/float/half_common_type.pass.cpp
- python/cuda_cccl/pyproject.toml
- thrust/thrust/system/cuda/detail/sort.h
artifact_dir: evidence/pull-bundles/cccl-cub/gh-5978
head_ref_oid: c719fb0dc2a7f14255b3aa3408ca88991bd6f422
---
# [BACKPORT 3.1] Use forward declarations of extended floating point types instead of including the headers (#5846)

- Repository: `NVIDIA/cccl`
- PR: [5978](https://github.com/NVIDIA/cccl/pull/5978)
- Decision: `Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.`
- Reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.

## Changed Paths

- `cub/cub/thread/thread_reduce.cuh`
- `cub/cub/thread/thread_simd.cuh`
- `libcudacxx/include/cuda/std/__cccl/extended_data_types.h`
- `libcudacxx/include/cuda/std/__tuple_dir/vector_types.h`
- `libcudacxx/include/cuda/std/__type_traits/is_extended_floating_point.h`
- `libcudacxx/include/cuda/std/__type_traits/num_bits.h`
- `libcudacxx/include/cuda/std/__type_traits/promote.h`
- `libcudacxx/test/libcudacxx/cuda/float/half_common_type.pass.cpp`
- `python/cuda_cccl/pyproject.toml`
- `thrust/thrust/system/cuda/detail/sort.h`

## Evidence Bundle

`evidence/pull-bundles/cccl-cub/gh-5978`
