I am not very familiar with any of them, my point is: some sort of unification is necessary. GPUs are proving to be extremely powerful and it makes more and more sense to put more strain on them. Unfortunately, graphics cards are not so cheap to swap from one brand to another just for the sake of obtaining a more "compatible" platform for application developers. I really hope they find some sort of solution soon. At the moment, ATI comes up with rubbish excuses such as "if we make our cards CUDA-compatible NVIDIA will optimise the API to run CUDA applications faster on NVIDIA chips and slower on ATI chips". Knowing NVIDIA and harsh competition in this sector, from business point of view, their point is plausible. But from the point of view of a consumer I simply don't care.