This site may earn affiliate commissions from the links on this page. Terms of utilise.

For near a decade, the HPC (loftier-performance computing) marketplace has been divided into two camps: CUDA and OpenCL. CUDA, of course, is Nvidia's proprietary standard. Information technology was first out of the gate in 2007 and its competitor, OpenCL, wouldn't reach 1.0 condition until just over two years afterward, in 2009. Unlike CUDA, OpenCL is supported past a number of companies, including Intel, Imagination Technologies, AMD, Qualcomm, and ARM.

Despite the above potential advantage, Nvidia has held the panthera leo's share of the HPC and supercomputing markets. According to the recent Top500 list, AMD'due south GCN is used in three systems, compared with 66 systems for Nvidia'southward Fermi + Kepler architectures and 28 systems that utilise Xeon Phi. There are as well iv hybrid systems that use both NV and Xeon Phi.

AMD's Boltzmann Initiative is meant to alter the status quo by offering developers and researchers a much-needed software stack that should boost the company'due south competitiveness in the HPC market. AMD'southward competitive weakness in HPC and scientific calculating has never been about hardware — GCN'due south raw compute functioning, at least in sure types of problems, was far better than Nvidia's Fermi or Kepler cards. (Maxwell has not been positioned every bit an HPC solution.) Nvidia, however, poured huge amounts of money into developing its CUDA ecosystem, including a peachy bargain of support for HPC developers and scientific research.

Boltman1

Click to overstate

Here's Boltzmann at a loftier level. The goal is to ameliorate the workloads where AMD tin can compete effectively, offering amend tools for evaluating performance, amend Linux support (including a new 64-bit commuter for headless Linux), and to let implementation of a new HSA (heterogeneous arrangement architecture) extension, HSA+. This last detail won't be folded into the larger HSA standard — it'south an AMD-specific extension meant to allow for a greater range of HSA features when used with detached GPUs. This will also allow supported GPUs to "see" GPU and CPU memory as a unified space.

The major announcement today, nonetheless, concerns a new HSA compiler and AMD'south heterogeneous-compute interface for portability, or HIP.

Boltzman2

The new HSA compiler (HCC) can compile for both CPUs and GPUs and leverages existing ecosystems built around Clang and LLVM as well as HSA itself. The goal is to allow developers to create CPU and GPU code in a single language and source file. OpenCL, even in 5 2.0, requires separate source for GPU kernels — HCC eliminates this bottleneck. The goal is to provide an ecosystem that developers can target and use more easily — something Nvidia did with CUDA. It should be easier for developers to optimize code for parallel execution. The new compiler will also include support for GCN-specific features, like asynchronous compute and GCN's cache structure.

These types of features can bring AMD's capabilities more in line with Nvidia'south, but that'south not sufficient to meaningfully paring the market. That's where HIP comes in.

Hipify Tools: Translating CUDA source to run on AMD GPUs

As AMD describes it, HIP accomplishes several goals. Information technology allows developers accepted to Nvidia'due south CUDA to develop using like syntax. It includes a new toolset (Hipify Tools) that can convert CUDA code to HIP lawmaking. And once code is written in HIP (whether converted from CUDA or written that fashion initially) it tin can be compiled to target either Nvidia or AMD GPUs — using either Nvidia CUDA compiler (NVCC) or AMD's HCC.

Only to be articulate, Hipify Tools doesn't run CUDA applications on AMD chips. Instead, it performs a source-to-source translation that's meant to make it piece of cake for developers to target either architecture. We asked AMD what the typical functioning hitting looked like for performing this task, and the visitor told us that in full general-use cases, the performance striking is effectively zero. If a developer has specifically targeted a specific NV compages with a great deal of optimization for each GPU, then it would take more fourth dimension to optimize the same cases for GCN — just that the lawmaking would work out of the box, even in those cases.

In short, developers who are curious almost FirePro and GCN operation and want to accept their code for a test driver should find it much easier to do so. Out-of-the-box compatibility is useful for testing utilize-cases, even if it takes some boosted optimization to bring performance upwardly. Anandtech put together a useful image that showcases what HIP and HCC can do:

Unlike what's been reported by some publications, AMD does not execute CUDA on GCN, CUDA applications are not analyzed or reverse-engineered, and AMD is not compiling these applications into OpenCL. The point of HIP is to allow for a vendor-neutral approach that targets either NVCC or HCC.

A huge step forward

AMD still has much to do to plant a place for itself in the HPC market, and it'southward not articulate how quickly Hipify Tools volition adapt to newer versions of CUDA. AMD has told us that any interested developer will be able to sign up for the plan starting time in Q1 2022, but that the tools will crave a FirePro card to run. That's unfortunate, because it limits the available audience for the menu to developers who either own FirePros or are willing to fork over serious scratch to develop with them. AMD might accept been better served by opening the software to consumer hardware.

Then again, this is just the beta, and it's possible that AMD will expand compatibility in the longer term.

Either fashion, this projection has the potential to reinvent AMD's approach to the HPC space. While that market is small in absolute terms, it'southward far more lucrative. It also gives AMD a seat at the table and the pick to fight aslope Intel and Nvidia for market access to supercomputing over the long term. Overall, if AMD keeps attention on the product, it could assist developers take much amend advantage of the company's hardware in a wide assortment of software environments.