We wanted to know how easily a technology like CUDA could be used from inside the Instinct Engine SDK (used to develop DogFighter) and if the additional horse power could be utilized for some game mechanics.
The demo shows 4096 bot planes handled solely on a single GPU parallel to game rendering. The bot planes use steering behaviours for flocking, navigation and obstacle avoidance. The planes are fully lit and rendered (with shadows). The demo runs with interactive frame rate on main stream CUDA enabled graphics cards. In comparison the same simulation without utilizing CUDA achieved a similar frame rate on a decent machine with only 512 planes in our tests.
The steering computation for 512 planes requires about 260.000 neighbour queries while for 4096 planes this grows to a whopping 16 Million queries. The algorithm can be easily parallelized, explaining the advantage of technologies like CUDA for this kind of problem. Even if there is a potential to optimize the algorithm for CPU the clear benefit for us is a heavily reduced development time.