Monte Carlo Area Estimation


Monte-Carlo method is a broad class of algorithms that use repeated random sampling to obtain numeric results for problems that are difficult or impossible to solve using other means. Monte Carlo algorithms are embarrassingly parallel and generally compute bound. We implemented an area under the curve estimation problem that is a common use case of Monte Carlo simulation. We had to implement parallel reductions using MPI collectives and Pthread synchronizations to support this problem, but it has mainly been included in the application suite as the sole compute bound problem.


Multicore Monte Carlo Performance


Multicore Monte Carlo Strong Scaling


Segmented Monte Carlo Performance

Segmented Memory Monte Carlo Strong Scaling

Segmented Memory Monte Carlo Weak Scaling


Hybrid Monte Carlo Performance

Hybrid Monte Carlo Strong Scaling

Hybrid Monte Carlo Weak Scaling