Monte Carlo and Deep Learning Methods for Enhancing Crowd Simulation
Project reference: 1702
Simulating realistic large scale crowd behaviours is a complex endeavour. The use of real data and realistic perception models is required. And once the behaviour is established, one must generate and animate varied characters for realistic visualization without consuming too much memory and computing resources. At the Extreme Computing group at BSC, we have been working on the development of methods for simulating, generating, animating and rendering crowds of varied aspect and a diversity of behaviours. The focus is on efficient simulations of large crowds that can be run on low cost systems because we use of modern programmable GPUs and to scale up for even larger crowds: We subdivide the simulation into different regions and distribute the work to different nodes by using MPI and to the different CPUs and GPUs in each node by using OmpSS and within each GPU we use CUDA, striving to use all the computational resources available in these heterogeneous clusters. The ultimate goal is to simulate and visualize very large crowds (of over a million or several million characters) using a variety of advanced architectures in real time.
Further given our groups experience in Monte Carlo methods we would like to bring their advantages such as their increased level of parallelism and combine them with other machine learning approaches, in particular Deep Learning, and develop new highly parallel Monte Carlo and Deep Learning approaches that use real data and simulation for more realistic large scale crowd simulation.
The students is expected to take the existing code and implement a Monte Carlo Deep Learning algorithm for crowd simulation. It is expected to test it on an NVIDIA P100 GPU based cluster.
Project Mentor: Vassil Alexandrov
Site Co-ordinator: Maria Ribera Sancho
The student will learn to design parallel hybrid Monte Carlo and Deep Learning methods.
The student will learn how to implement these methods on modern computer architectures with latest NVIDIA P100 GPU accelerators as well as how to design and develop mixed MPI/OmpSs/CUDA code.
Student Prerequisites (compulsory):
Knowledge of parallel algorithm design, CUDA and MPI.
Student Prerequisites (desirable):
Some skills in being able to develop mixed code such MPI/OpenMP will be an advantage. Additional support of learning OmpSs would be provided if needed.
These can be tailored to the student once he/she is selected.
- Week 1/: Training week
- Week 2/: Literature Review Preliminary Report (Plan writing)
- Week 3 – 7/: Project Development
- Week8/: Final Report write-up
Final Product Description:
The final product will be a parallel application that can be executed on hybrid architectures with NVIDIA P100 GPU accelerators. We expect to make a movie to showcase the work. Ideally we would like to publish the results in a paper on a conference or a workshop.
Adapting the Project: Increasing the Difficulty:
The project is on the appropriate cognitive level, taking into account the timeframe and the need to submit final working product and 2 reports
The student will need access to a machine with NVIDIA P100 GPU accelerators, standard computing resources (laptop, internet connection) as well as, if needed, an account on Minotauro supercomputer.
Barcelona Supercomputing Centre