Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
blelbach
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
by
blelbach
6y ago
> I get the impression nvidia puts out a lot of their hardware supporting software themselves because they are hostile to open source community collaboration in general. This could be because nvidia is a big fan of vendor lock in. It
2.
▲
by
blelbach
6y ago
I'm not sure how making a large contribution to the C++ Standard is a problem?
3.
▲
by
blelbach
6y ago
That involves a few diagrams, but essentially, we have two layers: - 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
4.
▲
by
blelbach
6y ago
We change the mangling of all the symbols by changing the inline namespace that they are in, regardless of whether or not functional ABI breaks occurred. That's why it says the ABI is broken on major releases. We do this to try and lou
5.
▲
by
blelbach
6y ago
Not your fault, we don't make it easy. The acroynms are terrible! That's why I typically spell out the full term. My first week at NVIDIA: Me, to very senior engineer: something something UVM. Very senior engineer: What's U
6.
▲
by
blelbach
6y ago
> I expect you don't want to have to recompile an entire c++ stdlib every time you recompile your own code. That's basically our current model, I discussed this on Twitter recently. https://twitter.com/blelbach&
7.
▲
by
blelbach
6y ago
> It’s a gift. I wouldn't say it's a gift, though; it's part of what you pay for when you buy one of our products. Sure, it's not listed as a spec on the box, but users expect that we're going to provide them wit
8.
▲
by
blelbach
6y ago
You'll notice some people from NVIDIA are authors on those papers too! :)
9.
▲
by
blelbach
6y ago
Yep, that's correct. My team develops Thrust, CUB, and libcu++.
10.
▲
by
blelbach
6y ago
Since Unified Memory. UVA, or Unified Virtual Addressing, just ensured that a GPU-private object wouldn't have the same address as a CPU-private object.
11.
▲
by
blelbach
6y ago
The majority of software engineers at NVIDIA write software that runs on the host CPU. The majority of software written at NVIDIA (by any metric, lines of code, number of projects, etc) runs either solely on the CPU, or on both the CPU and
12.
▲
by
blelbach
6y ago
> I did not say the library controls anything, Nvidia controls the library : its features, its roadmap, its bugs corrections, development efforts (people) etc. All these choices are made by Nvidia. libcu++ is a fork of LLVM's libc++
13.
▲
by
blelbach
6y ago
> A lot of hardware has builtin software, either inside a firmware or as a driver. Correct. > Keeping the software part in firmware lets customer free to use any kind of OS. Do you mean firmware, or firmware and driver? You can't
14.
▲
by
blelbach
6y ago
> To be clear, I don't think nvidia-paid developers should be able to write C++ Code for a nvidia-sold GPU. I'm not sure what you're saying here? You think another company or organization should write all the software for
15.
▲
by
blelbach
6y ago
> IMHO, the question is not that we need code to run on CPUs and GPUs , we do need that, The question is whether the GPU seller has to control both sides. The question is not about running code on CPUs, or running code on GPUs. It's
16.
▲
by
blelbach
6y ago
> It is not their role to do that. You are incorrect. NVIDIA employs more software engineers than hardware engineers. > We need smarter and more shining GPUs from nvidia, not software. Software is a part of the GPU. You get better GPU
17.
▲
by
blelbach
6y ago
> 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 f
18.
▲
by
blelbach
6y ago
> A pathetic attempt to lock developers into their hardware Ah-ha, you've caught us! Our plan is to lock you into our hardware by implementing Standard C++. Once you are all writing code in Standard C++, then you won't be able
19.
▲
by
blelbach
6y ago
> What do you mean about running in the same memory space? Your operating system doesn’t allow that. Is your concern about using host memory? Actually, the basis of our modern GPU compute platform is a technology called Unified Memory, w
20.
▲
by
blelbach
6y ago
NVIDIA employs more software engineers than hardware engineers. > Why do they need to run software in the same memory space as my mail reader ? It is a lot more expensive to build functionality and fix bugs in silicon than it is to do th
21.
▲
by
blelbach
6y ago
"cu" is a pretty common prefix for CUDA libraries. cuBLAS, cuTENSOR, CUTLASS, CUB, etc. It gets worse if you try to spell libcu++ without pluses: libcuxx libcupp (I didn't hate this one but my team disliked it). We settled on
22.
▲
by
blelbach
6y ago
Yep, this is a good summary (good enough that perhaps I should put something similar in the docs).
23.
▲
by
blelbach
6y ago
https://youtu.be/75LcDvlEIYw https://youtu.be/VogqOscJYvk
24.
▲
by
blelbach
6y ago
Today, you can use the library with NVCC, and the subset is small. We'll be focusing on expanding that subset over time. Our end goal is to enable the full C++ Standard Library. The current feature set is just a pit stop on the way the
25.
▲
by
blelbach
6y ago
GPUs are parallel processors. So, yes, synchronization primitives are the highest priority. We focused on things that require /different/ implementations in host and device code. The way you implement std::binary_search is the sam
26.
▲
by
blelbach
6y ago
We employ more software engineers than hardware engineers. Our hardware doesn't really do much in isolation, software is part of the product.
27.
▲
by
blelbach
9y ago
Twitter coverage of the keynote: https://twitter.com/CppCon/status/912742896905863168
28.
▲
At CppCon2017 Google announced they're open-sourcing their core libraries Abseil
(opensource.googleblog.com)
3 points
by
blelbach
9y ago
|
1 comments