-
Notifications
You must be signed in to change notification settings - Fork 282
Implement fp properties #4213
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
Implement fp properties #4213
Conversation
| // __fp_exp_nbits_v | ||
|
|
||
| template <__fp_format _Fmt> | ||
| inline constexpr int __fp_exp_nbits_v = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am wondering whether this is something we want to derive from numeric_limits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some fundamental differences between the variables defined here and in numeric_limits. Example:
- the
numeric_limits::digitsdoes not specify if the type has the implict bit or not - the
numeric_limits::min_exponentandnumeric_limits::max_exponentare defined in a different way than the actual minimum and maximum exponent values
For these reasons I've decided to implement our own fp properties. We can then use them to simplify the implementation of numeric_limits by a lot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, I am trying to avoid circular dependencies because __cccl_fp requires conversion rank which requires numeric_limits which requires __fp_from_storage which requires __cccl_fp
|
/ok to test |
🟩 CI finished in 2h 01m: Pass: 100%/162 | Total: 3d 08h | Avg: 29m 42s | Max: 1h 26m | Hits: 63%/252622
|
| Project | |
|---|---|
| CCCL Infrastructure | |
| +/- | libcu++ |
| CUB | |
| Thrust | |
| CUDA Experimental | |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| Catch2Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| CCCL Infrastructure | |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
🏃 Runner counts (total jobs: 162)
| # | Runner |
|---|---|
| 113 | linux-amd64-cpu16 |
| 15 | windows-amd64-cpu16 |
| 12 | linux-arm64-cpu16 |
| 8 | linux-amd64-gpu-rtx2080-latest-1 |
| 6 | linux-amd64-gpu-rtxa6000-latest-1 |
| 5 | linux-amd64-gpu-h100-latest-1 |
| 3 | linux-amd64-gpu-rtx4090-latest-1 |
This PR implements internal fp properties module.