Earlier quoted context omitted.
> apparently only a small bit of the library is actually implemented. Yep. It's an incremental project. But stay tuned. > I'm somewhat suspicious of the presumption of us using NVIDIA's version of the standard library for our host-side work. Today, when using libcu++ with NVCC, it's opt-in and doesn't interfere with your host standard library. I get your concern, but a lot of the restrictions of today's GPU toolchain…
How this library works? There appears a llvm libcxx bundled in as part of the repo. What's the purpose of that libcxx?
- the libcu++ layer, which has some of our extensions and implementations specific to our platform. - the libc++ layer, which is a modified upstream libc++.
A header in the libcu++ layer defines the libc++ internal macros in a certain way, and then includes the applicable libc++ header.
This is the current architecture, but we're moving away towards a more integrated approach where almost everything is in the libc++ layer.