Promoting freedom of choice in HPC

As AMD launches its latest FirePro GPU, Robert

Roe investigates a new suite of open-source tools, released by the company that convert code from CUDA into C++

AMD is trying to make this process easier with a suite of open-source tools designed to give application developers the freedom to port their applications from the proprietary CUDA framework into C++.


Boltzmann initiative Tis process began during November 2015 when AMD launched the Boltzmann Initiative during SC15. Te initial announcement came with the release of a suite of open source tools including: AMDs

S HPC clusters and soſtware increase in complexity, it becomes increasingly difficult to switch from one technology to another.

new Heterogeneous Compute Compiler (HCC), a headless Linux driver and HSA runtime infrastructure for HPC; and the Heterogeneous-compute Interface for Portability (HIP) tool for porting CUDA- based applications to C++. Senior business development manager HPC GPU computing at AMD, Jean- Christophe Baratault, said: ‘Now we have GPUOpen, a global company-wide initiative, this means that everything, all of our soſtware stacks are open source. Te Boltzmann initiative is based on three pieces of soſtware, a compiler, a code converter and new drivers.’ As HPC architectures have moved from

consumer clusters towards more HPC specific technologies, programmers have had to introduce increasing layers of complexity to manage the diverse technologies available to HPC users–from accelerators to exotic processors or node architectures. Tis added complexity, introduced as the HPC community adds more specialised technologies, such as GPUs, can deliver large performance increases. However, specialised technology running on proprietary frameworks like CUDA effectively lock users into a specific architecture because of the

time and expertise invested into developing and optimising their applications.

New tools for promoting freedom of choice Baratault explained that AMD’s motivation for developing these open-source GPU tools is based on an opportunity to remove the added complexity of proprietary programming frameworks to GPU application development. ‘CUDA is an additional programming

framework, based on the C++ programming language but which sits on top of C++ applications. Tis means that you have your legacy code, and whenever you have some data processed by the GPU, you have some CUDA codes into the C++ code. It is feature rich, well supported but it is an additional framework, and I would say it is an exotic one’, said Baratault. If successful, these tools – or similar

versions – could help to democratise GPU application development, removing the need for proprietary frameworks, which then makes the HPC accelerator market much more competitive for smaller players. For example, HPC users could potentially use these tools to convert CUDA code into

Visulisation of seismic simulation and subsurface imaging performed by CGG 4 SCIENTIFIC COMPUTING WORLD @scwmagazine l


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44