yaxunl added a comment. In D102507#2760025 <https://reviews.llvm.org/D102507#2760025>, @tra wrote:
> In effect this patch applies `__host__ __device__` to a subset of the > standard library headers and whatever headers *they* happen to include. While > it may happen to work, I'm not at all confident that it does not create > interesting issues. > > Considering that the patch only works with libc++ anyways, perhaps it's time > to make (parts) of libc++ itself usable from CUDA/HIP, instead of hacking > around it in the wrappers? > > @rsmith Richard, who would be the right person to discuss the standard > library changes we may need? ping. If we are allowed to make changes to libc++ we may have cleaner implementation for supporting libc++ in HIP device functions. Currently by default libc++ functions are host functions except constexpr functions. Except constexpr functions, we can't call libc++ host functions in HIP device functions. Our goal is to make libc++ functions `__host__ __device__` functions so that they can be called in HIP device functions. We may not be able to support all libc++ functions, e.g. file I/O, threads, but at least we should be able to support some of them, e.g. type_traits, functional, containers. We do this by supporting the underlying functions e.g. malloc/free on device. The change will be NFC for other languages. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102507/new/ https://reviews.llvm.org/D102507 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits