Industry trends in the coming years in the race to exascale imply the availability of cluster computing with hundreds to thousands of cores per chip. Programming presents a challenge due to the heterogeneous architecture. Using novel programming models that facilitate this process is necessary. In this talk we present the case of simulation and visualization of crowds. We analyze and compare the use of two programming models: OmpSs and CUDA and show that OmpSs allows us to exploit all the resources combining the use of CPU and GPU taking care of memory management, scheduling, communications and synchronization automatically. We will present experimental results obtained in the Barcelona Supercomputing Center GPU Cluster as well as describe several modes used for visualizing the results.
We discuss several steps in the process for simulating and visualizing large and varied crowds, in real time, for consumer-level computers and graphic cards (GPUs). We discuss methods for simulating, generating, animating and rendering crowds of varied aspect and a diversity of behaviors.
We will discuss several steps in the process for simulating and visualizing large and varied crowds, in real time, for consumer-level computers and graphic cards (GPUs). Animating varied crowds using a diversity of models and animations (assets) is complex and costly. One needs models that are expensive if bought, take a long time to model, and consume too much memory and computing resources. We have developed methods for generating, simulating and animating crowds of varied aspect and a diversity of behaviors. Efficient simulations run in low cost systems because we use the power of modern programmable GPUs. One can apply similar technology using GPU clusters and HPC for large scale problems. Such systems scale up almost linearly by using multiple GPUs.