[PATCH] D90409: [HIP] Math Headers to use type promotion

Yaxun Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 4 07:37:59 PST 2020


yaxunl added a comment.

In D90409#2372183 <https://reviews.llvm.org/D90409#2372183>, @tra wrote:

> In D90409#2372042 <https://reviews.llvm.org/D90409#2372042>, @yaxunl wrote:
>
>>> Practically the behavior is the same since they all promote integer types to double. This matches the C++ behavior. However the HIP change will make it conform to C++ for a target supporting long double whereas the previous header did not.
>>
>> Sorry I mean the change can make the header extendable to `long double` easily although it does not yet. Another thing is that it allows resolution of mixed argument types with _Float16.
>
> OK. This makes more sense now. Thank you for the explanation.
>
> While this does solve one particular instance of the issue, we can't jsut copy/paste bits of the standard library forever. We need something more robust.
> NVIDIA now has their own fork of the standard library https://github.com/NVIDIA/libcudacxx and that may be a good starting point.
> I think at some point we (HIP & CUDA owners) need to talk to libc++ maintainers and see if we can find a better way to extend the standard library to CUDA/HIP.

Agree. A seamless native libc++ support for CUDA/HIP is very attractive. Even if just partial support. At least math functions to start with.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90409/new/

https://reviews.llvm.org/D90409



More information about the cfe-commits mailing list