NVIDIA / NVIDIA/cccl

[EPIC] Extended Floating-Point Support

Open
#31 0 comments 0 reactions 1 assignee Claimed by @griwes View on GitHub
libcu++
Dominant language
C++
Stars
2.5k
Forks
487
Avg merge
2d 7h
Merged PRs (30d)
296

Description

We want to better support users in using extended floating-point types like `__half` and `bfloat16` in our libraries.

One of the major projects would be adding new extended floating-point library types to libcu++ for things like `__half` and `bfloat16`. The main goals would be:
* Works in host/device code
* Seamlessly uses equivalent core language type if/when the compiler supports it
* Conversion to/from existing cudart types
* Eventually supersede the cudart types

CUTLASS already has implementations of these types we could use as a starting point.

### Tasks for new types
- [x] https://github.com/NVIDIA/cccl/issues/1451
- [ ] https://github.com/NVIDIA/cccl/issues/1665
- [ ] https://github.com/NVIDIA/cccl/issues/2161
- [ ] https://github.com/NVIDIA/cccl/issues/2188
- [ ] https://github.com/NVIDIA/cccl/issues/2186
- [ ] https://github.com/NVIDIA/cccl/issues/2184
- [ ] https://github.com/NVIDIA/cccl/issues/2185
- [ ] https://github.com/NVIDIA/cccl/issues/2187

### Tasks for existing \_\_half/bfloat types
- [ ] https://github.com/NVIDIA/cccl/issues/525

### Tasks for extended floating-point vector types
- [ ] Provide extended floating-point vector types (e.g., half2)
- [ ] Provide cmath for extended floating-point vector 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.