Ubisoft details their use of FP16 compute/Rapid Packed Math in Far Cry 5

Ubisoft details their use of FP16 compute/Rapid Packed Math in Far Cry 5

Ubisoft details their use of FP16 compute/Rapid Packed Math in Far Cry 5

One of Far Cry 5’s greatest aspects is its use of technology, so much so that there was a lot of discussions about the title at GDC 2018. One specific example of this is the game’s use of FP16 “Half-Precision” compute, using simplified calculations to improve the game’s performance on PC and console hardware. 

While this feature has the most impact on AMD Vega series GPUs, that doesn’t mean that the function is not useful on older hardware. Radeon Vega series GPUs make use of a feature called Rapid Packed Math, which replaces a single FP32 calculation with two FP16 calculations, doubling mathematical throughout for FP16 workloads.   

This acceleration of FP16 calculations is not available on older GPU architectures like Polaris, but they do require fewer resources, reducing memory bandwidth usage while freeing up space in the GPU’s buffers to offer a performance benefit elsewhere. 

One example of Ubisoft’s use of half-precision compute is in Far Cry 5’s water simulations, which use both Async Compute (on consoles) and rapid packed math to deliver realistic water without a huge performance impact. FP16 calculations are likely utilised elsewhere in Far Cry 5, where high levels of mathematical accuracy are not required, though lake/river areas with rapids and a lot of vehicle interactions are expected to see the largest performance gains. Another thing to note is that Ubisoft has used Rapid Packed Math in a DirectX 11 game, which means that this feature doesn’t require a modern low-level API to exploit.  

Far Cry 5 also makes use of Shader Intrinsics, a feature which can give developers to achieve deeper levels of hardware access on Radeon GPUs, allowing them to squeeze more performance out of the hardware. Right now Wolfenstein: The New Colossus uses this feature to great effect, similarly to Far Cry 5. 

Ubisoft details their use of FP16 compute/Rapid Packed Math in Far Cry 5

(Far Cry 5’s lighting and water simulations make use of FP16 compute)

The use of FP16 compute in games will reduce resource utilisation while having no impact on rendered images, while also offering a 2x performance increase in GPUs where features like AMD’s Rapid Packed Math are available. So far only the PS4 Pro console and Radeon Vega series GPUs have this feature. 

You can join the discussion on Far Cry 5’s use of FP16 calculations and Rapid Packed Math on the OC3D Forums.