-
Notifications
You must be signed in to change notification settings - Fork 0
Monte Carlo Simulation
The Monte Carlo Simulation is a mathematical technique which is used to estimate the possible outcomes of an uncertain event. For this example, we will use the Monte Carlo technique to compute pi
Innately, the Monte Carlo calculation is one that repeats the same step many times, hereby making it a good candidate for parallelization. Furthermore, its an excellent prospect for establishing a portable CPU/GPU solution, as factors like:
- High memory requirements
- Random memory access patterns
- Divergent algorithms
create an interesting challenge when attempting to port to the GPU.
Per the nature of the problem, we can make use of multiple processors by implementing a SIMD (Single Instruction, Multiple Data) solution such that we
run copies of the program on different processors, and then add up the results at the end.
Wiki
Fundamental Concepts
- What is HPC?
- How Do Computers Solve Problems?
- Serial to Parallel speedup example
- Shared Memory Architecture
- Heterogenous Architectures
Getting Started with Kokkos