If you compare the effort that AMD spends on OpenCL compared to what NVidia spends on CUDA then you'll see why everyone just used NVidia.
I'm not a big fan of vendor "standards", but I have very limited sympathy for OpenCL here.
I think the best hope for portability is at the higher level programming API layer. For example TensorFlow is careful to make switching between CPU and GPU painless.