NVIDIA / NVIDIA/cccl

Specialize relevant `cuda::(std::)` types for `__half/bfloat16/fp8`

Open
#525 14 comments 0 reactions 1 assignee Claimed by @griwes View on GitHub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

The CUDA extended floating point types [`__half`](https://docs.nvidia.com/cuda/cuda-math-api/struct____half.html#struct____half) and [`__nv_bfloat16`](https://docs.nvidia.com/cuda/cuda-math-api/struct____nv__bfloat16.html#struct____nv__bfloat16) and fp8 (and others) are important types for many CUDA C++ developers.

As a CUDA C++ developer, I'd like it if relevant CCCL utilities like ``, `atomic`, `complex` all worked with these types.

### Tasks
- [x] https://github.com/NVIDIA/cccl/issues/1139
- [x] #3044
- [x] #3379
- [x] #3464
- [x] Specializations for `cuda::std::numeric_limits` for FP8 types
- [ ] Specializations for ``
- [ ] Specializations of complex for fp8?
- [ ] Overloads for functions for cudart extended floating-point types

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.