4 ms·
What really strikes me is Nvidia's been working hard on doing practical work on their GPUs even just 10~15 years ago with PhysX, while both Intel and AMD just e
by Dalewyn 3y ago
What really strikes me is Nvidia's been working hard on doing practical work on their GPUs even just 10~15 years ago with PhysX, while both Intel and AMD just existed.
Nvidia's dominance today is the product of at least over a decade of work and investments to make better products. Today they are finally reaping their rewards.
- desiarnezjr 3y agoI remember meeting NVIDIA in the late aughts (2007?) first launching their CUDA efforts. Really the product was a re-branded 780GTX or whatever their high end gaming card was at the time more or less, but they already laid out a clear pathway to today (more or less).
- dekhn 3y agoI remember meeting with them in the mid aughts when they were first talking to HPC folks about using their cards for science. I'll never forget what the chief scientist from nVidia said. "What is the color of a NaN? That is, when you render a texture with a nan value, what does it look like? I'll tell: it's nvidia green."
- jjoonathan 3y agoIt's a quality meme but I'm having trouble figuring out the settings that make it work. It looks like RGBA8 would be blue: >>> struct.pack('f',math.nan) b'\x00\x00\xc0\x7f' maybe that becomes green if you composite over white or something? Or maybe there is a common type of NaN that fills some of the unspecified bits? ("Just use the particular NaN that makes it green" is cheating unless you have an excuse)
- dekhn 3y agoIt was an arbitrary decision by the engineers who made the early GPUs, they just mapped NaN to an RGB It was a nice way to debug tensors: render them to the screen, the green sticks out.
- nealabq 3y agoThey mean big-endian NaN, taking only the first 3 bytes. No alpha channel. https://encycolorpedia.com/76b900 https://encycolorpedia.com/76b900 says Nvidia green #76b900.
- jjoonathan 3y agoCool, thanks!
- scns 3y agoEncycolorpedia looks like a great resource, thank you very much. A similar one would be Colorhexa. Not affiliated. https://colorhexa.com https://colorhexa.com [Edit] Could not find it under the name, but it shows how color blind users perceive it. And it loads much faster. https://www.colorhexa.com/76b900 https://www.colorhexa.com/76b900 [Edit] Encycolorpedia has a color blindness simulator too. Have to check on desktop.
- WanderPanda 3y agoThat is a funny way to signal their commitment to HPC! But compared to other tooling (non GPU) CUDA is still really clunky. Way ahead of everything else in the GPGPU space but still surprisingly clunky. Also I don't get what they are fearing with all their "Account required for download" (e.g. for CuDNN) what are they fearing? And is it really worth the trade-off for the pain it causes for dev environments and CI pipelines? It really seems like Intel and AMD have to step in to break this monopoly to force them to improve the situation for everyone.
- jjoonathan 3y agoNo, you're not missing anything, NVIDIA's software is super clunky by the standards of most of the software world. However, for the last decade, the competition has been much worse: OpenCL development on AMD would be riddled with VRAM leaks, hard lockups, invisible limits on things like function length and registers that would cause the hard lockups when you tripped over them without any indication as to what you did wrong or how to fix it, that sort of thing. Cryptic error messages would lead to threads scattered around the internet, years old, with pleas for help and no happy endings. The thing that caused me to ragequit the AMD ecosystem was when I took an OpenCL program I had been fighting for two days straight and ran it on my buddy's Nvidia system in hopes of getting an error message that might point me in the right direction. Instead, the program just ran, and it ran much faster, even though the nvidia card was theoretically slower. In terms of quality, I expect the competition to catch up in a generation or two, but then there is still the decade+ of legacy code to consider. Hopefully with how fast AI/ML churns that isn't actually an insurmountable obstacle.
- versteegen 3y agoYears ago I gave up on OpenCL (1.2 on an AMD card) because of those hard lockups, with no way to debug it. nVidia didn't even support OpenCL 1.2 (and IIRC didn't support the synchronisation primitives I wanted in CUDA either -- AMD was more capable on paper). Thanks, I feel better to hear just how bad it was -- so it wasn't just my fault for quitting.
- rasz 3y agoI remember uni course on GPGPU and only discovering during first lecture Nvidia donated hardware to make sure it would be Cuda only course.
- hinoki 3y ago32-bit NaN is encoded: s111 1111 1xxx xxxx xxxx xxxx xxxx xxxx Where both the sign (s) and the x bits can be anything and it will still be treated as a NaN. There are lots of ways to encode colour, but there would be too much red with RGBA, and ARGB could be almost any opaque colour, but the red channel has to be at least 0x80, which is still too much red. So NaNs are too red to encode nvidia green.
- andersa 3y agoI once ended up having nans get interpreted as 32 bit colors accidentally, and it made everything red and white, like Christmas decoration. Wonder what caused the difference in the latter bits being all 1 or 0 together.
- rasz 3y ago>doing practical work ... even just 10~15 years ago with PhysX practical work with PhysX 13 years ago: https://www.realworldtech.com/physx87/ https://www.realworldtech.com/physx87/ "For Nvidia, decreasing the baseline CPU performance by using x87 instructions and a single thread makes GPUs look better." Nvidia magically released PhysX compiled with multithreading enabled and without flags disabling SSE a week after this publication. But couple of days before release they made those funny statements: "It's fair to say we've got more room to improve on the CPU. But it's not fair to say, in the words of that article, that we're intentionally hobbling the CPU," Skolones told Ars. "nobody ever asked for it, and it wouldn't help real games anyway because the bottlenecks are elsewhere" >Nvidia's dominance today is the product of at least over a decade of work Nvidias decade of work: Ubisoft comments on Assassin’s Creed DX10.1 controversy https://techreport.com/news/14707/ubisoft-comments-on-assassins-creed-dx10-1-controversy-updated/ https://techreport.com/news/14707/ubisoft-comments-on-assass... AMD says Nvidia’s GameWorks “completely sabotaged” Witcher 3 performance https://arstechnica.com/gaming/2015/05/amd-says-nvidias-gameworks-completely-sabotaged-witcher-3-performance/ https://arstechnica.com/gaming/2015/05/amd-says-nvidias-game... AMD Dubs Nvidia’s GameWorks Tragic And Damaging, Fight Over The Developer Program Continues https://wccftech.com/fight-nvidias-gameworks-continues-amd-call-program-tragic/ https://wccftech.com/fight-nvidias-gameworks-continues-amd-c... "Number one: Nvidia Gameworks typically damages the performance on Nvidia hardware as well, which is a bit tragic really. It certainly feels like it’s about reducing the performance, even on high-end graphics cards, so that people have to buy something new. "That’s the consequence of it, whether it’s intended or not - and I guess I can’t read anyone’s minds so I can’t tell you what their intention is. But the consequence of it is it brings PCs to their knees when it’s unnecessary. And if you look at Crysis 2 in particular, you see that they’re tessellating water that’s not visible to millions of triangles every frame, and they’re tessellating blocks of concrete – essentially large rectangular objects – and generating millions of triangles per frame which are useless." "The world's greatest virtual concrete slab" https://web.archive.org/web/20121002034311/http://techreport.com/review/21404/crysis-2-tessellation-too-much-of-a-good-thing/2 https://web.archive.org/web/20121002034311/http://techreport... (images "somehow" vanished from original article at techreport where Nvidia runs marketing campaigns) "Unnecessary geometric detail slows down all GPUs, of course, but it just so happens to have a much larger effect on DX11-capable AMD Radeons than it does on DX11-capable Nvidia GeForces. The Fermi architecture underlying all DX11-class GeForce GPUs dedicates more attention (and transistors) to achieving high geometry processing throughput than the competing Radeon GPU architectures."