GPU computing breakthrough? Cloud rendering company claims to run CUDA on non-Nvidia GPUs

Share This article

One of the major differences between AMD and Nvidia is their share of the professional graphics market. Nvidia dominates this space and its profit margins, and while AMD has had some high profile wins with Apple, it hasn’t cut deeply into Nvidia’s market share. Part of the reason Nvidia has a lock on both workstation and high performance computing is CUDA, its programming language for GPU compute. Now one company, Otoy, is claiming to have broken that lock.

Otoy is the owner and developer of Octane Render, a real-time unbiased rendering engine that supports 3D rendering software suites like 3ds Max, Maya, Cinema4D, and Lightwave. It’s also available as its own standalone software suite. It was the first unbiased rendering suite to support GPU-only rendering and a high-profile early win for Nvidia’s CUDA — which is part of why it’s surprising to see the company branching out to support other architectures in this fashion.

Didn’t AMD just announce this?

There’s some timing oddities here that I’m not sure how to explain. Last year, AMD announced its Boltzman Initiative. Part of that initiative is a software layer that allows AMD GPUs to execute CUDA code through the use of a compatibility layer.

AMD’s Boltzmann Initiative

Here’s how VentureBeat describes Otoy’s new compatibility layer: “In a nutshell, Otoy reverse-engineered Nvidia’s general purpose graphics processing unit (GPGPU) software, known as CUDA, to run on non-Nvidia hardware. That means that programs written in the CUDA language are no longer exclusive to Nvidia graphics chips.”

According to Otoy’s CEO, Jules Urbach, the point of developing this CUDA translation layer is so that the company’s high-end Octane Render software can run as easily on AMD GPUs as their Intel counterparts. “We have been able to do this without changing a line of CUDA code, and it runs on AMD chips,” Urbach said. “You can now program once and take CUDA everywhere. AMD has never really been able to provide an alternative.”

AMD’s Boltzmann Initiative would seem to provide the alternative that Urbach is referencing, and it appears to accomplish the same goal. It’s not clear how the two programs differ from each other, though Otoy does mention wanting to run software on a wider variety of platforms, operating systems, and technologies. AMD’s Boltzmann Initiative, of course, is designed solely for AMD’s own GPUs.

As for performance, Urbach states that “It runs on the other cards at the same speed as it runs on Nvidia cards.” But again, that’s something AMD has implied about its own Boltzmann Initiative — when we asked the company how AMD GPUs compared to NV cards running CUDA, the RTG division implied that unless the CUDA code had been hand-optimized for a specific CUDA architecture, it should run as quickly on AMD hardware as on an Nvidia counterpart GPU.

Urbach claims that the long-term goal is to allow CUDA to target Vulkan, DirectX, and OpenGL (along with Android, PS4, and WebGL 3), and that Otoy wants to be able to run CUDA applications on platforms like iOS, where Apple’s Metal is the dominant low-overhead API.

Supposedly Otoy is working on turning Octane Render into a plugin that the UE4 engine can utilize, but Octane Render isn’t used for real-time rendering. Adapting a version of it to work within a game engine would be extremely challenging. It’s not at all clear why Otoy would want to translate native CUDA into many of the APIs that Urbach lists — no games that I’m aware of leverage OpenCL or CUDA for any kind of tasks, and neither AMD nor Nvidia have talked about using either language for this purpose.

We’ve reached out to Octane Render and will update this story if we hear more details. At the very least, it looks like AMD’s push to convert CUDA code into something that can run on more GPUs has caught the attention and imagination of other vendors.