Since 2014, apple has almost exclusively used AMD graphics cards in computers that do have discrete GPUs, and I don't think it's unreasonable to suggest this was motivated with their terrible experience with Nvidia.
(I'm aware I'm not really backing this up with evidence, but I think the publicly available facts about the whole situation support this narrative)
In 2010, Apple wasn’t exactly a beleaguered company. It wasn’t like NVidia not reimbursing Apple would break the bank. Apple should have repaired it just to protect its reputation.
Jobs himself was famous for saying to high level employees that at a certain level of authority, you don’t get to make excuses.
Again, I agree with you, apple should have launched the program much, much earlier.
But, I mean, that's besides the point because this isn't a post about how Apple handled these failing GPUs, it's about Nvidia's inability to work with others.
To be fair, the issue was mainly caused by Apples form-over-function thermal design.
To best of my knowledge, Nvidia GPUs works just fine in all other laptops.
Laptops were only affected en masse because they have far more heat-cool thermal cycles than the average desktop computer.
Nvidia bumpgate says hello.
There's also the issue with them refusing to open source Linux drivers. Supposedly this is because they throttle workstation GPUs to create a market for higher-end versions while reducing the manufacturing diversity, but I haven't heard a definitive source for this.
Not sure about this, but they definitely prevent the loading of drivers for GeForce cards if they detect a hypervisor (Quadro cards work). Nvidia claims that it's a bug, and that they're not fixing it only because GeForce cards are not sold to be run in virtual machines. At the very least it's a dubious claim since for a short time there was an arms race as workarounds were figured out and the next version of the driver would detect them...
Of course it's market segmentation by obscurity so it only lasted a few weeks and it's trivial to work around, but still it's quite shady since there's absolutely no ill effect from the work around.
* sk1080/nvidia-kvm-patcher: Fixes "Bug" in Nvidia Driver preventing "Unsupported Configurations" from being used on KVM
> nVidia
FYI, a few years ago, nVidia has officially changed their name to "Nvidia"...
[0] IOMMU is not only a virtualization feature, it's also an important security feature to protect the host from DMA attacks of malicious peripherals (e.g. 1394, ExpressCard, Thunderbolt, USB 4). Fortunately Intel no longer cripples IOMMU (VT-D) since Skylake, but ECC is another story.
http://international.download.nvidia.com/partnerforce-us/Bra...
> "From the mid 90s to early-mid 2000s, stylized as nVIDIA with a large italicized lowercase "n" on products. Now officially written as NVIDIA, and stylized in the logo as nVIDIA with the lowercase "n" the same height as the uppercase "VIDIA".
I think this is because they were outcompeted by AMD in the GPU crypto days, so they didn't want to get in the way of that (nor were they likely to succeed in blocking this use).
It was about NVidia wanting to make it so their 3rd party GPU partners, (EVGA, Asus etc.), could only sell their popular GPU brands with NVIDIA in them, so for AMD they'd have to come up with something customers are entirely unfamiliar with.
> here's also the issue with them refusing to open source Linux drivers.
It's not just that. AMD didn't open-source their original Linux driver, presumably there could have been some 3rd party licensing issues, but they wrote a new one that is open-source.
NVIDIA doesn't even let others write an open-source driver for them, they make it purposely difficult to reverse-engineer, sign their firmware that they only release with a massive delay and generally refuse to cooperate.
Even further than this, they created such a healthy environment for it that there are now two competing open source Vulkan drivers, and the third party one (RADV) is usually winning by a bit, and is now directly supported (with staff) by Valve.
In many projects that support both, OpenCL and CUDA often give similar performance, and in some, OpenCL is faster than CUDA. So CUDA isn't about getting more performance - it's about excluding everything non-NVIDIA.
I suspect that NVIDIA's gameplaying is what led to Apple deciding to not use NVIDIA in any Macs for the last several years.
C++ support only came to OpenCL after it was clear to Khronos that it was time to move beyond C only vision of the world, yet almost no one bothered to implement OpenCL 2.x, which is why OpenCL 3.0 is basically OpenCL 1.2 to make all those OEM compliant, and SYCL is now moving into an backend agnostic C++ stack.
So the competition did not move a finger to make OpenCL eco-system beat CUDA tooling, Google did not cared one second to make OpenCL available on Android instead pushed for their own Renderscript C99 dialect, but it is easy to blame NVidia when competition isn't up to their stuff.
Just like Apple, after creating OpenCL and offering it to Khronos, moved away from their own creation after disputes on how OpenCL roadmap should be managed. Ironically, just like with CUDA, Metal Compute happens to be multiple language aware and having a modern API.
The fundamental failing Khronos made was repeating the GLSL mistake and not specifying a compiled IR that would decouple OpenCL kernel code from program execution. This was clearly known to be a mistake at the time, given ample evidence from CUDA and HLSL that an IR was possible and could greatly improve the developer experience.
You could say that: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html
I think it's very clear that the framework was important here. Because you were pointing out that they don't open source much, I pointed out that they do, then you nitpicked by saying it's cuda.
To be fair, I recently bought a new Thinkpad, and with Ubuntu 20.04 and Nvidia CUDA just worked, with absolutely no tuning (I didn't even need to set LD_LIBRARY_PATH, which I found pretty odd). So things seem to be improving, because there's money in it for Nvidia.
Both Intel and AMD do have an official FLOSS Linux driver and regularly work with the wider community.
It's really not hard to find a company that nVidia's pissed off with its dealings.