---
id: pr-cccl-cub-8351
repo: NVIDIA/cccl
pr: 8351
title: Fix and improve vector type traits
author: davebayer
date: '2026-05-13'
url: https://github.com/NVIDIA/cccl/pull/8351
source_category: upstream-code
architectures:
- sm100
tags:
- fp4
- fp8
techniques:
- vectorized-loads
hardware_features:
- fp4
- fp8
kernel_types: []
languages: []
captured_at: '2026-05-16'
status: merged
merge_sha: 49266d7a34e23f9b72ad192e9b4da9f258c8a0b4
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- docs/libcudacxx/extended_api/type_traits/vector_types.rst
- libcudacxx/include/cuda/__type_traits/is_vector_type.h
- libcudacxx/include/cuda/__type_traits/scalar_type.h
- libcudacxx/include/cuda/__type_traits/vector_size.h
- libcudacxx/include/cuda/__type_traits/vector_type.h
- libcudacxx/include/cuda/type_traits
- libcudacxx/test/libcudacxx/cuda/type_traits/is_bitwise_comparable.basic_types.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/is_extended_fp_vector_type_v.compile.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.basic_types.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/is_vector_type.compile.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/scalar_type.compile.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/vector_size.compile.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/vector_type.compile.pass.cpp
- libcudacxx/test/libcudacxx/libcxx/type_traits/vector_type.compile.pass.cpp
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8351
head_ref_oid: a1541d3686d9f1065753eb74c5930107d8e45176
---
# Fix and improve vector type traits

- Repository: `NVIDIA/cccl`
- PR: [8351](https://github.com/NVIDIA/cccl/pull/8351)
- 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

- `docs/libcudacxx/extended_api/type_traits/vector_types.rst`
- `libcudacxx/include/cuda/__type_traits/is_vector_type.h`
- `libcudacxx/include/cuda/__type_traits/scalar_type.h`
- `libcudacxx/include/cuda/__type_traits/vector_size.h`
- `libcudacxx/include/cuda/__type_traits/vector_type.h`
- `libcudacxx/include/cuda/type_traits`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_bitwise_comparable.basic_types.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_extended_fp_vector_type_v.compile.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.basic_types.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_vector_type.compile.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/scalar_type.compile.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/vector_size.compile.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/vector_type.compile.pass.cpp`
- `libcudacxx/test/libcudacxx/libcxx/type_traits/vector_type.compile.pass.cpp`

## Evidence Bundle

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