4 ms·
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. Until
by gj_78 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. Until I buy a CPU from nvidia I want to keep some kind of independence.
When will we be able to use a future riscv-64 CPU with an nvidia GPU ? we will let the answer to nvidia ?
- dahart 6y agoYou can use this library to write code that runs on both risc-v and a GPU! You seem to be pretty confused about what this library is. It’s not exerting any control. It’s open source! It’s strictly optional, and it only allows developers to do something they actually want, to write code that will compile for any type of processor that a modern c++ compiler can target.
- gj_78 6y agoAgain, I see what you mean. I am even against nvidia advising the developers to use such or such C++ library (be it GNU). It is not their role to do that. We need smarter and more shining GPUs from nvidia, not software. I would say .... The hardware must be sold independently of the software ... but it is a bit too complex, I know.
- dahart 6y agoI'm not understanding your point at all. You don't think developers should be able to write C++ code for the GPU? What do you even mean about 'it is not their role to do that.' and 'hardware must be sold independently of the software'?? Why are you saying this? Software interfaces are critical for all GPUs and all CPUs, just ask AMD & Intel. There is no such thing as CPU or GPU hardware independent of software. Plus, the specific library here is being sold independently of the hardware, it is doing exactly what you say you want, it's separate and doesn't require having any other nvidia hardware or software. (I can't think of any good reasons to use it without having some nvidia hardware, but it is technically independent, as you wish.)
- gj_78 6y ago> You don't think developers should be able to write C++ code for the GPU? To be clear, I don't think nvidia-paid developers should be able to write C++ Code for a nvidia-sold GPU. The world will be better if any developer (paid by nivida or not) is able to write code for any GPU (sold by nvidia or not). It is not nvidia role to say how or when software will be written. Their hardware is good and that's more than OK. AI/CUDA code written specifically for nvidia is useless/deprecated in the long term. A lot of brain waste.
- dahart 6y agoWith libcu++, Nvidia is not saying how or when software should be written. Because the library is meeting the C++ standard, it does exactly what you said you want, it allows any developer to write code for any GPU (or CPU!) The library is doing the thing you‘re asking for. AMD & Intel can support the same code with only namespace changes, using their own version, because it’s open and written to the open standard.
- jki275 6y agoThat doesn’t make any sense. You’re free to write whatever you want. This is Nvidia providing interfaces to their hardware for those of us who don’t want to write them for ourselves. It’s a gift. Take it or don’t. How in the world you can say Nvidia shouldn’t be allowed to write software for their GPUs makes no sense at all. Should the government stop them? Any developer can write anything they want - but Nvidia is obviously going to support their own hardware. How does it make any sense otherwise? All code is “deprecated in the long term” for a long enough “long term”. That doesn’t equal useless. Your comment is nonsensical.
- gj_78 6y agoI have nothing against the library itself, rather the fact that it is made by the hardware provider. Good or not, It looks like a marketing goodie given away by the manufacturer. History shows that hardware providers are not good at maintaining software at a high-quality level. Think of Sun/Sparc/Solaris or IBM/Power/Aix ... both excellent when it comes to hardware and loosers on the software side even after decades of development. It is simply not their "favorite stuff". Note that, linux, developed independently of Sun/IBM, is doing a good job. There is probably a lot of nice improvements to do at the hardware level for Nvidia GPUs, not to let their engineers work on this kind of disposable software. Please, Nvidia, Let someone else make that software. As a customer, I only need the next release of that Good Old hardware GPU !!!
- 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 GPUs by having hardware and software engineers collaborate together. It is extremely expensive to put features into hardware. It costs a lot of money and takes a very long time. It takes 2-4 years at a minimum to put features into hardware. And there are physical constraints; we only have so many transistors. If we make a mistake in hardware, how are we supposed to fix it? At NVIDIA we have a status for hardware bugs called "Fix in Next Chip". The "Next Chip" is 2-4 years away. So what do we do? We solve problems in software whenever possible. It's cheaper to do so, it has a quicker turnaround time, and most importantly, we can make changes after the product has shipped. > I would say .... The hardware must be sold independently of the software ... but it is a bit too complex, I know. We don't sell hardware and you don't want to buy hardware. Trust me, you wouldn't know what to do with it. It's full of bugs and complexity. We sell a platform that consists of hardware and software. The product doesn't work without software. If we tried to make the same product purely in hardware, the die would be the size of your laptop and would cost a million dollars.
- 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 about running code on both CPUs and GPUs at the same time. It's about enabling the code on the CPU and the code on the GPU to seamlessly interoperate with each other, communicate with each other, move objects and data to and from each other. Who do you expect to make that happen? > Until I buy a CPU from nvidia I want to keep some kind of independence You can buy a CPU from NVIDIA, check out our Tegra systems. We also sell full systems, like DGX platforms, which use a 3rd party CPU. > When will we be able to use a future riscv-64 CPU with an nvidia GPU ? we will let the answer to nvidia ? Who else would answer this question? Okay, you want to use <insert some future CPU> with our GPU. Who is going to design and build the interconnect between the CPU and the GPU? Who is going to provide the GPU driver? The CPU manufacturer? Why would they do that? They don't make any money from selling NVIDIA products. Why should they invest effort in enabling that?