With Triton’s 3.91 release expected in a few days, we’re finally taking the plunge and updating the version of CUDA used to accelerate Triton’s wave calculations on NVidia systems – on platforms that support it, at least. What does this mean for you as a customer of the Triton Ocean SDK?
If you’re not building Triton from source code on Windows – which is most of you – not much action is needed on your end. Simply note that:
- There are a couple of new DLL’s for CUDA in our Resources/dll64 directory. Be sure these are included in the distributions of your application after updating to Triton 3.91 or newer.
- If you are building for Windows / 64-bit architectures, note that Triton 3.91 will now depend on NVidia driver version 388.19 or newer for CUDA acceleration to work.
If you are building Triton from source code on Windows, things get a little more complicated. This is because CUDA no longer supports 32-bit Windows architectures, but that’s still a platform we want to support. So, our Visual Studio project files for the TritonCUDA project depend on both CUDA Toolkit 6.5 for 32-bit targets, and CUDA Toolkit 9.1 for 64-bit targets.
This means that on Windows, you’ll want to install CUDA Toolkit 6.5 if you haven’t already, and then install CUDA Toolkit 9.1 as well. The order is important, since you want CUDA 9.1 to install its Visual Studio integration features, not 6.5. Only then will you be able to build our TritonCUDA project for any target.
Of course, there is an exception. If you are still on Visual Studio 2008, you should instead only install CUDA Toolkit 6.0, as that was the last version that supported Visual Studio 2008 at all.
On Linux, you can still just install the latest CUDA Toolkit that your OS and architecture supports prior to building – nothing changes with your process.
Why are we updating CUDA? Well, there are a couple of reasons. Most importantly, we received a report that CUDA 6.5 actually crashes in VR setups on NVidia systems. Since many of our customers are starting to support VR, that’s not OK. Also, CUDA 9 promises performance improvements in its FFT library, which is the main thing we use CUDA for. So, you may see a boost in performance in Triton 3.91 as a result.
This move is also part of our incremental march toward a Triton 4.0 release. Our methodology is to release changes as they come, and so we don’t unleash a huge batch of changes and features all at once. We’ll move Triton to “4.0” once all of the features we’ve been slowly rolling out under 3.x are complete; the big thing remaining is finishing off our support of multi-threaded rendering with multiple contexts.
Also, remember newer is not always better – it’s possible that CUDA 9.1 will introduce issues into Triton that we haven’t discovered yet. To be safe, keep the Triton SDK version you’re currently using around just in case you need to roll back.