AMD Gets CUDA Compilers!
AMD Embraces the CUDA Community
Published: 16th November 2015 | Source: anandtech |
AMD Gets a CUDA License
AMD has announced their Boltzmann Initiative, where AMD plans to completely change the way they look at high performance computing and plan on making significant leaps in both performance and in software compatibility.
First and foremost AMD plans on closing the gap between themselves and Nvidia, redeveloping their efforts in the HPC software ecosystem by offering an environment which is both competitive and Compatible with CUDA code.
One of the highlights of AMD's Boltzmann initiative is overhauling AMD's drivers, building a dedicated 64-bit Linux driver which will are designed for allowing AMD's hardware to run headlessly under Linux and fully implementing HSA features for what AMD call HSA+.
HSA+ will allow AMD to use the existing HSA standard and will be adding extension especially for use with FirePro GPUs, allowing their CPUs and GPUs to operate together easily on the same computational task.
The second big part of the Boltzmann Initiative after drivers is AMD's new compiler for high performance computing, their Heterogenious Compute Compiler, which will support C++ and hopefully address the programming needs of HPC applications.
OpenCL has not been as highly adopted as AMD had initially hoped for, especially since Nvidia has not supported anything newer than the OpenCL 1.2 standard, despite the fact that much newer and improved versions exist.
In short AMD plans on building bridges to developers, allowing them to use their hardware more easily and with a single compiler for both CPU and GPU tasks. AMD plans on continuing to support OpenCL, but with the community being so fragmented it is hard to see much more development time being pushed that way.
The third and final part of AMD's Boltzmann Initiative is AMD's implementation of CUDA compilation, which allows AMDto create a programming environment which is on par, or eventually superior to CUDA. Being as good as Nvidia will not do, and CUDA is not going anywhere anytime soon, so AMD has developed tools and allows developers to code for AMD GPUs in a very CUDA-like way, allowing developers to more easily move to AMD GPUs.
AMD's new Heterogenious-compute interface for Portability (HIP) will allow CUDA code the be converted into AMD HIP code, allowing source to source translation between CUDA and HIP.
To be clear this does not mean that Nvidia CUDA compiled programs can be ran on AMD GPUs, it just means that developers will have a much easier time using AMD GPUs, especially if they are used to using CUDA.
Ever since CUDA became popular AMD has had a hard time in the high performance computing scene, but AMD's HIP and CUDA translation will be instrumental in making AMD more competitive here.
This will help fix the largest issue which has hindered AMD's HPC efforts, since they do not support CUDA, which is an Nvidia technology. Hopefully AMD will be able to use these improvements to take some of the HPC computing market from Nvidia, but they will have to work hard to keep their HIP up to date with anything Nvidia plans on adding to CUDA in the future.
Nvidia will not lose their dominance in the high performance computing market sitting down, but AMD have really set themselves up to greatly improve their presence in the HPC scene.
AMD's move here is very aggressive and not only is AMD's answer to CUDA, but also a promise to greatly improve their driver layer on Linux and making it much easier to use HSA with dedicated graphics. If AMD can deliver on what they have shown today they will have given themselves their best chance at tapping into the HPC market that they have in years, while also providing developers with a lot more options.