-
Notifications
You must be signed in to change notification settings - Fork 182
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
Add standardized extended floating point types with complete implementations #1011
Comments
In the MatX we had to create our own wrappers to support |
@cliffburdick if you drop me a link I am happy to do the leg work of porting those |
To be clear, we won't just be trivially porting the MatX types. We'd need to evaluate the diff between CUTLASS, MatX, and the various other solutions to design a standard solution and then build that. |
@miscco our half file is here: https://github.com/NVIDIA/MatX/blob/main/include/matx/core/half.h I agree they should not be ported as-is. I don't know if the CUTLASS ones contain all the stuff we have, but I think the end goal would be once |
Closing this as superseded by #1665 |
As a CUDA user, I care about extended floating point types like
__half
or__nv_bfloat16
. These types are deficient in a variety of ways as they may be lacking certain functionality one would expect from such a type.We should add equivalent types to libcu++ that have both host and device implementations.
Ideally, these should provide seamless transition to a built-in compiler provided type such that if I write my code using
cuda::float16
that it will use the built-in type when available and fall back to a library implementation if not.CUTLASS has implementations that we should use as a starting point.
See also:
std::complex<__half>
? libcudacxx#95cuda::std::numeric_limits<__half>
#987Tasks
The text was updated successfully, but these errors were encountered: