It may be very arcane to most of us, but graphics startup Otoy has come up with a breakthrough that should help game developers create much more beautiful games that can run across different hardware platforms.
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. Now they can run on GPUs from Advanced Micro Devices, ARM, and Intel. That means a CUDA program written for the PC could run on a PlayStation 4 or an Apple iPad.
Otoy has ported the CUDA language to run on AMD, Intel, and ARM GPUs for the first time ever. That means any application written in CUDA can run, without modification, on all major chipsets and platforms. While there is an independent GPGPU standard dubbed OpenCL, it isn’t necessarily as good as CUDA, Otoy believes.
Jules Urbach, chief executive of Los Angeles-based Otoy, said in an exclusive interview with GamesBeat that Nvidia’s CUDA language is superior and enables much richer graphics software. Hence, OpenCL hasn’t provided a true market alternative to CUDA. That’s why building the CUDA “cross compiler” was an important task. And Urbach said the Otoy research and development team was able to do it in 9 weeks.
“This is a big breakthrough from our point of view,” Urbach said.
Urbach said the move will save a huge amount of time for game and app developers, since they can now create a single CUDA code base that can run across a wide variety of PCs, Macs, iOS devices, Android, and other hardware platforms. For each team, that means saving months of engineering time, Urbach said. As an example, CUDA has something called “compute shaders” that allow for much more advanced graphics effects, Urbach said.
“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.”
Otoy will make the tool available within the 3.1 release of its Octane rendering engine, which can be used to build some awesome 3D graphics for games and animations. Urbach expects the work will be done and available by this summer. Otoy sells tools such as Octane and Brigade for game development, animation, and virtual reality app creation.
“It’s pretty ready, and it answers questions about whether this could be done,” Urbach said. “It runs on the other cards at the same speed as it runs on Nvidia cards.”
A primary goal for creating this technology is to bring CUDA applications such as Octane to Apple’s Metal GPGPU API on OSX and iOS, where support for OpenCL 2.1, Vulkan, and OpenGL ES compute is noticeably absent, Urbach said.
Urbach said that Otoy undertook the translation task because it wanted to make the beautiful CUDA-based Nvidia programs run on technology commonly by game developers, such as Mac computers and iOS devices. Otoy is adapting Octane to work as a plug-in for game engine’s such as Epic’s Unreal game engine.
“You can now take the best and highest GPU language and run it on other devices,” Urbach said. “OpenCL has been hit or miss. Now you can skip that.”