AMD wants to make software development easier for high-performance computing (HPC) clusters, like those based on its FirePro S9170. At SC15 this week, AMD is showing off a set of tools called the Boltzmann Initiative that it says will help developers move CUDA-based applications to C++, and make HPC development more accessible to a wider audience.
The most important part of the Boltzmann Initiative seems to be a Heterogeneous Compute Compiler (HCC) for C++. The company says the HCC will make HPC applications easier to write because of that language's popularity. The HCC can purportedly dig through an application's code to determine the tasks that are best-suited to the high serial performance of the CPU and those which are best-suited to the much more parallel GPU.
To go along with the compiler, AMD says its Heterogenous-compute Interface for Portability (HIP) tool will help developers move their code from CUDA to C++ in the first place. The company says that "in many cases," 90% or more of a given program's CUDA code can be automatically converted by the HIP tool, leaving developers with a relatively small amount of manual effort to port what remains. To show off the combined potential of the HCC and HIP tool, AMD is demonstrating the CUDA-based Rodinia benchmark suite running on the company's own GCN-based hardware at SC15.
The final tool that AMD revealed today is an HPC-focused headless driver and runtime for Linux. The company says that this release will focus on low-latency dispatch, increased PCIe transfer speeds, and create a single unified memory pool out of the memory on each card. The driver will also support peer-to-peer GPU communication and Remote DMA from InfiniBand. All of the tools AMD announced are expected to become available early next year.
Despite the new tools and move to C++, AMD says it remains committed to OpenCL, too. The company has announced expanded GPU-compute libraries for that programming language. AMD says these new libraries are aimed at scientific computing tasks.