ROCM VS OPENCL BENCHMARK CODE
But being the underdog, AMD lures vendors and enterprises in by promising an open standard under open source code free to implement forever. It's home to the HIP project, which is the equivalent of CUDA in AMD's world. ROCm - Radeon Open Compute is the project hub for AMD's open GPU APIs. Still, more often, it means written in a common framework like TensorFlow or PyTorch and tested on it, which means that either an abstraction layer on the CUDA level or the frameworks level will work. "Designed on top of CUDA" can be interpreted as written with CUDA directly. So a model designed on top of CUDA is unlikely to move, even if Nvidia will boil the pricing pot under the enterprises. Researchers and programmers' time, multiplied by the time they spend testing their creations, is far more expensive than the hardware. With models and almost every research paper built on top of Nvidia's GPUs and CUDA API, catering to their quirks specifically (even if unknowingly), Nvidia put themselves in a position where it is very hard to replace them.īut changes happen slowly. Nvidia's controlīy having the better hardware with the only viable, proprietary API out there at the right time, Nvidia built control on the market that thickened every year. On the PyTorch issue from 2017 regarding OpenCL, the maintainers outright say that OpenCL is bad, and other hardware vendors are moving away anyway (AMD with Hip, which we'll talk about). Furthermore, the OpenCL implementation is intended for mobile inference, not server-intensive model training. The mobile OpenCL support is due to the fact that mobile GPUs are not Nvidia GPUs, and any way to communicate with them is better than no way. Tensorflow had an issue since 2015 regarding OpenCL support which was ignored until last year when it was close with the blogpost of launching OpenCL in mobile TensorFlow. With Nvidia having the better hardware and the only viable API in CUDA, most AI frameworks popping up elected not to bother with other APIs and develop exclusively on the proprietary CUDA API.
So Nvidia had the better hardware as well as a far better way to utilize this hardware. When AI first gathered steam, Nvidia had CUDA ready while everyone else only had the open-source OpenCL API.ĬUDA was far superior to other APIs in any neural network task, specifically through cuDNN that targeted neural networks. Multiple APIs exist and have existed for a long time. To utilize the GPU hardware abilities for parallel, high-precision calculations, programmatic APIs bridge the gap from the developer to the hardware.
GPGPU - "General-purpose computing on graphics processing units" is the name for any general computing done on GPUs instead of the traditional graphics job intended for them. GPGPUs and the AI fieldĭeep-learning AI, driven by neural networks (as opposed to machine-learning, often referred to as AI too), is driven by a high volume of high-precision (as in floating-point precision) calculations done in parallel.īy their native architecture, GPUs are better equipped for the task than other computation chips like CPUs. They are being challenged on all fronts: the better hardware for the task, the CUDA API hegemony, and the integration of all parts. Nvidia won't lose the market any time soon, but their moats aren't as deep as though to be. For example, they'll have to figure out data delivery, mess up with code inconsistencies for not using CUDA-enabled cards (which are Nvidia's alone), and usually settle for less optimal hardware.īut the tides are changing. They offer the best GPUs in the market, with proprietary APIs exclusive for them in CUDA, tying it all together perfectly with data center-specific hardware enabled by their purchase of Mellanox.įor enterprises big enough, messing up with other exotic solutions will end up costing more. Their products went almost unchallenged for a long time, allowing Nvidia to deepen their moat in the field. By some analysts' estimates, it controls 80% of the AI market.