0. Finally paying attention to software part of equation : hardware for compute has always been very good
By now supporting porting CUDA "natively", still no real answers to the datacenter CUDA features like DMA, proper virtualization, and networking.
1. drivers are now excellent
The Crimson driver suite is a step in the right direction, if only every 6 months they didn't had a release that actually physically damages cards.
2. whole line of GCN devices (since 2012) are supported and still optimized, unlike notorious Nvidia nerfing of older cards
Yes that's an admirable feat, but then again not one really cares about 5 year old hardware for either gaming or ML
3. Has x86 license - if Zen is a success, can build high-bandwidth fabric between CPU and GPU, unmatchable by nVidia except on exotic Power8 arch.
NVIDIA also has the x86 license it's more limited and AMD (w/ Intel) did bash them when they tried to add x86 interoperability to their HPC parts but NVIDIA has a very very large IP portfolio.
4. new project focusing on HPC on Linux
AMD has a new project every 2 years, they tend to not die, CUDA on Linux is excellent it's also the recommended platform.
5. they keep pushing OpenCL, which will win over Nvidia-only CUDA
OpenCL performance on NVIDIA GPU's is still better, and OpenCL will beat CUDA has been touted for nearly 10 years now...
6. New tools to semi-automatically port CUDA code to run on their hardware.
With still pretty poor results in many cases, and it only works if you use the most basic use cases under CUDA and this was the bare minimum they had to do so people would even look at AMD hardware at large scales these days since virtually every high performing library is written in CUDA simply because it offered a better solution and NVIDIA actually provides whatcha call it - ah right support...
Well, here's hoping AMD gives them a run for their money in 2016 </fanboy> 6.