General purpose computing over GPUs, that were meant only for rendering of images for gaming and other related applications, mainly started when Nvidia launches CUDA in 2007 that enabled programming of application from different scientific domains like life science, material science, weather etc on their CUDA enabled GPUs. Highly data parallel and throughput intensive applications are best suited to GPUs. Applications with these two properties showed up historic benchmarks when ported to CUDA. This way GPUs emerged as alternative to big clustered supercomputers that results in massive decrease in requirement of real-estate for setup.
With time, need to support other hardware arises and vendors together came with another set of APIs known as OpenCL in 2009. These two offerings have their own pros and cons. While CUDA assures optimal performance on Nvidia GPUs, OpenCL on other hand assures portability to multiple architectures of different vendors. Due to high performance and easy programming approach, CUDA became developer’s favorite and most scientific applications are optimized using CUDA at present. To overcome this gap, AMD came out with Boltzmann Initiative in 2015 that provides HIP tool for auto conversion of CUDA codes to portable C/C++. Once your application is converted using HIP, it can be targeted for Nvidia and AMD GPU cards without performance penalty as promised by AMD.
As of now, if HIP emerge as a mature tool for performance portability to AMD cards, it holds good for CUDA programmers and CUDA application holders as they can easily port their applications to AMD cards without compromise on performance. For other hardware vendors we are not much worry as Nvidia and AMD are the primary players in GPU market.