I really dislike the way Nvidia makes it difficult for projects like Nouveau to reverse engineer an open driver, however I don't understand what you mean by poor support for their Linux driver, it's probably the one thing I can't fault them for as it is performing very well and stable.
I'm with you on not buying NVidia products though, that is the best way to send a message.
All my experience has been on laptops and there are lots of reports of Optimus related problems on Linux so there's that. I gave up on the hope of having Optimus actually work years ago. I would like to just be able to enable the latest version of Nvidia's driver and see my laptop start using the discrete gpu. That would be a big step forward from the past 7 years.
FWIW there's Linus' famous Nvidia F-bomb :) "Nvidia has been the single worst company we ever dealt with" https://www.youtube.com/watch?v=IVpOyKCNZYw
There's a reason Microsoft shimmed the ability for the display driver to crash and restart without taking out the rest of Windows...
Anyways, it would be good if NVidia and Ubuntu got together and at least made it easier to make use of the official driver.
Aren't scientific farm servers running on Linux kernel with Nvidia cards ? It would not be used if it was that buggy, so I think that claim needs precision
Reproducibility in computational science is recognized as a huge problem: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3383002/
A lab or institution claiming a publishable result based on discounted hardware from the manufacturer running code that does who knows what for their TensorFlow/whatever calculations is engaged in something other than science. I wouldn't go quite so far as to say that they're just engaged in advertising demonstrations, but it's coming close.
Reproducibility doesn't necessarily mean every component of the system is completely open and inspectable.
If it's not "open and inspectable" then it cannot be reproduced by another group/researcher. It's just unsupported claims building on a wonky methodology.I wonder what percentage of "Machine Learning" results are based on such shaky foundations and when they'll receive the same amount of skepticism and scorn we see heaped(deservedly) on the field of psychology.
That doesn't follow. They can (attempt to) reproduce with the same hardware, firmware, and drivers. They can reproduce with similar hardware from another vendor (AMD). If you're using OpenCL, you can reproduce on CPUs, albeit much slower and probably only for partial results. Maybe you want to break out some pen and paper to verify a few calculations of the CPU for even more partial results because you don't trust Intel's firmware blobs, even though you've presumably cross checked against AMD hardware, but you've gotten quite silly at that point.
Maybe some of these changes won't give you bitwise identical results - but then again, neither does most science. You check if the broad results and patterns are statistically similar. Maybe they are, and the results survive a large variety of similar but different test setups. Maybe they don't, and you discover an uncontrolled variable, like the exact chemical composition of the surface of your glass beakers being contaminated by impurities, or your AI being sensitive to the exact floating point rounding behavior of your GPU.
If anything, you want to see if your results survive variations in the uncontrolled variables, to make sure you've properly determined what factors are controlling the results.
If you cannot reproduce then you do not know whether it is due to the equipment/materiel varying or not and you have severely reduced options for investigating that.
If you look at the problems with even reproducing and testing the bugs that the specific situation under discussion exposes it is illustrative of the difficulties involved with working with a non-modifiable, unexaminable platform.
In your example, the researchers would be forbidden by IP laws from examining and testing the surface of the beakers for contaminants and publishing a description which allowed other researchers to make similar modifications.
It's the most sub-optimal situation in which to obtain something which starts to approximate reality. Not impossible, just difficult, and likely to lead to shenanigans.
1) Nouveau is buggy and problematic (related more to performance and a lack of support for many features)
2) The Nvidia drivers are buggy and problematic (related more to setup and compatibility with the rest of the system)
Both of these problems can be traced back to the same root cause, which is simply that Nvidia refuses to do a good job of supporting Linux in any way. They could give Nouveau some funding and information about their hardware, but they don't do that. They could develop proper Linux drivers, but they don't do that either. Every way you look at it Nvidia is at the root of the problem.
The solution on the consumer side is to not buy Nvidia products, and to encourage other people to not buy Nvidia products. The solution on the producer side is to contribute to Nouveau (easier said than done unfortunately, your average web dev can't just jump in and reverse engineer graphics drivers on a weekend).